@@ -438,7 +438,7 @@ int Wayland_WaitEventTimeout(SDL_VideoDevice *_this, Sint64 timeoutNS)
438
438
// If key repeat is active, we'll need to cap our maximum wait time to handle repeats
439
439
wl_list_for_each (seat , & d -> seat_list , link ) {
440
440
if (keyboard_repeat_is_set (& seat -> keyboard .repeat )) {
441
- if (seat -> keyboard .sdl_keymap != SDL_GetCurrentKeymap ()) {
441
+ if (seat -> keyboard .sdl_keymap != SDL_GetCurrentKeymap (true )) {
442
442
SDL_SetKeymap (seat -> keyboard .sdl_keymap , true);
443
443
SDL_SetModState (seat -> keyboard .pressed_modifiers | seat -> keyboard .locked_modifiers );
444
444
}
@@ -477,7 +477,7 @@ int Wayland_WaitEventTimeout(SDL_VideoDevice *_this, Sint64 timeoutNS)
477
477
// If key repeat is active, we might have woken up to generate a key event
478
478
if (key_repeat_active ) {
479
479
wl_list_for_each (seat , & d -> seat_list , link ) {
480
- if (seat -> keyboard .sdl_keymap != SDL_GetCurrentKeymap ()) {
480
+ if (seat -> keyboard .sdl_keymap != SDL_GetCurrentKeymap (true )) {
481
481
SDL_SetKeymap (seat -> keyboard .sdl_keymap , true);
482
482
SDL_SetModState (seat -> keyboard .pressed_modifiers | seat -> keyboard .locked_modifiers );
483
483
}
@@ -548,7 +548,7 @@ void Wayland_PumpEvents(SDL_VideoDevice *_this)
548
548
549
549
wl_list_for_each (seat , & d -> seat_list , link ) {
550
550
if (keyboard_repeat_is_set (& seat -> keyboard .repeat )) {
551
- if (seat -> keyboard .sdl_keymap != SDL_GetCurrentKeymap ()) {
551
+ if (seat -> keyboard .sdl_keymap != SDL_GetCurrentKeymap (true )) {
552
552
SDL_SetKeymap (seat -> keyboard .sdl_keymap , true);
553
553
SDL_SetModState (seat -> keyboard .pressed_modifiers | seat -> keyboard .locked_modifiers );
554
554
}
@@ -1820,7 +1820,7 @@ static void keyboard_handle_enter(void *data, struct wl_keyboard *keyboard,
1820
1820
Uint64 timestamp = SDL_GetTicksNS ();
1821
1821
window -> last_focus_event_time_ns = timestamp ;
1822
1822
1823
- if (SDL_GetCurrentKeymap () != seat -> keyboard .sdl_keymap ) {
1823
+ if (SDL_GetCurrentKeymap (true ) != seat -> keyboard .sdl_keymap ) {
1824
1824
SDL_SetKeymap (seat -> keyboard .sdl_keymap , true);
1825
1825
}
1826
1826
@@ -1970,7 +1970,7 @@ static void keyboard_handle_key(void *data, struct wl_keyboard *keyboard,
1970
1970
1971
1971
Wayland_UpdateImplicitGrabSerial (seat , serial );
1972
1972
1973
- if (seat -> keyboard .sdl_keymap != SDL_GetCurrentKeymap ()) {
1973
+ if (seat -> keyboard .sdl_keymap != SDL_GetCurrentKeymap (true )) {
1974
1974
SDL_SetKeymap (seat -> keyboard .sdl_keymap , true);
1975
1975
SDL_SetModState (seat -> keyboard .pressed_modifiers | seat -> keyboard .locked_modifiers );
1976
1976
}
@@ -2131,7 +2131,7 @@ static void Wayland_SeatDestroyKeyboard(SDL_WaylandSeat *seat, bool send_event)
2131
2131
SDL_RemoveKeyboard (seat -> keyboard .sdl_id , send_event );
2132
2132
2133
2133
if (seat -> keyboard .sdl_keymap ) {
2134
- if (seat -> keyboard .sdl_keymap == SDL_GetCurrentKeymap ()) {
2134
+ if (seat -> keyboard .sdl_keymap == SDL_GetCurrentKeymap (true )) {
2135
2135
SDL_SetKeymap (NULL , false);
2136
2136
}
2137
2137
SDL_DestroyKeymap (seat -> keyboard .sdl_keymap );
0 commit comments