From: Po Lu Date: Mon, 22 Nov 2021 01:40:47 +0000 (+0800) Subject: Also filter XI_KeyRelease events X-Git-Tag: emacs-29.0.90~2852^2~121 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4eb228bfac3cd384bc8b21cd0c46fc89b339b0ed;p=emacs.git Also filter XI_KeyRelease events * src/xterm.c (handle_one_xevent): Also filter XI_KeyRelease events through the X input method. --- diff --git a/src/xterm.c b/src/xterm.c index 7c2276f2e6c..9d052c412b4 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -10649,6 +10649,25 @@ handle_one_xevent (struct x_display_info *dpyinfo, } case XI_KeyRelease: x_display_set_last_user_time (dpyinfo, xev->time); +#ifdef HAVE_X_I18N + XKeyPressedEvent xkey; + + memset (&xkey, 0, sizeof xkey); + + xkey.type = KeyRelease; + xkey.serial = 0; + xkey.send_event = xev->send_event; + xkey.display = xev->display; + xkey.window = xev->event; + xkey.root = xev->root; + xkey.subwindow = xev->child; + xkey.time = xev->time; + xkey.state = xev->mods.effective; + xkey.keycode = xev->detail; + xkey.same_screen = True; + + x_filter_event (dpyinfo, (XEvent *) &xkey); +#endif goto XI_OTHER; case XI_PropertyEvent: case XI_HierarchyChanged: