diff --git a/drivers/inputd/src/main.rs b/drivers/inputd/src/main.rs index 4629d5e064..7a986bd566 100644 --- a/drivers/inputd/src/main.rs +++ b/drivers/inputd/src/main.rs @@ -661,12 +661,17 @@ fn main() { } // Activates a keymap. "-K" => { - let vt = args - .next() - .unwrap() - .to_ascii_lowercase() - .parse::() - .expect("inputd: unrecognized keymap code (see: inputd --keymaps)"); + let arg = if let Some(a) = args.next() { + a + } else { + eprintln!("Error: Option -K requires a layout argument."); + std::process::exit(1); + }; + + let vt: KeymapKind = arg.to_ascii_lowercase().parse().unwrap_or_else(|_| { + eprintln!("inputd: unrecognized keymap code (see: inputd --keymaps)"); + std::process::exit(1); + }); let mut handle = inputd::ControlHandle::new().expect("inputd: failed to open control handle");