Я купил мультимедийную клавиатуру (DIGITECH XC-4943). У него нет руководства, а некоторые ключи не имеют маркировки. Есть ли утилита (или некоторый код Delphi), которую я могу использовать для отображения сообщений, которые отправляет каждый ключ?

1 ответ1

0

У вас есть разные варианты в зависимости от используемой вами ОС.

Во-первых, вы должны знать несколько терминов:scancode - это самый низкий идентификационный номер ключа. Если у ключа нет скан-кода, мы ничего не можем сделать, потому что это означает, что ядро его не видит. keycode - это второй уровень идентификации ключа, код ключа соответствует функции. symbol - это третий уровень идентификации ключа, это способ, которым Xorg обращается к ключам.

Как пользователь Linux, вы можете использовать команду showkey в терминале TTY для проверки кодов клавиш. Не используйте это под эмулятором терминала на Xorg. Если вы хотите использовать эмулятор терминала, используйте команду xev из xorg-xev .

Если вы не видите код клавиши на своем экране при нажатии клавиши, вы должны попытаться найти его коды сканирования и назначить им код клавиши.

Нажмите клавишу на терминале TTY и затем выполните:

$ dmesg|tail -5

Если вы видите что-то похожее на это:

atkbd.c: Unknown key pressed (translated set 2, code 0xf1 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e071 <keycode>' to make it known.

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

РЕДАКТИРОВАТЬ: Дайте мне знать, если вы хотите больше информации о том, как сделать все это из Xorg. Или для получения дополнительной информации о создании и назначении специальных ключей.

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