mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-10-20 16:51:43 +00:00
cocoa: Resync modifier keypressed on NSEventTypeFlagsChanged event.
Fixes #7507.
(cherry picked from commit 70b65d4170
)
This commit is contained in:
@@ -437,9 +437,19 @@ void Cocoa_HandleKeyEvent(_THIS, NSEvent *event)
|
|||||||
case NSEventTypeKeyUp:
|
case NSEventTypeKeyUp:
|
||||||
SDL_SendKeyboardKey(SDL_RELEASED, code);
|
SDL_SendKeyboardKey(SDL_RELEASED, code);
|
||||||
break;
|
break;
|
||||||
case NSEventTypeFlagsChanged:
|
case NSEventTypeFlagsChanged: {
|
||||||
HandleModifiers(_this, code, (unsigned int)[event modifierFlags]);
|
// see if the new modifierFlags mean any existing keys should be pressed/released...
|
||||||
|
const unsigned int modflags = (unsigned int)[event modifierFlags];
|
||||||
|
HandleModifiers(_this, SDL_SCANCODE_LSHIFT, modflags);
|
||||||
|
HandleModifiers(_this, SDL_SCANCODE_LCTRL, modflags);
|
||||||
|
HandleModifiers(_this, SDL_SCANCODE_LALT, modflags);
|
||||||
|
HandleModifiers(_this, SDL_SCANCODE_LGUI, modflags);
|
||||||
|
HandleModifiers(_this, SDL_SCANCODE_RSHIFT, modflags);
|
||||||
|
HandleModifiers(_this, SDL_SCANCODE_RCTRL, modflags);
|
||||||
|
HandleModifiers(_this, SDL_SCANCODE_RALT, modflags);
|
||||||
|
HandleModifiers(_this, SDL_SCANCODE_RGUI, modflags);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
default: /* just to avoid compiler warnings */
|
default: /* just to avoid compiler warnings */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user