mirror of
https://github.com/Relintai/sdl2_frt.git
synced 2024-12-20 22:16:49 +01:00
cocoa: Change Caps Lock behavior to toggle instead of locking
It currently behaves like a locking key which is pressed when Caps Lock is enabled and released when disabled. This means that apps that trigger events on Caps Lock key down will only fire these events every other time Caps Lock is pressed.
This commit is contained in:
parent
bdfd1b68ba
commit
77b0dad271
@ -912,11 +912,9 @@ SetWindowStyle(SDL_Window * window, NSUInteger style)
|
||||
keypresses; it won't toggle the mod state if you send a keyrelease. */
|
||||
const SDL_bool osenabled = ([theEvent modifierFlags] & NSEventModifierFlagCapsLock) ? SDL_TRUE : SDL_FALSE;
|
||||
const SDL_bool sdlenabled = (SDL_GetModState() & KMOD_CAPS) ? SDL_TRUE : SDL_FALSE;
|
||||
if (!osenabled && sdlenabled) {
|
||||
SDL_ToggleModState(KMOD_CAPS, SDL_FALSE);
|
||||
SDL_SendKeyboardKey(SDL_RELEASED, SDL_SCANCODE_CAPSLOCK);
|
||||
} else if (osenabled && !sdlenabled) {
|
||||
if (osenabled ^ sdlenabled) {
|
||||
SDL_SendKeyboardKey(SDL_PRESSED, SDL_SCANCODE_CAPSLOCK);
|
||||
SDL_SendKeyboardKey(SDL_RELEASED, SDL_SCANCODE_CAPSLOCK);
|
||||
}
|
||||
}
|
||||
- (void)keyDown:(NSEvent *)theEvent
|
||||
|
Loading…
Reference in New Issue
Block a user