В настоящее время я разрабатываю очень маленькую и специальную HID-клавиатуру с микроконтроллером Atmega. Самая большая проблема у меня заключается в том, что код ключа очень специфичен для локали, которая в данный момент установлена на хост-компьютере.
Все обычные символы, такие как a-z, работают очень хорошо, но некоторые специальные символы дают плохие результаты при нажатии клавиши.
Например, клавиша +
, которая 0xE1
& 0x2E
(LeftShift & KeyboardEqualSign), работает только на клавиатуре США. Но я использую немецкий макет, поэтому вместо него я получаю ß
.
Как теперь я могу получить правильные коды клавиш для немецкой раскладки? Я не могу найти какой-либо документ, описывающий такие клавиши ... Я думаю, что коды HID действительно плохи и предназначены для поддержки нескольких раскладок клавиатуры: (
Нужно ли мне искать мои ключи на немецком макете, какими они были бы у нас? Так что для знака +
это, вероятно, ключ ]
? Но почему, черт возьми, это такой глупый дизайн? Для этого есть какая-нибудь обертка?