Составляете массив (таблицу) соответствий скан-кодов и символов. По массиву осуществляете поиск нужного скан-кода. Технически решение достаточно простое. Сложность лишь в том, чтобы скрупулезно составить такой массив, ничего не пропустив. Требуется внимательно обработать все таблицы по приведенной ссылке.
Со своей стороны я не понимаю, зачем это нужно. Обычно решается обратная задача: по скан-коду определить код символа. А вот зачем переводить символ в скан-код, не могу даже представить.
Если универсального способа нет, то я, конечно, не буду этого делать, хотя бы потому что символы могут быть какие-угодно, это я для примера привёл рус. и англ. буквы.
Задаю во входных параметрах символы, при нажатии клавиши которых обрабатывается событие в OnChartEvent. В настоящее время использую TranslateKey, чтобы получить символ с нажатой клавиши, и сравниваю с символами в инпуте. Чтобы клавиша срабатывала при любой раскладке, в инпуте задаю символы на обоих раскладках, напр. "S Ы".
Я думал, что возможно сделать наоборот, из символов в инпуте получить код клавиши, и уже в OnChartEvent следить только за значением lparam.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Если нажимать на клавиатуре 1 кнопку с буквами "S s Ы ы", lparam в OnChartEvent будет давать значение 83 независимо от языка и регистра.
Если использовать StringGetCharacter, он будет давать различные значения для каждого символа:
Результат:
Видно, что 83 только у S.
Возможно как-нибудь для каждого символа на кнопке получить значение кода клавиши этого символа (не в OnChartEvent), т.е. в данном случае для каждого из символов "S s Ы ы" получить 83?