永久禁用键盘

永久禁用键盘

我的键盘坏了,有些按键被卡住了。它不能轻易修复或移除。

我曾经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。键盘重新连接的情况很少见(每天少于一次)。

相关内容