diff options
author | Po Lu <luangruo@yahoo.com> | 2022-04-12 21:15:05 +0800 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2022-04-12 21:30:25 +0800 |
commit | 1b20c4eaa2e5befc4c500637332c3bc1b719cf47 (patch) | |
tree | 10199b40811fe923609ee812712c818863754d97 | |
parent | 4a108df0ebb68e9ea1073d53c14d8f897e43f21c (diff) | |
download | emacs-1b20c4eaa2e5befc4c500637332c3bc1b719cf47.tar.gz |
Fix detection of Meta key in some cases
* src/xterm.c (x_find_modifier_meanings): Set found_meta_p
correctly.
-rw-r--r-- | src/xterm.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/xterm.c b/src/xterm.c index 12707fc9a20..e922ab8fbb2 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -9883,6 +9883,7 @@ x_find_modifier_meanings (struct x_display_info *dpyinfo) #ifdef HAVE_XKB int i; int found_meta_p = false; + uint vmodmask; #endif dpyinfo->meta_mod_mask = 0; @@ -9897,12 +9898,14 @@ x_find_modifier_meanings (struct x_display_info *dpyinfo) { for (i = 0; i < XkbNumVirtualMods; i++) { - uint vmodmask = dpyinfo->xkb_desc->server->vmods[i]; + vmodmask = dpyinfo->xkb_desc->server->vmods[i]; if (dpyinfo->xkb_desc->names->vmods[i] == dpyinfo->Xatom_Meta) { dpyinfo->meta_mod_mask |= vmodmask; - found_meta_p = vmodmask; + + if (vmodmask) + found_meta_p = true; } else if (dpyinfo->xkb_desc->names->vmods[i] == dpyinfo->Xatom_Alt) dpyinfo->alt_mod_mask |= vmodmask; |