HDD एलईडी (या कस्टम) संकेतक के रूप में कैप्स लॉक एलईडी का उपयोग करें


23

मैंने अपनी Caps Lockकुंजी को फिर से भेज दिया है Esc, इसलिए अब मेरे कीबोर्ड पर एक एलईडी है जो कभी चालू नहीं होती है। मैं इसे कुछ उपयोगी के लिए उपयोग करना चाहूंगा, जैसे HDD या LAN गतिविधि।

खासतौर पर यह कि मैं एक कस्टम बॉक्स और हीटसिंक के साथ एक कंप्यूटर का उपयोग कर रहा हूं (मेरे ड्रॉअर में बनाया गया है ताकि मुझे एचडीडी को सुनना न पड़े और यह ज्यादा जगह न ले सके), और एलईडी अन्यथा दिखाई नहीं देते हैं।

यदि कीबोर्ड के एल ई डी को नियंत्रित करने के लिए एक पुस्तकालय है, तो मैं स्वयं कुछ कोडिंग कर सकता हूं, अगर इसके लिए पहले से कोई समाधान नहीं है।

मैं Gentoo ~ amd64 पर हूं।

संपादित करें: ठीक है, HDD एलईडी के बारे में भूल जाओ। यह सिर्फ एक उदाहरण था।

मैं चाहता हूं कि Caps Lockजब मेरा जन्मदिन हो तो एलईडी लाइट लग जाए। या जब मेरे पास ईमेल हो। या जब मैं कहता हूं " Caps Lockएलईडी, कृपया प्रकाश करो!"।

मैं बिल्कुल एक अतिरिक्त तार का उपयोग नहीं करना चाहता हूं। वास्तव में, यह अच्छा होगा यदि यह वायरलेस कीबोर्ड पर भी काम करेगा।


4
मुझे यह विचार पसंद है! उम्मीद है कि कोई विंडोज के लिए भी जवाब दे सकता है?
18

1
आप अपने प्रश्न के लिए HDD एलईडी आवश्यकता को संपादित कर सकते हैं। समाधान के रूप में तेजी से झपकी नहीं हो सकता है के रूप में सामान्य hdd नेतृत्व किया, लेकिन यह मेरे कीबोर्ड पर काफी अच्छी तरह से काम करता है। और यह काफी उपयोगी है, क्योंकि मैं अपने hdd leds को नहीं देख सकता।
15

जवाबों:


18

वीटी कंसोल पर एलईडी संकेतक को बदलने के लिए आप इसका उपयोग कर सकते हैं setleds। इसलिए यदि आप वीटी में हैं तो आप बस टाइप कर सकते हैं

setleds

और आपको अपनी वर्तमान एलईडी स्थिति मिल जाएगी। यदि आप नंबरों को सक्षम नहीं करना चाहते हैं, तो इसे हल्का करें आप टाइप कर सकते हैं:

setleds -L +num 

यह एक्स में मुश्किल आता है और यह इसे आज़माने का सबसे सरल तरीका है। कृपया ध्यान दें कि X को आमतौर पर रूट के रूप में चलाया जाता है, इसलिए आपको या तो X-windows tty पर अनुमतियों की जांच करनी होगी या इसे रूट विशेषाधिकारों के साथ चलाना होगा। आमतौर पर X tty7 है। /dev/consoleसिस्टम कंसोल होने से काम करना चाहिए और इससे सभी वीटी प्रभावित होने चाहिए।

sudo su -c 'setleds -L +num < /dev/tty7'

मुझे लगता है कि यह भी काम करेगा:

sudo su -c 'setleds -L +num < /dev/console'

यहां प्रकाश विकल्पों की सूची दी गई है

 [{+|-}num] [{+|-}caps] [{+|-}scroll]

यदि आपके पास setledsसिस्टम नहीं है , तो मेरा अनुमान है कि आप इसे इस उभरे हुए पैकेज से प्राप्त कर सकते हैं sys-apps/kbd

यदि आप उस व्यक्ति के अधिक हैं, जो एक्स में एलईड्स को बदलने के लिए उदाहरण कोड के लिंक को लिंक करना पसंद करता है । मैंने यह परीक्षण नहीं किया है, लेकिन सिर्फ कोड देखकर ठीक लगा।

और यहाँ एक शेल स्क्रिप्ट है जिसे आप मूल रूप से चाहते थे। एचडीडी संकेतक के रूप में कैप या अन्य एलईड होना।

#!/bin/bash

# Check interval seconds
CHECKINTERVAL=0.1

# console
CONSOLE=/dev/console

#indicator to use [caps, num, scroll]
INDICATOR=caps

getVmstat() {
  cat /proc/vmstat|egrep "pgpgin|pgpgout"  
}
#turn led on
function led_on()
{
    setleds -L +${INDICATOR} < ${CONSOLE}
}
#turn led off
function led_off()
{
    setleds -L -${INDICATOR} < ${CONSOLE}
}
# initialise variables
NEW=$(getVmstat)
OLD=$(getVmstat)
## 
while [ 1 ] ; do
  sleep $CHECKINTERVAL # slowdown a bit
  # get status 
  NEW=$(getVmstat)
  #compare state
  if [ "$NEW" = "$OLD" ]; then  
    led_off ## no change, led off
  else
    led_on  ## change, led on
  fi
  OLD=$NEW  
done

1
इस अच्छे उत्तर के लिए धन्यवाद, यह समाधान मेरे लिए पूरी तरह से काम करता है, और एक अच्छा उदाहरण है कि मुझे आसानी से जो कुछ भी मेरी आवश्यकता है उसे बदल सकता हूं। पहले से ही sys-apps/kbdस्थापित है, इसलिए इसने बॉक्स से बाहर काम किया। आप मेरे द्वारा दिए गए सभी इनाम के हकदार हो सकते हैं :)
एटिला ओ।

5

ई-मेल प्राप्त होने और ईमेल की संख्या कहने पर Gmail - पलक झपकते हैं

#!/bin/bash
echo "Checking for new email";
mails="$(wget --secure-protocol=TLSv1 --timeout=3 -t 1 -q -O - \
   https://name1:password1@mail.google.com/mail/feed/atom \
   --no-check-certificate | grep 'fullcount' \
   | sed -e 's/.*<fullcount>//;s/<\/fullcount>.*//' 2>/dev/null)"

echo $mails;

#blink LEDs
if [ "$mails" -gt "0" ];
then
    blink -s -r 5;
fi

#speak announcements

if [ "$mails" -gt "0" ];
then
    espeak "$mails new emails in main account.";
fi

sleep 4;
blink;

exit

1
कहां मिल सकता है blink?
मनेव

1
ब्लिंकड - ऐसा लगता है कि डेबियन लोगों ने इसे रेपोस
जेट

4

आप एक पुराने मामले के नेतृत्व में एक एचडीडी को हटा सकते हैं, तारों का विस्तार कर सकते हैं और तारों को कीबोर्ड के तार से लपेट सकते हैं, मामले में शाखा, और मेनबोर्ड पर एचडीडी एलईडी जम्पर में सीधे प्लग कर सकते हैं। कीबोर्ड खोलें और कैप्स-एलईडी के बगल में एचडीडी एलईडी को गर्म करें।

सॉफ्टवेयर मुफ्त और बदसूरत? चेक।


पूरी तरह से बुरा विचार नहीं है, लेकिन 1. मैं बस कीबोर्ड का उपयोग कर सकता है, मुझे नहीं लगता कि मुझे एक पुराने मामले से दूसरे नेतृत्व की आवश्यकता है, और 2. मैं चाहता हूं कि मेरे कीबोर्ड को जोड़ने वाला केवल एक यूएसबी केबल हो। या बेहतर अभी तक - वायरलेस कीबोर्ड सोचो।
अत्तिला ओ।

4
#turn on
xset led named "Scroll Lock"

#turn off
xset -led named "Scroll Lock

के साथ भी काम करता है Caps Lock, आदि।


1
यह केवल मेरे लिए स्क्रॉल लॉक के लिए काम करता है।
लिलडज्वग

3

यह एक पुस्तकालय के साथ हल करने के लिए एक सॉफ्टवेयर समस्या नहीं है।

कीबोर्ड एल ई डी को सॉफ्टवेयर द्वारा नियंत्रित किया जाता है - विशेष रूप से कीबोर्ड डिवाइस ड्राइवर द्वारा कीबोर्ड माइक्रोप्रोसेसर को भेजे जाने वाले कमांड को I / O नियंत्रण अनुरोधों के जवाब में, एलईड को चालू और बंद करने के लिए भेजा जाता है।

हार्ड फ्रंट एक्टिविटी लाइट्स आपके फ्रंट पैनल पर हार्डवेयर द्वारा नियंत्रित होती हैं। वे मेनबोर्ड से जुड़े हैं, और - एक लंबी कहानी को काटने के लिए - पीसीआई-से-एटीवी ब्रिज चिप के आउटपुट तक वायर्ड। (ICH10 के लिए, उदाहरण के लिए, यह आउटपुट SATALED#आउटपुट है।) हार्डवेयर इस आउटपुट को चालू और बंद कर देता है क्योंकि SATA / PATA बस में कमांड भेजे जाते हैं। जो लोग SCSI के साथ जीवन को याद करते हैं, उन्हें याद होगा कि SCSI हार्ड डिस्क गतिविधि "हार्ड डिस्क" एलईडी को प्रभावित नहीं करती थी, क्योंकि यह ATA ब्रिज हार्डवेयर द्वारा संचालित है।

यह वास्तव में व्यावहारिक नहीं है - और इसके लिए अतिरिक्त सॉफ़्टवेयर और हार्डवेयर की काफी मात्रा की आवश्यकता होगी - SATALED#सिग्नल पर आउटपुट के लिए सॉफ़्टवेयर द्वारा प्राप्त हार्डवेयर अवरोधों का कारण बनता है, जो तब कीबोर्ड डिवाइस ड्राइवर द्वारा आदेशों को ट्रिगर करता है। यह एक काफी नोकदार डिजाइन है। लेकिन डिस्क डिवाइस ड्राइवर द्वारा उत्पन्न सभी डिस्क I / O कमांड होने के कारण, कीबोर्ड डिवाइस ड्राइवर के माध्यम से साइड ट्रिप, लगभग खराब है, हालांकि यह पूरी तरह से नए प्रकार के हार्डवेयर डिवाइस की आवश्यकता नहीं है जो "प्राप्त करता है" फ्रंट पैनल एलईडी चालू है! " बीच में आता है। इसके लिए दो अलग-अलग हार्डवेयर सबसिस्टम - डिस्क और कीबोर्ड की आवश्यकता होती है - लिंक करने के लिए, और उचित मात्रा में सिस्टम प्रोग्रामिंग। यह कीबोर्ड की गति के लिए प्रभावी रूप से सभी डिस्क I / O को भी सीमित करेगा।

यह एक हार्डवेयर समस्या है, बहुत सरलता से, एक लंबे तार के साथ।

यदि आपका फ्रंट पैनल दूर दराज में या किसी टेबल के नीचे छिपा हुआ है, और आप फ्रंट पैनल एल ई डी को देखना चाहते हैं, तो बस अपने खुद का एक अलग करने योग्य फ्रंट पैनल बनाएं और इसे लंबे तारों के साथ मेनबोर्ड से कनेक्ट करें। ईबे पर एक त्वरित जांच से पता चलता है कि कंप्यूटर घटक विक्रेता मौजूद हैं जो आपको कम से कम 1 मीटर तक अलग-अलग लंबाई के ऐसे फ्रंट पैनल केबलों (एलईडी और स्विच के साथ संलग्न) को बेचेंगे।


2
एचडीडी एलईडी केवल एक उदाहरण था। मुख्य विचार यह है कि मेरे कीबोर्ड पर अप्रयुक्त एलईडी है जिसे मैं नियंत्रित करना चाहता हूं। कृपया मेरे संपादन देखें।
अत्तिला ओ।

3

आप ऐसा कर सकते हैं AutoHotkey का उपयोग करना । चेक इस करता है, तो आप कोड आप उपयोग करने की आवश्यकता के बारे में सीखना चाहते धागा।

उस थ्रेड और AutoHotkey के डॉक्यूमेंटेशन को पढ़ने के बाद आप उन चीजों को कर सकते हैं।

साथ ही यह USB और वायरलेस कीबोर्ड के साथ भी काम करता है।

आप इसे वाइन के साथ जेंटू पर उपयोग कर सकते हैं।


2
जबकि मैं शराब के साथ ऑटोहॉट्की चलाने में सक्षम था, किसी कारण से यह मेरे एल ई डी को प्रकाश नहीं देता था (हालांकि कोई त्रुटि संदेश लॉग नहीं किया गया था)। इसके अलावा, भले ही यह काम करेगा, मिलिसेकंड के प्रत्येक जोड़े को वाइन के माध्यम से पाइप करना, या हर समय चलने वाली वाइन प्रक्रिया बहुत इष्टतम नहीं है, विशेष रूप से उपयोग किए जाने वाले अन्य समाधान की तुलना में setleds। फिर भी, यह विंडोज उपयोगकर्ताओं के लिए एक समाधान हो सकता है, इसलिए पोस्ट करने के लिए धन्यवाद।
अत्तिला ओ।

2

लिनक्स 4.7 के बाद से:

# echo ide-disk > /sys/class/leds/input17::capslock/trigger

यह CONFIG_LEDS_TRIGGER_DISK=yकर्नेल विन्यास में आवश्यक है।


यह अब तक का सबसे सुरुचिपूर्ण उत्तर है और मुझे उम्मीद है कि यह शीर्ष पर पहुंच जाएगा!
खसखस

यह वास्तव में अच्छी तरह से काम करता है, लेकिन नकारात्मक पक्ष यह है कि यह कीबोर्ड को अनप्लग और प्लग करने पर काम करना बंद कर सकता है।
स्पेशलबॉम्ब


0

मैंने एक बार अपने डेल एक्सपीएस 15 पर कैप्सलॉक एलईडी को नियंत्रित करने के लिए एक छोटा सी कार्यक्रम लिखा था । यह केवल एक सिस्टम पर परीक्षण किया जाता है, इसलिए मैं गारंटी नहीं दे सकता कि यह आपके लिए काम करेगा। शायद आपको इसे अनुकूलित करना होगा, लेकिन यह बहुत सीधे होना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.