bool wxGetKeyState (wxKeyCode key) { wxASSERT_MSG(key != WXK_LBUTTON && key != WXK_RBUTTON && key != WXK_MBUTTON, wxT("can't use wxGetKeyState() for mouse buttons")); CGKeyCode cgcode = wxCharCodeWXToOSX((wxKeyCode)key); return CGEventSourceKeyState(kCGEventSourceStateCombinedSessionState, cgcode); }
bool wxUIActionSimulator::DoKey(int keycode, int WXUNUSED(modifiers), bool isDown) { CGKeyCode cgcode = wxCharCodeWXToOSX((wxKeyCode)keycode); wxCFRef<CGEventRef> event(CGEventCreateKeyboardEvent(NULL, cgcode, isDown)); if ( !event ) return false; CGEventPost(kCGHIDEventTap, event); return true; }
bool wxUIActionSimulator::DoKey(int keycode, int WXUNUSED(modifiers), bool isDown) { CGKeyCode cgcode = wxCharCodeWXToOSX((wxKeyCode)keycode); wxCFRef<CGEventRef> event(CGEventCreateKeyboardEvent(NULL, cgcode, isDown)); if ( !event ) return false; CGEventPost(kCGHIDEventTap, event); wxCFEventLoop* loop = dynamic_cast<wxCFEventLoop*>(wxEventLoop::GetActive()); if (loop) loop->SetShouldWaitForEvent(true); return true; }