Added modifier flags to mouse events as a fix for sticky keys.

This commit is contained in:
jpmcmu 2015-04-22 19:33:25 -04:00
parent 1a05bed6da
commit 9978a85a4f
3 changed files with 42 additions and 1 deletions

View file

@ -189,7 +189,7 @@ OSXKeyState::OSXKeyState(IEventQueue* events) :
OSXKeyState::OSXKeyState(IEventQueue* events, synergy::KeyMap& keyMap) :
KeyState(events, keyMap)
{
init();
init();a
}
OSXKeyState::~OSXKeyState()
@ -390,6 +390,34 @@ OSXKeyState::fakeCtrlAltDel()
return false;
}
CGEventFlags
OSXKeyState::getModifierStateAsOSXFlags()
{
CGEventFlags modifiers = 0;
if (m_shiftPressed) {
modifiers |= kCGEventFlagMaskShift;
}
if (m_controlPressed) {
modifiers |= kCGEventFlagMaskControl;
}
if (m_altPressed) {
modifiers |= kCGEventFlagMaskAlternate;
}
if (m_superPressed) {
modifiers |= kCGEventFlagMaskCommand;
}
if (m_capsPressed) {
modifiers |= kCGEventFlagMaskAlphaShift;
}
return modifiers;
}
KeyModifierMask
OSXKeyState::pollActiveModifiers() const
{