擅长:python、mysql、java
<p>这可以通过使用xinput的shell脚本轻松完成:</p>
<pre><code> #!/bin/sh
do_it() {
# need error checking there. We should also restrict which device gets
# deactivated, by checking other properties.
keyboard_ids="$(xinput list | sed -rn 's/.*id=([0-9]+).*slave\s+keyboard.*/\1/p')"
for keyboard_id in $keyboard_ids; do
# 121 is "Device Active".
# use xinput watch-props $device_id to see some properties.
xinput set-int-prop $keyboard_id 121 8 $1;
done;
}
# you maybe don't want to exit in case of failure there.
do_it 0 ; sleep 5; do_it 1
</code></pre>
<p>这个逻辑在Python中很容易重写。如果安装xinput有问题,那么最好获取xinput的源代码,并尝试使用pythonxlib这样的库在Python中重新实现它。在</p>