Я записал, что простой сценарий в ударе для освещает Fn, ведомый, когда CapsLock нажимается, так как кнопка ограничений на моем t450 не имеет своего собственного ведомым. Так, я должен выполнить этот сценарий в нажатии ключа, поэтому я пытаюсь использовать xbindkeys
. В моем .xbindkeysrc
файл я первоначально записал:
# Fn led button as Capslock led "sleep 0.1 && sudo bash ~/.scipts/Caps_to_Fn_led.sh" Caps_Lock
Где Caps_to_Fn_led.sh
:
#!/bin/bash
state=$(xset -q | grep Caps | cut -c20-24)
if [ $state = "off" ]
then
modprobe -r ec_sys
modprobe ec_sys write_support=1
echo -n -e "\x06" | sudo dd of="/sys/kernel/debug/ec/ec0/io" bs=1 seek=12 count=1 conv=notrunc 2> /dev/null
modprobe -r ec_sys
else
modprobe -r ec_sys
modprobe ec_sys write_support=1
echo -n -e "\x86" | sudo dd of="/sys/kernel/debug/ec/ec0/io" bs=1 seek=12 count=1 conv=notrunc 2> /dev/null
modprobe -r ec_sys
fi
`
Это работает, если я использую другие кнопки (Esc, Возврат), но не с Caps_Loks. Это также странно это xbindkeys -k
ничего не делает, когда я нажимаю Capslock, поэтому возможно, проблема запускается здесь.. Я попробовал другие имена как 0x42
, lock
, 0xffe5 от xmodmap
, но ничто. Как я могу решить?
Я нашел причину почему xbindkeys
не не распознал CapsLock
ключ. Причина Thre состоит в том, что у меня была эта строка на моем i3 config
: bindsym --release Caps_Lock exec --no-startup-id <command>
это не позволило xbindkey
работать правильно. Я получил его после этого xbindkeys -n
показал мне:
*** Warning *** Please verify that there is not another program running which captures one of the keys captured by xbindkeys. It seems that there is a conflict, and xbindkeys can't grab all the keys defined in its configuration file.
Таким образом, после некоторого исследования я наконец нашел i3 строку.
Теперь ключ получен.