keyboard: use fallback layout if failing to load

This commit is contained in:
galister
2024-06-09 09:53:46 +09:00
parent 4abfa3c3ac
commit 59c0bc870c
3 changed files with 58 additions and 27 deletions

View File

@@ -10,6 +10,11 @@ pub fn get_keymap_x11() -> anyhow::Result<XkbKeymap> {
let (conn, _) = xcb::Connection::connect(None)?;
let device_id = get_core_keyboard_device_id(&conn);
if device_id == -1 {
return Err(anyhow::anyhow!(
"get_core_keyboard_device_id returned -1. Check your XKB installation."
));
}
let keymap = keymap_new_from_device(&context, &conn, device_id, xkb::KEYMAP_COMPILE_NO_FLAGS);
Ok(XkbKeymap { context, keymap })