У меня есть небольшое приложение C для WIN32, в котором я работаю с _ 1_ структура. Эта структура содержит ВК-код для нажатой клавиши.
Я пытаюсь преобразовать это в ASCII-символ. Для этого я использую функцию MapVirtualKey
, что хорошо работает.
Проблема только в том, что один ВК-код может оставаться для нескольких символов. Пример:
На моей клавиатуре (швейцарско-немецкой) есть key-char .. Если я нажму Shift + ., тогда будет создан :
. ВК-код такой же. Это не проблема, и я также могу проверить, нажата ли Shift или активирована ли Caps Lock.
Моя единственная проблема: как мне получить символ ':'? Мне нужна такая функция:
GetKeyChar(vkCode, shift)
Мне это нужно, чтобы получить "нормальное" и "смещенное" значение клавиатуры. Конечно, я мог бы жестко это закодировать, но мне не нравится делать это таким образом.