From 9c268510cf4ce02e46d3884215a4d016914d35f0 Mon Sep 17 00:00:00 2001
From: Po Lu <luangruo@yahoo.com>
Date: Tue, 28 Jun 2022 09:42:40 +0800
Subject: [PATCH] Fix handling "C-S-u" and such when using XKB

* src/xterm.c (handle_one_xevent): Don't rely on XKB for
consumed modifiers.
---
 src/xterm.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/src/xterm.c b/src/xterm.c
index 3a642972586..d7c3bfa7aff 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -17635,7 +17635,6 @@ handle_one_xevent (struct x_display_info *dpyinfo,
 					    &consumed, &keysym))
 		    goto done_keysym;
 
-		  modifiers &= ~consumed;
 		  overflow = 0;
 
 		  nbytes = XkbTranslateKeySym (dpyinfo->display, &keysym,
@@ -20791,10 +20790,6 @@ handle_one_xevent (struct x_display_info *dpyinfo,
 		}
 #endif
 
-#ifdef HAVE_XKB
-	      mods_rtrn = 0;
-#endif
-
 	      x_display_set_last_user_time (dpyinfo, xev->time,
 					    xev->send_event);
 	      ignore_next_mouse_click_timeout = 0;
@@ -21029,12 +21024,7 @@ handle_one_xevent (struct x_display_info *dpyinfo,
 			}
 		    }
 
-#ifndef HAVE_XKB
 		  inev.ie.modifiers = x_x_to_emacs_modifiers (dpyinfo, state);
-#else
-		  inev.ie.modifiers = x_x_to_emacs_modifiers (dpyinfo,
-							      state & ~mods_rtrn);
-#endif
 
 #ifdef XK_F1
 		  if (x_dnd_in_progress && keysym == XK_F1)
-- 
2.39.5