Быстрый и грязный способ отключения клавиатуры может заключаться в использовании evtest, чтобы захватить его. После этого события доставляются в тестовую программу и больше не проходят через графический сервер.
$ sudo evtest --grab /dev/input/event4 >/dev/null
Вы должны оставить эту программу все время.
Более трудным способом отключения устройства является добавление для него правила udev, которые устанавливают ID_INPUT в пустые, так что libinput будет игнорировать его. Я не пробовал следующее, поэтому используйте его как руководство для исследования, а не окончательное решение.
Сначала перечислите информацию udev для устройства событий, которое является клавиатурой, например:
[ f2]Теперь вам нужно найти то, что однозначно идентифицирует ваше устройство. Обычно это идентификатор поставщика и идентификатор продукта (как в ID_SERIAL выше). Префикс E: означает, что эта переменная задана в среде udev, поэтому в правиле udev вы должны сказать, что хотите сопоставить ENV{ID_SERIAL}=="05f3_0007".
Однако для вашего ноутбука вам, вероятно, придется найти что-то еще, чтобы соответствовать. Вы можете искать выше дерево устройств, чтобы найти родителя с атрибутом, который легче сопоставить:
$ udevadm info -a /dev/input/event4
...
looking at parent device '/devices/pci0000:00/.../input/input4':
KERNELS=="input4"
SUBSYSTEMS=="input"
ATTRS{name}=="HID 05f3:0007"
...
Итак, вместо правила udev, совпадающего с ID_SERIAL, вы можете сопоставлять ATTRS{name}=="HID 05f3:0007" вместо. В вашем случае я ожидал бы что-то вроде ATTRS{name}=="AT Translated Set 2 keyboard".
После того, как вы нашли подходящее совпадение, создайте свой собственный файл /etc/udev/rules.d/99-my.rules (начните с 99, чтобы сделать свое правило последним) с вашим правилом переопределения для сброса значение ID_INPUT должно быть пустым. Строго придерживайтесь формата этого файла. Обратите внимание, что все условия сравниваются с ==, кроме последнего, который является назначением с одним =.
ACTION=="add|change", ENV{ID_SERIAL}=="05f3_0007", ENV{ID_INPUT}=""
или, более вероятно, для вас:
ACTION=="add|change", ATTRS{name}=="AT Translated Set 2 keyboard", ENV{ID_INPUT}=""
[d11 ] Обычно изменение файла должно быть замечено автоматически udev, но если не делать sudo udevadm control --reload. Затем вы можете попытаться вызвать изменение устройства: $ sudo udevadm trigger --action=change /dev/input/event4
Я не уверен, как это работает для фиксированного устройства, как обычно для USB-устройств, вы можете просто отключить его и снова подключить к нему , поэтому вам может потребоваться перезагрузка.
Вы можете контролировать, что udev делает с udevadm monitor.
Я думаю, что вы должны увидеть руководство вашей материнской платы и включить / выключить что-то в BIOS. Это моя догадка. Я предпочитаю процессоры Intel, но правда в том, что тип процессора не должен влиять на эффективность в том, как вы описали.
Вы пробовали новую конфигурацию с другой ОС?