From 91c7763aabf47217c6ec5587b0aae23fdaa6ecaa Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Thu, 10 Aug 2023 18:14:11 +0400 Subject: Add hardcoded us,ru layout and Super+Space switch --- src/input.rs | 2 ++ src/niri.rs | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/input.rs b/src/input.rs index 6d8a6f2b..f3627618 100644 --- a/src/input.rs +++ b/src/input.rs @@ -41,6 +41,8 @@ impl Niri { time, |_, mods, keysym| { if event.state() == KeyState::Pressed { + // FIXME: these don't work in the Russian layout. I guess I'll need to + // find a US keymap, then map keys somehow. match keysym.modified_sym() { keysyms::KEY_E if mods.logo => { FilterResult::Intercept(InputAction::Quit) diff --git a/src/niri.rs b/src/niri.rs index 05310840..ac5cba43 100644 --- a/src/niri.rs +++ b/src/niri.rs @@ -81,7 +81,12 @@ impl Niri { let mut seat: Seat = seat_state.new_wl_seat(&display_handle, seat_name); // FIXME: get Xkb and repeat interval from GNOME dconf. - seat.add_keyboard(XkbConfig::default(), 400, 30).unwrap(); + let xkb = XkbConfig { + layout: "us,ru", + options: Some("grp:win_space_toggle".to_owned()), + ..Default::default() + }; + seat.add_keyboard(xkb, 400, 30).unwrap(); seat.add_pointer(); let space = Space::default(); -- cgit