summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-04-11 09:16:22 +0800
committerPo Lu <luangruo@yahoo.com>2022-04-11 09:16:22 +0800
commitbdd7cd0d2ee006e95b10ef12151a5ff1bb4f8abd (patch)
treef2123c34bd5e45a46ec5ad0a75d2842bb0d5ff1f
parent48cb9c4aaadfe7bd50c13f658a6e8e9e97587867 (diff)
downloademacs-bdd7cd0d2ee006e95b10ef12151a5ff1bb4f8abd.tar.gz
* src/xterm.c (handle_one_event): Make event attribution more accurate.
-rw-r--r--src/xterm.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 88122416e27..94cfe63ba0c 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -14818,7 +14818,12 @@ handle_one_xevent (struct x_display_info *dpyinfo,
Qcoding, coding, inev.ie.arg);
#ifdef HAVE_XINPUT2
- if (event->xkey.time == pending_keystroke_time)
+ if (event->xkey.time == pending_keystroke_time
+ /* I-Bus sometimes sends events generated from
+ multiple filtered keystrokes with a time of 0,
+ so just use the recorded source device if it
+ exists. */
+ || (pending_keystroke_time && !event->xkey.time))
{
source = xi_device_from_id (dpyinfo,
dpyinfo->pending_keystroke_source);