Вопрос по objective-c, macos, unicode – Как смоделировать «нажатие клавиши» Unicode Char в Mac Os X с помощью Objective-C?

5

Я хочу смоделировать символ Unicode в Mac OS X для отправки в приложение Foreground. Я имею в виду, что у меня есть символ Unicode (может содержать арабский, китайский и т. Д.), Например & apos; a '; и я хочу ввести это. Обратите внимание, что я не пытаюсь использовать виртуальные ключи или коды клавиш. Только персонаж.

Искренне Ваш, Пейман Мортазави

возможна повторная публикацияNSEvent.KeyDown is only working on the Search Box (in Mac OS X) Josh Caswell

Ваш Ответ

1   ответ
6

Я нашел очень хороший подход, но проблема все еще существует. посмотрите на код, тогда я напишу, какая проблема в данный момент.

    CGEventRef downEvt = CGEventCreateKeyboardEvent( NULL, 0, true );
CGEventRef upEvt = CGEventCreateKeyboardEvent( NULL, 0, false );
UniChar oneChar = 'h';
CGEventKeyboardSetUnicodeString( downEvt, 1, &oneChar );
CGEventKeyboardSetUnicodeString( upEvt, 1, &oneChar );
CGEventPost( kCGAnnotatedSessionEventTap, downEvt );
CGEventPost( kCGAnnotatedSessionEventTap, upEvt );

Проблема в том, что это событие ограничено некоторыми сеансами, такими как окно поиска, и это потому, чтоkCGAnnotatedSessionEventTap если мы изменим его наkCGSessionEventTap тогда он будет работать только в окне поиска. Не можете ли вы помочь мне объединить их, чтобы применить это событие к каждому сеансу.

С Уважением, Пейман Мортазави

Похожие вопросы