]> git.eshelyaron.com Git - emacs.git/commitdiff
Add workaround for super modifier misconfiguration to non-XKB code
authorPo Lu <luangruo@yahoo.com>
Wed, 26 Jan 2022 12:35:04 +0000 (20:35 +0800)
committerPo Lu <luangruo@yahoo.com>
Wed, 26 Jan 2022 12:36:35 +0000 (20:36 +0800)
* src/xterm.c (x_find_modifier_meanings): Don't let a modifier
be both Hyper and Super.

src/xterm.c

index b2cdbe6a0f035076e48c408bacaaffdb10f8083e..1684048ea4c9c7b930f21877f3857c02d35f6e14 100644 (file)
@@ -5694,6 +5694,12 @@ x_find_modifier_meanings (struct x_display_info *dpyinfo)
       dpyinfo->alt_mod_mask &= ~dpyinfo->meta_mod_mask;
     }
 
+  /* If some keys are both super and hyper, make them just super.
+     Many X servers are misconfigured so that super and hyper are both
+     Mod4, but most users have no hyper key.  */
+  if (dpyinfo->hyper_mod_mask & dpyinfo->super_mod_mask)
+    dpyinfo->hyper_mod_mask &= ~dpyinfo->super_mod_mask;
+
   XFree (syms);
   XFreeModifiermap (mods);
 }