| 813 | } |
| 814 | |
| 815 | void OSXKeyState::handleModifierKeys(void *target, KeyModifierMask oldMask, KeyModifierMask newMask) |
| 816 | { |
| 817 | // compute changed modifiers |
| 818 | KeyModifierMask changed = (oldMask ^ newMask); |
| 819 | |
| 820 | // synthesize changed modifier keys |
| 821 | if ((changed & KeyModifierShift) != 0) { |
| 822 | handleModifierKey(target, s_shiftVK, kKeyShift_L, (newMask & KeyModifierShift) != 0, newMask); |
| 823 | } |
| 824 | if ((changed & KeyModifierControl) != 0) { |
| 825 | handleModifierKey(target, s_controlVK, kKeyControl_L, (newMask & KeyModifierControl) != 0, newMask); |
| 826 | } |
| 827 | if ((changed & KeyModifierAlt) != 0) { |
| 828 | handleModifierKey(target, s_altVK, kKeyAlt_L, (newMask & KeyModifierAlt) != 0, newMask); |
| 829 | } |
| 830 | if ((changed & KeyModifierSuper) != 0) { |
| 831 | handleModifierKey(target, s_superVK, kKeySuper_L, (newMask & KeyModifierSuper) != 0, newMask); |
| 832 | } |
| 833 | if ((changed & KeyModifierCapsLock) != 0) { |
| 834 | handleModifierKey(target, s_capsLockVK, kKeyCapsLock, (newMask & KeyModifierCapsLock) != 0, newMask); |
| 835 | } |
| 836 | if ((changed & KeyModifierNumLock) != 0) { |
| 837 | handleModifierKey(target, s_numLockVK, kKeyNumLock, (newMask & KeyModifierNumLock) != 0, newMask); |
| 838 | } |
| 839 | } |
| 840 | |
| 841 | void OSXKeyState::handleModifierKey(void *target, uint32_t virtualKey, KeyID id, bool down, KeyModifierMask newMask) |
| 842 | { |
nothing calls this directly
no outgoing calls
no test coverage detected