предотвратить CGEventCreateKeyboardEvent уже нажатые клавиши-модификаторы - PullRequest
1 голос
/ 30 июля 2010

Я использую CGEventCreateKeyboardEvent для создания и CGEventPost для публикации события на Mac. Следующий код прекрасно работает для нажатия клавиши «а».

CGEventRef downEvent = CGEventCreateKeyboardEvent(NULL, 0, YES);
CGEventPost(kCGHIDEventTap, downEvent);
CFRelease(downEvent);

Проблема заключается в том, что у пользователя может быть нажата клавиша-модификатор. Например, когда пользователь уже нажал клавишу «Command» во время отправки событий клавиатуры, Command + a будет отправлено активному приложению вместо только символа a.

Есть ли способ обойти это? Могу ли я прямо сказать, что хочу опубликовать символ, игнорируя любые (модифицирующие) клавиши, которые, возможно, уже были нажаты.

1 Ответ

1 голос
/ 30 июля 2010

Вы пытались установить флаги события на 0?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...