Коды клавиш xinput не совпадают с таблицей xmodmap

Коды клавиш xinput не совпадают с таблицей xmodmap

Есть ли таблица, сопоставляющая коды клавиш из команды 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, поэтому конкретные примеры, где ваши не совпадают, могли бы помочь.

Связанный контент