私は持っています Caps Lock 再マッピングされたキー Esc、これでキーボードのLEDがオンにならないようになりました。 HDDやLANのアクティビティなど、何か便利なものに使用したいと思います。
特に、カスタムボックスとヒートシンクを備えたコンピューターを使用している(引き出しに組み込まれているため、HDDを聞く必要がなく、場所をとらない)ため、LEDは見えません。
キーボードのLEDを制御するためのライブラリがある場合、これに対する解決策がない場合は、自分でコーディングを行うことができます。
Gentoo〜AMD64にいます。
編集: OK、HDD LEDを忘れます。ほんの一例です。
欲しい Caps Lock 誕生日になるとLEDが点灯します。または私が電子メールを持っているとき。または私が言うときCaps Lock LED、点灯してください!」.
余計なワイヤーを使いたくありません。実際、これがワイヤレスキーボードでも機能するのは素晴らしいことです。
VTconsoleのledインジケーターを変更するには、setleds
を使用できます。したがって、VTにいる場合は、次のように入力できます。
setleds
現在のLEDステータスを取得します。 numlockを有効にしたくない場合は、次のように入力して点灯させます。
setleds -L +num
[〜#〜] x [〜#〜]の方が扱いが難しく、これが「最も簡単な」方法です。 Xは通常rootとして実行されるため、X-windows ttyの権限を確認するか、root権限で実行する必要があることに注意してください。通常、Xはtty7です。 /dev/console
はシステムコンソールとして機能し、それによってすべてのVTが影響を受けるはずです。
Sudo su -c 'setleds -L +num < /dev/tty7'
これもうまくいくと思います:
Sudo su -c 'setleds -L +num < /dev/console'
ここにライトオプションのリストがあります
[{+|-}num] [{+|-}caps] [{+|-}scroll]
システムにsetleds
がない場合、このemergeパッケージから入手できると思いますsys-apps/kbd
。
あなたがものをコード化するのが好きな人なら、ここに例へのリンクがあります Xのledsを変更するコード 。私はこれをテストしませんでしたが、コードを見るだけで大丈夫に見えました。
そして、あなたがもともと欲しかったことをするためのシェルスクリプトがあります。キャップまたはその他のLEDをHDDインジケータとして使用する。
#!/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
gmailを確認-メールを受信するとLEDが点滅し、メールの数が表示されます
#!/bin/bash
echo "Checking for new email";
mails="$(wget --secure-protocol=TLSv1 --timeout=3 -t 1 -q -O - \
https://name1:[email protected]/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
#turn on
xset led named "Scroll Lock"
#turn off
xset -led named "Scroll Lock
Caps Lock
などでも使用できます。
古いケースからHDD LEDを取り外し、ワイヤーを延長し、ワイヤーをキーボードワイヤーにタイラップし、ケースで分岐し、メインボードのHDD LEDジャンパーに直接差し込みます。キーボードを開き、capslock LEDの横にあるHDD LEDをホットグルーします。
ソフトウェアは無料で醜いですか?小切手。
AutoHotkey を使用してそれを行うことができます。使用する必要があるコードについて知りたい場合は this threadを確認してください。
そのスレッドとAutoHotkeyのドキュメントを読んだ後、これらのことを実行できます。
また、USBキーボードやワイヤレスキーボードでも動作します。
GentooのWineで使用できます。
キーボードのLEDは、ソフトウェアによって制御されます。特に、キーボードデバイスドライバーがコマンドを生成して、I/O制御要求に応答してLEDをオン/オフにするキーボードマイクロプロセッサに送信されるコマンドです。
フロントパネルのハードディスクアクティビティライトは、ハードウェアによって制御されます。それらはメインボードに接続されており、—長い話を短くするために— PCI-to-ATAブリッジチップの出力に配線されています。 (たとえば、ICH10の場合、この出力はSATALED#
出力です。)コマンドがSATA/PATAバスを介して送信されると、ハードウェアがこの出力をオンまたはオフにします。 SCSIの使用を覚えている人は、SCSIハードディスクの動作がATAブリッジハードウェアによって駆動されるため、「ハードディスク」LEDに影響を与えなかったことを覚えています。
SATALED#
信号の出力がソフトウェアによって受信されるハードウェア割り込みを引き起こし、それがキーボードデバイスドライバーによってコマンドをトリガーするためには、実際的ではなく、かなりの量の追加のソフトウェアとハードウェアが必要になります。それはかなりナックルヘッドのデザインです。しかし、ディスクデバイスドライバーによって生成されたすべてのディスクI/Oコマンドにキーボードデバイスドライバーを介してサイドトリップを行わせるという逆のアプローチは、「前面パネルのLEDが点灯しています。」割り込み。リンクするには、2つの異なるハードウェアサブシステム(ディスクとキーボード)と、かなりの量のシステムプログラミングが必要です。また、すべてのディスクI/Oをキーボードの速度に効果的に制限します。
フロントパネルが引き出しやテーブルの下に隠れており、フロントパネルのLEDを確認したい場合は、取り外し可能な独自のフロントパネルを作成し、より長いワイヤでメインボードに接続します。 eBayをすばやく確認すると、最長1メートルまでのさまざまな長さのフロントパネルケーブル(LEDとスイッチが接続されている)を販売するコンピューターコンポーネントベンダーが存在することがわかります。
Linux 4.7以降:
# echo ide-disk > /sys/class/leds/input17::capslock/trigger
カーネル構成にCONFIG_LEDS_TRIGGER_DISK=y
が必要です。
http://members.optusnet.com.au/foonly/whirlpool/code/hddled.c
これでHDD LEDがScroll Lockになります。 CAPS LOCKの変更は単純でなければなりません。
Dell XPS15に CapsLock LEDを制御する小さなCプログラム を書いたことがあります。 1つのシステムでのみテストされているため、動作するかどうかは保証できません。多分あなたはそれを適応させなければならないでしょうが、それはかなり簡単なはずです。