2008-11-02 1 views
1

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

+0

Ugh, потому что он был отмечен как wiki сообщества, и я тот, кто отредактировал его, чтобы быть последовательным, теперь похоже, что я был тем, кто задал вопрос. Это нехорошо ... – Domenic 2008-11-02 14:06:09

ответ

0

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

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

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

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

1

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

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

Смежные вопросы