我已将Caps Lock按键重新映射到Esc,因此键盘上的 LED 灯现在一直亮着。我想用它做一些有用的事情,比如硬盘或 LAN 活动。
特别是我正在使用带有定制盒子和散热器的计算机(内置在我的抽屉里,所以我不必听 HDD,而且它也不会占用太多空间),否则 LED 是不可见的。
如果有一个用于控制键盘 LED 的库,我可以自己做一些编码,如果还没有解决方案的话。
我在 Gentoo ~amd64 上。
编辑:好吧,忘掉 HDD LED 吧。这只是一个例子。
我希望Caps LockLED 在我生日时亮起。或者当我收到电子邮件时。或者当我说“ Caps LockLED,请亮起!”时。
我绝对不想使用额外的电线。事实上,如果这也能用于无线键盘就太好了。
答案1
好吧,改变 VT 上的 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 中 led 的代码。我没有测试这个,但是仅通过查看代码看起来没问题。
这里有一个 shell 脚本,可以实现你最初想要的功能。使用电容或其他 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
答案2
检查 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
答案3
#turn on
xset led named "Scroll Lock"
#turn off
xset -led named "Scroll Lock
也适用于Caps Lock
等。