Сопоставление символа Unicode с кодом клавиши в Rust с помощью Core Foundation

У меня есть представление ключа в Юникоде, например «a», «!», «ä» или «€», и я хочу узнать, какой ключевой код (последовательность) используется для создания этого символа. Результирующий код виртуальной клавиши будет передан CGEventCreateKeyboardEvent для имитации событий клавиатуры.

Решение должно быть независимым от раскладки клавиатуры, например отправка «A» должна работать с любой раскладкой клавиатуры (например, Dvorak).

Решение, вероятно, потребует использования чего-то вроде TISCopyCurrentKeyboardInputSource, но, похоже, это устарело (и мне тоже не удалось заставить его работать).

Я использую Rust и ящик core_graphics. Добавление ящиков не проблема. Это решение Objective-C можно было бы приспособить.

Разве iOS не поддерживает другой API для отправки символов Юникода? Например, в Windows вы должны отправить WM_CHAR / WM_UNICHAR вместо WM_KEYDOWN / WM_KEYUP в этом сценарии. CGEventKeyboardSetUnicodeString выглядит вероятным кандидатом.

CodesInChaos 10.03.2018 17:24
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
206
0

Другие вопросы по теме