[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/xelb c1d4e31: Handle missing modifier keys when convert
From: |
Chris Feng |
Subject: |
[elpa] externals/xelb c1d4e31: Handle missing modifier keys when converting event to keysym |
Date: |
Thu, 29 Oct 2015 04:24:15 +0000 |
branch: externals/xelb
commit c1d4e31abc7b9d1f8ff84231d285d73b39c5e0f3
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>
Handle missing modifier keys when converting event to keysym
* xcb-keysyms.el (xcb:keysyms:event->keysym): Return nil when any modifier
key in the event is not present.
---
xcb-keysyms.el | 32 +++++++++++++++++---------------
1 files changed, 17 insertions(+), 15 deletions(-)
diff --git a/xcb-keysyms.el b/xcb-keysyms.el
index f849bad..3b59238 100644
--- a/xcb-keysyms.el
+++ b/xcb-keysyms.el
@@ -363,21 +363,23 @@ This function returns nil when it fails to convert an
event."
(when (<= #x100 event #x10ffff) ;Unicode
(setq keysym (+ #x1000000 event)))))
(when keysym
- `(,keysym
- ;; state for KeyPress event
- ,(apply #'logior
- (mapcar (lambda (i)
- (pcase i
- (`meta xcb:keysyms:meta-mask)
- (`control xcb:keysyms:control-mask)
- (`shift xcb:keysyms:shift-mask)
- (`hyper xcb:keysyms:hyper-mask)
- (`super xcb:keysyms:super-mask)
- (`alt xcb:keysyms:alt-mask)
- (`down 0)
- ;; FIXME: more?
- (_ 0)))
- modifiers))))))
+ (setq modifiers
+ (mapcar (lambda (i)
+ (pcase i
+ (`meta xcb:keysyms:meta-mask)
+ (`control xcb:keysyms:control-mask)
+ (`shift xcb:keysyms:shift-mask)
+ (`hyper xcb:keysyms:hyper-mask)
+ (`super xcb:keysyms:super-mask)
+ (`alt xcb:keysyms:alt-mask)
+ (`down 0)
+ ;; FIXME: more?
+ (_ 0)))
+ modifiers))
+ (unless (memq nil modifiers)
+ `(,keysym
+ ;; state for KeyPress event
+ ,(apply #'logior modifiers))))))
(defun xcb:keysyms:keysym->event (keysym &optional mask allow-modifiers)
"Translate X Keysym KEYSYM into Emacs key event.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/xelb c1d4e31: Handle missing modifier keys when converting event to keysym,
Chris Feng <=