Использование прерывания клавиатуры для отображения чего-то отличного от того, что набрал пользователь - PullRequest
1 голос
/ 02 ноября 2008

На языке C, используя прерывание клавиатуры, как я могу отобразить альтернативную клавишу, введенную пользователем? Например, когда я нажимаю «Q» на клавиатуре, на экране должно отображаться «A».

Ответы [ 2 ]

1 голос
/ 02 ноября 2008

Обработка прерываний клавиатуры не очень хорошая идея на любой платформе. Как насчет USB-клавиатур, нет прерываний, которые вы можете поймать?

Для ОС Windows вы, вероятно, захотите написать драйвер фильтра, вы можете найти это воспроизведение частично релевантным. Образец драйвера фильтра клавиатуры можно найти здесь .
Для Linux вам, вероятно, нужно установить исправление драйвера уровня HID. Mac полностью исключен из моей жизни :)

0 голосов
/ 02 ноября 2008

Нам нужно немного больше информации о вашей среде.

Насколько я понимаю Ваш вопрос, Вы хотите заменить обработчик прерываний клавиатуры с вашим таким образом:

  • Сохранить адрес ввода оригинального обработчика клавиатуры.
  • Установите свой собственный, который вызывает оригинал и манипулирует значением кода ключа.

Однако в большинстве современных операционных систем гораздо проще определить и установить новую раскладку клавиатуры.

...