diff options
| author | Po Lu | 2021-11-22 09:40:47 +0800 |
|---|---|---|
| committer | Po Lu | 2021-11-22 09:40:47 +0800 |
| commit | 4eb228bfac3cd384bc8b21cd0c46fc89b339b0ed (patch) | |
| tree | b22ef772ab938c3f10221556fd929a476032a461 | |
| parent | a4ac6090986262f5a01c858a35bdcfb1787ded45 (diff) | |
| download | emacs-4eb228bfac3cd384bc8b21cd0c46fc89b339b0ed.tar.gz emacs-4eb228bfac3cd384bc8b21cd0c46fc89b339b0ed.zip | |
Also filter XI_KeyRelease events
* src/xterm.c (handle_one_xevent): Also filter XI_KeyRelease
events through the X input method.
| -rw-r--r-- | src/xterm.c | 19 |
1 files changed, 19 insertions, 0 deletions
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, | |||
| 10649 | } | 10649 | } |
| 10650 | case XI_KeyRelease: | 10650 | case XI_KeyRelease: |
| 10651 | x_display_set_last_user_time (dpyinfo, xev->time); | 10651 | x_display_set_last_user_time (dpyinfo, xev->time); |
| 10652 | #ifdef HAVE_X_I18N | ||
| 10653 | XKeyPressedEvent xkey; | ||
| 10654 | |||
| 10655 | memset (&xkey, 0, sizeof xkey); | ||
| 10656 | |||
| 10657 | xkey.type = KeyRelease; | ||
| 10658 | xkey.serial = 0; | ||
| 10659 | xkey.send_event = xev->send_event; | ||
| 10660 | xkey.display = xev->display; | ||
| 10661 | xkey.window = xev->event; | ||
| 10662 | xkey.root = xev->root; | ||
| 10663 | xkey.subwindow = xev->child; | ||
| 10664 | xkey.time = xev->time; | ||
| 10665 | xkey.state = xev->mods.effective; | ||
| 10666 | xkey.keycode = xev->detail; | ||
| 10667 | xkey.same_screen = True; | ||
| 10668 | |||
| 10669 | x_filter_event (dpyinfo, (XEvent *) &xkey); | ||
| 10670 | #endif | ||
| 10652 | goto XI_OTHER; | 10671 | goto XI_OTHER; |
| 10653 | case XI_PropertyEvent: | 10672 | case XI_PropertyEvent: |
| 10654 | case XI_HierarchyChanged: | 10673 | case XI_HierarchyChanged: |