|
@@ -988,11 +988,8 @@ void X11_HandleKeyEvent(SDL_VideoDevice *_this, SDL_WindowData *windowdata, SDL_
|
|
|
}
|
|
|
|
|
|
if (pressed) {
|
|
|
- // Duplicate events may be sent when an IME is active; don't send multiple keydown events for the same serial.
|
|
|
- if (videodata->last_key_down_serial != xevent->xkey.serial) {
|
|
|
- X11_HandleModifierKeys(videodata, scancode, true, true);
|
|
|
- SDL_SendKeyboardKeyIgnoreModifiers(timestamp, keyboardID, keycode, scancode, true);
|
|
|
- }
|
|
|
+ X11_HandleModifierKeys(videodata, scancode, true, true);
|
|
|
+ SDL_SendKeyboardKeyIgnoreModifiers(timestamp, keyboardID, keycode, scancode, true);
|
|
|
|
|
|
// Synthesize a text event if the IME didn't consume a printable character
|
|
|
if (*text && !(SDL_GetModState() & (SDL_KMOD_CTRL | SDL_KMOD_ALT))) {
|
|
@@ -1002,7 +999,6 @@ void X11_HandleKeyEvent(SDL_VideoDevice *_this, SDL_WindowData *windowdata, SDL_
|
|
|
}
|
|
|
|
|
|
X11_UpdateUserTime(windowdata, xevent->xkey.time);
|
|
|
- videodata->last_key_down_serial = xevent->xkey.serial;
|
|
|
} else {
|
|
|
if (X11_KeyRepeat(display, xevent)) {
|
|
|
// We're about to get a repeated key down, ignore the key up
|