Есть ли таблица, сопоставляющая коды клавиш из команды xinput test-xi2 --root 3
с символами клавиш?
Я пробовал xmodmap -pke
то, что нашел в ArchWiki, но они не соответствуют. Как X вообще взаимодействует с клавиатурой? Можете ли вы указать мне на какие-нибудь ресурсы, которые объясняют, как X обрабатывает ввод с клавиатуры?
решение1
Очень краткий обзор:
В зависимости от оборудования, ключевые события проходят через различные слои ядра и попадают в слой «входа». Для USB-клавиатуры слои следующие:
"USB events" --> "HID events" --> "Input events".
События ввода уровня ядра доступны на /dev/input/eventX
(с обычными символическими ссылками для конкретного устройства). Вы можете использовать, evtest
чтобы посмотреть.
Драйвер X evdev
обрабатывает эти события.
В X есть два разных механизма отображения, один xkbd
(который довольно сложен, см.Ненадежное руководство по настройке XKB), и тот, которым вы можете управлять с помощью xmodmap
.
Если вы используете xev
, вы должны увидеть сопоставления, которыми вы можете управлять с помощью xmodmap
.
XInput (версии 1 и 2) также являются более поздними дополнениями, и я не знаю, на каком уровне xinput test-xi2
они работают. В моей системе они, похоже, соответствуют кодам клавиш, которые я вижу в xev
, поэтому конкретные примеры, где ваши не совпадают, могли бы помочь.