branch: externals/xelb
commit 2d78724580849d91a9b5a2b45180b21117d3a315
Author: Chris Feng <chris.w.f...@gmail.com>
Commit: Chris Feng <chris.w.f...@gmail.com>

    Fix shift bit for converting from keysym to Emacs event
    
    Emacs only set shift bit for letters.
---
 xcb-keysyms.el |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/xcb-keysyms.el b/xcb-keysyms.el
index 5a118a4..87c8247 100644
--- a/xcb-keysyms.el
+++ b/xcb-keysyms.el
@@ -297,7 +297,9 @@ This function returns nil when it fails to convert an 
event."
           (push 'meta event))
         (when (/= 0 (logand mask xcb:keysyms:control-mask))
           (push 'control event))
-        (when (/= 0 (logand mask xcb:keysyms:shift-mask))
+        (when (and (/= 0 (logand mask xcb:keysyms:shift-mask))
+                   ;; Emacs only set shift bit for letters
+                   (<= ?A (car (last event))) (>= ?Z (car (last event))))
           (push 'shift event))
         (when (and xcb:keysyms:hyper-mask
                    (/= 0 (logand mask xcb:keysyms:hyper-mask)))

Reply via email to