У меня есть представление ключа в Юникоде, например «a», «!», «ä» или «€», и я хочу узнать, какой ключевой код (последовательность) используется для создания этого символа. Результирующий код виртуальной клавиши будет передан CGEventCreateKeyboardEvent для имитации событий клавиатуры.
Решение должно быть независимым от раскладки клавиатуры, например отправка «A» должна работать с любой раскладкой клавиатуры (например, Dvorak).
Решение, вероятно, потребует использования чего-то вроде TISCopyCurrentKeyboardInputSource, но, похоже, это устарело (и мне тоже не удалось заставить его работать).
Я использую Rust и ящик core_graphics. Добавление ящиков не проблема. Это решение Objective-C можно было бы приспособить.

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