emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 1158c880e2: Try to make sure an XKB desc is always available


From: Po Lu
Subject: master 1158c880e2: Try to make sure an XKB desc is always available
Date: Fri, 14 Jan 2022 01:58:48 -0500 (EST)

branch: master
commit 1158c880e25db99e82945ab4af539a55ea18386f
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Try to make sure an XKB desc is always available
    
    * src/xterm.c (handle_one_xevent): Re-retrieve XKB map if it's
    unavailable for some reason upon handling an XKB map or keyboard
    notify event.
---
 src/xterm.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/xterm.c b/src/xterm.c
index ff93e210a1..3a9f5c9ef9 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -11461,6 +11461,20 @@ handle_one_xevent (struct x_display_info *dpyinfo,
 
                  x_find_modifier_meanings (dpyinfo);
                }
+             else
+               {
+                 dpyinfo->xkb_desc = XkbGetMap (dpyinfo->display,
+                                                (XkbKeySymsMask
+                                                 | XkbKeyTypesMask
+                                                 | XkbModifierMapMask
+                                                 | XkbVirtualModsMask),
+                                                XkbUseCoreKbd);
+
+                 if (dpyinfo->xkb_desc)
+                   XkbGetNames (dpyinfo->display,
+                                XkbGroupNamesMask | XkbVirtualModNamesMask,
+                                dpyinfo->xkb_desc);
+               }
 
              XkbRefreshKeyboardMapping (&xkbevent->map);
            }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]