Ubuntu: покажите, какие клавиши нажаты в режиме реального времени

Я ищу инструмент, который говорит, какие клавиши (включая Высокий звук, Сдвиг, Ctrl, и т.д.) нажаты теперь. Нужен он, чтобы сделать проверку состояния на возможно неисправной клавиатуре.

4
задан 21 December 2019 в 11:57

4 ответа

Существует веб-сайт https://www.keyboardtester.com / , который позволяет Вам видеть, какие клавиши Вы нажали, и он показывает раскладку клавиатуры. Кроме того, существует пакет, названный xkeycaps, который может использоваться. Перемещение мыши по ключу описывает keysyms и модификаторы это, что ключ генерирует

5
ответ дан 21 December 2019 в 23:29

Установка keymon. Это находится в репозитории Вселенной и выполняет его с помощью key-mon (не keymon!).

у человека keymon есть это:

Keymon - Клавиатура и окно монитора мыши для GTK.

Действительно читают man keymon для всех доступных опций.

необходимо также щелкнуть правой кнопкой по нему, чтобы проверить, что настройки подходят для Вас.

И если Вам не нравится местоположение по умолчанию, перетащите его к более подходящей позиции по Вашему экрану.

альтернатива screenkey, также в репозитории Вселенной. Функция screenkey - то, что это - интерфейс только, когда Вы вводите что-то, и исчезает после нескольких секунд, если клавиатура неактивна. Однако в отличие от keymon, screenkey не регистрирует щелчки мышью.

существует видео YouTube и на keymon и на screenkey. За видео на немецком языке, но все еще легко следовать.

4
ответ дан 21 December 2019 в 23:29

Протестировать возможно неисправную клавиатуру лучше идти максимально низкого уровня. Один из самых легких способов сделать это, не погружаясь в пространство ядра должно работать почти непосредственно с /dev/input/event* файлы устройств. А именно, можно использовать evtest для наблюдения всего ввода с клавиатуры. При выполнении его в захвате режима это позволит Вам прервать все — даже Волшебные комбинации SysRq (странно, даже SAK)!

Вот то, как я пошел бы об этом. Во-первых, получите список устройств ввода данных путем выполнения sudo evtest:

$ sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      Power Button
/dev/input/event1:      Power Button
/dev/input/event2:      PC Speaker
/dev/input/event3:      Video Bus
/dev/input/event4:      HDA Intel HDMI HDMI/DP,pcm=3
/dev/input/event5:      HDA Intel HDMI HDMI/DP,pcm=7
/dev/input/event6:      HDA Intel HDMI HDMI/DP,pcm=8
/dev/input/event7:      HDA Intel HDMI HDMI/DP,pcm=9
/dev/input/event8:      HDA Intel HDMI HDMI/DP,pcm=10
/dev/input/event9:      HDA Intel PCH Front Mic
/dev/input/event10:     HDA Intel PCH Rear Mic
/dev/input/event11:     HDA Intel PCH Line
/dev/input/event12:     HDA Intel PCH Line Out
/dev/input/event13:     HDA Intel PCH Front Headphone
/dev/input/event14:     HDA NVidia HDMI/DP,pcm=3
/dev/input/event15:     HDA NVidia HDMI/DP,pcm=7
/dev/input/event16:     HDA NVidia HDMI/DP,pcm=8
/dev/input/event17:     ImExPS/2 Generic Explorer Mouse
/dev/input/event18:     AT Translated Set 2 keyboard
Select the device event number [0-18]:

ничего еще не выбирают здесь: просто нажмите Ctrl + C . Это выполнение evtest было в простом режиме незахвата, который не позволит Вам прервать все. Но Вы теперь знаете файл устройств, в котором Вы нуждаетесь (в моем случае, данном выше, это /dev/input/event18).

Теперь можно на самом деле работать evtest в захвате режима, с помощью --grab опция, так, чтобы это прервало все события от keyboard— включая выпуск Возврат после представления команды оболочке, последующий Ctrl + C , Волшебство SysRq, ярлыки переключателя Вермонта и т.д. Чтобы постараться не быть заблокированными из системы, мы настроим тайм-аут для evtest.

sleep 1; sudo timeout -k5 10 evtest --grab /dev/input/event18

Эта команда делает следующее:

  • Waits 1, второй так, чтобы можно было выпустить Возврат , прежде чем, клавиатура захватывается (иначе, Вы доберетесь, автоповторы, быстро прокручивающие консоль)
  • , Запускается evtest в захвате режима на файле устройств моей клавиатуры (замените его Вашим).
  • evtest выполняется с тайм-аутом 10 секунд и дополнительным льготным периодом 5 секунд в (маловероятном) случае, который он подвешивает, после которого он уничтожается [1 112], надо надеяться, возвращая управление клавиатурой Вам.

ПРИМЕЧАНИЕ: если sudo просит, чтобы Вы для пароля на данном этапе, эти sleep 1 были потрачены впустую. Необходимо удостовериться, что sudo сразу выполнит команду (например, путем выполнения sudo true прежде, чем выполнить вышеупомянутую остроту).

Во время тайм-аута 10 секунд (который можно, конечно, изменить на что-то, что подходит Вам лучше) можно нажать что-либо на keyboard— в стороне, возможно, от Fn - управляемые ключи, которые могли бы работать в нестандартном way— и видеть то, что он вводит.

1
ответ дан 21 December 2019 в 23:29

xev также возможен. Просто запустите:

xev

Убедитесь, что выбрано маленькое открывающееся белое окно, и нажмите любую клавишу, чтобы увидеть его.

Чтобы ограничить довольно подробный вывод xev , чтобы отображались только клавиши, которые вы нажимаете, вы можете передать его вывод в awk :

xev | awk /keysym/'{sub(/\)\,/,"", $7); print $7}'

В любом случае, обратите внимание, что xev регистрирует два события для каждой клавиши, которую вы нажимаете, одно для нажатия клавиши, а другое для ее отпускания.

3
ответ дан 23 December 2019 в 08:15

Другие вопросы по тегам:

Похожие вопросы: