키보드가 고장 났고 일부 키가 붙어 있습니다. 쉽게 수리하거나 제거할 수 없습니다.
한 번은 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
. 키보드가 다시 연결되는 경우는 거의 없습니다(하루에 한 번 미만).