From 5a262242a369f48b63db423011207d4e5a053757 Mon Sep 17 00:00:00 2001 From: Dorota Czaplejewicz Date: Tue, 26 Nov 2019 15:28:59 +0000 Subject: [PATCH] keymap: Work around sending keycode 0 If keycode 0 resolves to a letter, the the press is ignored by the compositor. This works around the bug. --- src/keyboard.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/keyboard.rs b/src/keyboard.rs index a0c5c8ab..0ae163e6 100644 --- a/src/keyboard.rs +++ b/src/keyboard.rs @@ -51,14 +51,16 @@ pub struct KeyState { pub action: Action, } -/// Generates a mapping where each key gets a keycode, starting from 8 +/// Generates a mapping where each key gets a keycode, starting from ~~8~~ +/// HACK: starting from 9, because 8 results in keycode 0, +/// which the compositor likes to discard pub fn generate_keycodes<'a, C: IntoIterator>( key_names: C ) -> HashMap { HashMap::from_iter( key_names.into_iter() .map(|name| String::from(name)) - .zip(8..) + .zip(9..) ) }