Re-enable complete refresh of keyboard mapping

Since the performance of `xcb:keysyms:update-keyboard-mapping` is no longer an
problem, we allow every possible refresh of keyboard mapping again.
This commit is contained in:
Chris Feng 2015-08-27 11:13:22 +08:00
parent 5f9f673791
commit 7032ee7003

View file

@ -149,20 +149,13 @@ It's updated in several occasions, and only used by `exwm-input--set-focus'.")
((= request xcb:Mapping:Modifier) ((= request xcb:Mapping:Modifier)
;; Modifier keys changed ;; Modifier keys changed
(exwm--log "Update modifier mapping") (exwm--log "Update modifier mapping")
(xcb:keysyms:update-modifier-mapping exwm--connection) (xcb:keysyms:update-modifier-mapping exwm--connection))
)
((= request xcb:Mapping:Keyboard) ((= request xcb:Mapping:Keyboard)
;; Only update changed keys ;; Only update changed keys
(with-slots (min-keycode max-keycode)
(xcb:get-setup exwm--connection)
;; Since this operation is quite time-consuming, a complete refresh
;; is forbidden as it's unlikely to bring any useful information
(unless (and (= min-keycode first-keycode)
(= max-keycode (+ first-keycode count -1)))
(exwm--log "Update keyboard mapping: %d ~ %d" (exwm--log "Update keyboard mapping: %d ~ %d"
first-keycode (+ first-keycode count)) first-keycode (+ first-keycode count))
(xcb:keysyms:update-keyboard-mapping exwm--connection (xcb:keysyms:update-keyboard-mapping exwm--connection
first-keycode count)))))))) first-keycode count))))))
(defun exwm-input--on-ButtonPress (data synthetic) (defun exwm-input--on-ButtonPress (data synthetic)
"Handle ButtonPress event." "Handle ButtonPress event."