diff options
author | Chris Feng <chris.w.feng@gmail.com> | 2018-06-18T14·20+0800 |
---|---|---|
committer | Chris Feng <chris.w.feng@gmail.com> | 2018-06-18T14·33+0800 |
commit | 0680be104f9394e39dd55b5c4e33b9b7e4e77926 (patch) | |
tree | 5466c63beeb948b537487e1d116cc4c81619af98 /.elpaignore | |
parent | b75c89cae2a1c4c70044f885c44a95fd2f9950dd (diff) |
Grab & Replay key events with XI2 and XTEST
; A change has been made in Xorg server 1.20 that replaying a key ; event with keyboard grabbed would generate extra focus change and ; enter/leave events. This basically breaks line-mode for apps like ; Firefox. This commit reimplements the grab & replay functionality ; with XI2 and XTEST. * exwm-input.el (exwm-input--devices): New variable for caching slave keyboards. (exwm-input--update-devices): Update it and re-grab keys if necessary. (exwm-input--on-Hierarchy): Event listener for the Hierarchy event that would in turn call `exwm-input--update-devices' to update the cache. * exwm-input.el (exwm-input--on-KeyPress): Use XI2 KeyPress events. (exwm-input--on-KeyRelease): Event listener for the KeyRelease events. (exwm-input--grab-global-prefix-keys): Use XI2 and also select KeyRelease events. (exwm-input--on-KeyPress-line-mode): Use XI2 KeyPress events and replay key events with XTEST. (exwm-input--on-KeyPress-char-mode, exwm-input--grab-keyboard) (exwm-input--release-keyboard): Use XI2 KeyPress events. * exwm-input.el (exwm-input--init): Initialize the XI2 and XTEST extensions; add listeners for XI2 KeyPress, KeyRelease and Hierarchy events.
Diffstat (limited to '.elpaignore')
0 files changed, 0 insertions, 0 deletions