我的键盘坏了,有些按键被卡住了。它不能轻易修复或移除。
我曾经xinput
禁用笔记本电脑的内置键盘,因为它有时会在未按下时发送按下的 Shift 键。
由于某种原因,键盘会随机重新启用。
我编写了这个脚本来禁用键盘,然后进行监视(并重新禁用它)。当我运行它时,它显示键盘重新启用。我还没有发现为什么会发生这种情况。
有谁知道如何永久禁用它?
我正在使用 Debian Jessie Gnu/Linux。
#!/bin/bash
function yoga-keyboard-disable () {
KeyboardToRemove="AT Translated Set 2 keyboard"
xinput list |
grep "$KeyboardToRemove" |
sed -r -e 's/.*id=([0-9]+).*/\1/' |
xargs xinput float
}
while true
do
date | tr -d '\n'
while (xinput | sed -nr -e 's/.*AT Translated Set 2 keyboard[[:blank:]]+id=[0-9]+[[:blank:]]\[floating slave]/ — OK/p') | grep "OK$"
do
sleep 5m
date | tr -d '\n'
done
echo
xinput
yoga-keyboard-disable
done
脚本的输出示例:
Mon 24 Sep 13:25:54 BST 2018 — OK
Mon 24 Sep 13:30:54 BST 2018 — OK
Mon 24 Sep 13:35:54 BST 2018 — OK
Mon 24 Sep 13:40:54 BST 2018 — OK
Mon 24 Sep 13:45:54 BST 2018
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Elan Touchpad id=15 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Ideapad extra buttons id=14 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=16 [slave keyboard (3)]
↳ Lenovo EasyCamera id=13 [slave keyboard (3)]
Mon 24 Sep 13:45:54 BST 2018 — OK
Mon 24 Sep 13:50:54 BST 2018 — OK
大多数输出都是以 结尾的行— OK
。键盘重新连接的情况很少见(每天少于一次)。