[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 697298e745: Make toggling native input methods via shift work aga
From: |
Po Lu |
Subject: |
master 697298e745: Make toggling native input methods via shift work again |
Date: |
Sun, 9 Jan 2022 22:32:08 -0500 (EST) |
branch: master
commit 697298e7451a5d60c8d89c4c3c931eb07c688c6a
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
Make toggling native input methods via shift work again
* src/xterm.c (handle_one_xevent): Start filtering XI key
release events again, but drop the event if the IM asked.
---
src/xterm.c | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/src/xterm.c b/src/xterm.c
index 5e4941a4ae..712792674f 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -11110,6 +11110,37 @@ handle_one_xevent (struct x_display_info *dpyinfo,
}
case XI_KeyRelease:
x_display_set_last_user_time (dpyinfo, xev->time);
+
+#if defined HAVE_X_I18N || defined USE_GTK
+ XKeyPressedEvent xkey;
+
+ memset (&xkey, 0, sizeof xkey);
+
+ xkey.type = KeyRelease;
+ xkey.serial = xev->serial;
+ 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 & ~(1 << 13 | 1 << 14))
+ | (xev->group.effective << 13));
+ xkey.keycode = xev->detail;
+ xkey.same_screen = True;
+
+#ifdef HAVE_X_I18N
+ if (x_filter_event (dpyinfo, (XEvent *) &xkey))
+ *finish = X_EVENT_DROP;
+#else
+ f = x_any_window_to_frame (xkey->event);
+
+ if (f &&
+ xg_filter_event (dpyinfo, event))
+ *finish = X_EVENT_DROP;
+#endif
+#endif
+
goto XI_OTHER;
case XI_PropertyEvent:
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 697298e745: Make toggling native input methods via shift work again,
Po Lu <=