0
我目前正在編寫一個應用程序,它模擬Mac OSX中的按鍵事件來控制ioquake3。我目前的做法是使用Quartz Event Services創建關鍵的新聞事件。這適用於例如文本編輯,但不與ioquake3。在Mac OSX中爲ioquake3模擬按鍵事件
CGKeyCode keyCode = 126; // 126 is the "up" key
CGEventRef event1 = CGEventCreateKeyboardEvent (NULL, keyCode, true);
CGEventPost(kCGSessionEventTap, event1);
// CGEventPost(kCGHIDEventTap, event1);
// CGEventPost(kCGAnnotatedSessionEventTap, event1);
CFRelease(event1);
CGEventRef event2 = CGEventCreateKeyboardEvent (NULL, keyCode, false);
CGEventPost(kCGSessionEventTap, event2);
// CGEventPost(kCGHIDEventTap, event2);
// CGEventPost(kCGAnnotatedSessionEventTap, event2);
CFRelease(event2);
我也嘗試使用下面的代碼來模擬按鍵在本post提到:
CGKeyCode keyCode = 126; // 126 is the "up" key
AXUIElementRef axSystemWideElement = AXUIElementCreateSystemWide();
AXUIElementPostKeyboardEvent(axSystemWideElement, 0, keyCode, true);
AXUIElementPostKeyboardEvent(axSystemWideElement, 0, keyCode, false);
是否有另一種方式來創建在Mac OSX上的按鍵事件,其被ioquake3認可?
非常感謝!我的問題也解決了。 – SevenDays 2012-01-10 13:43:30