From c4dd6eb61cb8316b007755c4f98e23300ee53320 Mon Sep 17 00:00:00 2001 From: jerry Date: Fri, 1 Aug 2014 10:35:16 +0000 Subject: [PATCH] sticky keys fix doesn't work, may make things worse - backed out [no-issue] --- src/lib/platform/OSXKeyState.cpp | 41 -------------------------------- src/lib/platform/OSXKeyState.h | 2 +- src/lib/platform/OSXScreen.cpp | 2 -- 3 files changed, 1 insertion(+), 44 deletions(-) diff --git a/src/lib/platform/OSXKeyState.cpp b/src/lib/platform/OSXKeyState.cpp index b86bb04b..7a8e42cd 100644 --- a/src/lib/platform/OSXKeyState.cpp +++ b/src/lib/platform/OSXKeyState.cpp @@ -458,47 +458,6 @@ COSXKeyState::pollPressedKeys(KeyButtonSet& pressedKeys) const } } -void -COSXKeyState::fixStickyKeys() -{ - KeyModifierMask synergyMask = getActiveModifiers(); - KeyModifierMask hardwareMask = pollActiveModifiers(); - if (synergyMask != hardwareMask) { - - // modifier key stuck - // compute changed modifiers - KeyModifierMask changed = (hardwareMask ^ synergyMask); - - if (changed) { - KeyButton kb; - CString keyFixed; - // synthesize changed modifier keys - if ((changed & KeyModifierShift) != 0) { - kb = mapVirtualKeyToKeyButton(s_shiftVK); - fakeKeyUp(kb); - keyFixed.append("shift "); - } - if ((changed & KeyModifierControl) != 0) { - kb = mapVirtualKeyToKeyButton(s_controlVK); - fakeKeyUp(kb); - keyFixed.append("ctrl "); - } - if ((changed & KeyModifierAlt) != 0) { - kb = mapVirtualKeyToKeyButton(s_altVK); - fakeKeyUp(kb); - keyFixed.append("alt "); - } - if ((changed & KeyModifierSuper) != 0) { - kb = mapVirtualKeyToKeyButton(s_superVK); - fakeKeyUp(kb); - keyFixed.append("cmd "); - } - - LOG((CLOG_DEBUG "fixed stuck modifier key: %s", keyFixed.c_str())); - } - } -} - void COSXKeyState::getKeyMap(CKeyMap& keyMap) { diff --git a/src/lib/platform/OSXKeyState.h b/src/lib/platform/OSXKeyState.h index 9030b373..fad80701 100644 --- a/src/lib/platform/OSXKeyState.h +++ b/src/lib/platform/OSXKeyState.h @@ -99,7 +99,7 @@ public: pollActiveModifiers() const; virtual SInt32 pollActiveGroup() const; virtual void pollPressedKeys(KeyButtonSet& pressedKeys) const; - void fixStickyKeys(); + protected: // CKeyState overrides virtual void getKeyMap(CKeyMap& keyMap); diff --git a/src/lib/platform/OSXScreen.cpp b/src/lib/platform/OSXScreen.cpp index 1484dc7e..cf58aaa2 100644 --- a/src/lib/platform/OSXScreen.cpp +++ b/src/lib/platform/OSXScreen.cpp @@ -527,8 +527,6 @@ COSXScreen::postMouseEvent(CGPoint& pos) const void COSXScreen::fakeMouseButton(ButtonID id, bool press) { - m_keyState->fixStickyKeys(); - NXEventHandle handle = NXOpenEventStatus(); double clickTime = NXClickTime(handle);