Существует ли инструмент, который указывает на уровне драйвера или ядра, какие клавиши на клавиатуре нажимаются в любой момент?

(Проблема: я подозреваю, что кнопка Print Screen на моей клавиатуре не работает. Я хочу подтвердить, что это аппаратная проблема. Также работает для диагностики клавиш F1-F12 или других функциональных клавиш.)

1 ответ1

0

Linux

Если у вас есть доступная система Linux (подойдет liveCD/USB), вы можете использовать инструменты для просмотра событий ключа evdev . Они после обработки ядра (не необработанные коды сканирования USB), но перед любой обработкой пространства пользователя.

Беспроводные устройства Microsoft должны работать.

  1. Установите пакет evemu или evemu-tools .
  2. В терминале запустите sudo evemu-record чтобы получить список распознанных устройств ввода.
  3. Введите номер устройства. (Также возможно указать путь /dev непосредственно на шаге 2.)
  4. Нажмите различные клавиши и смотрите события. (Мониторинг не является эксклюзивным, поэтому те же события будут продолжаться и до остальной части ОС - например, если вы нажмете PrintScr, он отобразится в evemu-record и сделает снимок экрана.)
  5. Убейте программу с помощью Ctrl+C.

В качестве альтернативы, чтобы увидеть "сырые сканкоды" (не совсем сырые, но достаточно близкие):

  1. Проверьте, есть ли у вас пакет kbd .
  2. Используйте Ctrl+Alt+F2 для доступа к простой консоли не X11. (Если вы не нашли его на F2, попробуйте F3, F4, F5 ...)
  3. Запустите showkey --scancodes .
  4. Нажмите несколько клавиш. Все будет перехвачено программой showkey. Вы увидите строку для каждого нажатия клавиши или выпуска, с переменным количеством кодов сканирования. (Я не знаю, прямо ли они с USB или переведены в эквиваленты AT / PS / 2.)
  5. Чтобы выйти, прекратите нажимать на вещи и подождите 10 секунд.

Windows

Ничего не нашел Большинство программ показывают обработанные коды клавиш.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .