Я пишу приложение, где мне нужно моделировать события нажатия клавиш на Mac, учитывая код, представляющий каждый ключ. Кажется, мне нужно использовать функцию CGEventCreateKeyboardEvent
для создания события. Проблема в том, что для этой функции требуется код ключа Mac, а у меня есть код, представляющий конкретный ключ. Так, например, я получаю:Моделирование событий нажатия клавиш в Mac OS X
KEY_CODE_SHIFT
или KEY_CODE_A
- это как числовые константы, определенные где-то.
Мне нужно взять эти константы и превратить их в значения CGKeyCode
.
В моей текущей попытке используется код, похожий на this SO question. Проблема в том, что она работает только для печатных символов. Если все остальное не удается, я не над жестким кодированием преобразования, но это будет означать, что мне нужна таблица возможных значений CGKeyCode, которые я еще не смог найти.
Любые идеи?
Итак, в этом примере, 'CGKeyCode'' 1' является кодом для S? Кроме того, будет ли это работать только для приложения переднего плана или если оно работает в фоновом режиме, будет ли оно работать на протяжении всего сеанса? Спасибо – joec
@joec да всем этим. –
Итак, скажем, мое приложение работало в фоновом режиме (как служба), и у меня был Photoshop спереди, я мог имитировать нажатие клавиши, и это было бы видно в Photoshop? Спасибо – joec