Revert "x11: Filter out duplicate key presses when an IME is active"

This reverts commit f4813ca2cf.

(cherry picked from commit 3304d24bea)
This commit is contained in:
Frank Praznik
2025-05-12 19:16:23 -04:00
committed by Sam Lantinga
parent ed22220bc6
commit 6feb86be71
2 changed files with 2 additions and 8 deletions

View File

@@ -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

View File

@@ -140,8 +140,6 @@ struct SDL_VideoData
int xinput_master_pointer_device;
bool xinput_hierarchy_changed;
unsigned long last_key_down_serial;
int xrandr_event_base;
struct
{