diff options
| author | Leon Henrik Plickat <leonhenrik.plickat@stud.uni-goettingen.de> | 2020-10-18 02:59:25 +0200 |
|---|---|---|
| committer | Isaac Freund <ifreund@ifreund.xyz> | 2020-10-18 16:36:11 +0200 |
| commit | 744e6b3052a44ba9478e40050dddd77db3cc7529 (patch) | |
| tree | 2fd5c67ff34ff9e9e7a374be74e887069c3cd231 | |
| parent | 4b4f7c464c82d90af6ae378d948bd1923ab50d58 (diff) | |
| download | river-744e6b3052a44ba9478e40050dddd77db3cc7529.tar.gz river-744e6b3052a44ba9478e40050dddd77db3cc7529.tar.xz | |
Remove checking translated keysyms
Raw keysyms are enough to handle all possible keybinds
| -rw-r--r-- | river/Keyboard.zig | 27 |
1 files changed, 3 insertions, 24 deletions
diff --git a/river/Keyboard.zig b/river/Keyboard.zig index 6044257..93b26e6 100644 --- a/river/Keyboard.zig +++ b/river/Keyboard.zig @@ -80,14 +80,6 @@ fn handleKey(listener: ?*c.wl_listener, data: ?*c_void) callconv(.C) void { // Translate libinput keycode -> xkbcommon const keycode = event.keycode + 8; - // Get a list of keysyms as xkb reports them - var translated_keysyms: ?[*]c.xkb_keysym_t = undefined; - const translated_keysyms_len = c.xkb_state_key_get_syms( - wlr_keyboard.xkb_state, - keycode, - &translated_keysyms, - ); - // Get a list of keysyms ignoring modifiers (e.g. 1 instead of !) // Important for mappings like Mod+Shift+1 var raw_keysyms: ?[*]c.xkb_keysym_t = undefined; @@ -106,29 +98,16 @@ fn handleKey(listener: ?*c.wl_listener, data: ?*c_void) callconv(.C) void { const released = event.state == .WLR_KEY_RELEASED; var i: usize = 0; - while (i < translated_keysyms_len) : (i += 1) { + while (i < raw_keysyms_len) : (i += 1) { // Handle builtin mapping only when keys are pressed - if (!released and self.handleBuiltinMapping(translated_keysyms.?[i])) { + if (!released and self.handleBuiltinMapping(raw_keysyms.?[i])) { handled = true; break; - } else if (self.seat.handleMapping(translated_keysyms.?[i], modifiers, released)) { + } else if (self.seat.handleMapping(raw_keysyms.?[i], modifiers, released)) { handled = true; break; } } - if (!handled) { - i = 0; - while (i < raw_keysyms_len) : (i += 1) { - // Handle builtin mapping only when keys are pressed - if (!released and self.handleBuiltinMapping(raw_keysyms.?[i])) { - handled = true; - break; - } else if (self.seat.handleMapping(raw_keysyms.?[i], modifiers, released)) { - handled = true; - break; - } - } - } if (!handled) { // Otherwise, we pass it along to the client. |
