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.
This commit is contained in:
Dorota Czaplejewicz
2019-11-26 15:28:59 +00:00
parent bb18e60754
commit 5a262242a3

View File

@ -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<Item=&'a str>>(
key_names: C
) -> HashMap<String, u32> {
HashMap::from_iter(
key_names.into_iter()
.map(|name| String::from(name))
.zip(8..)
.zip(9..)
)
}