aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2023-08-10 18:14:11 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2023-08-10 18:14:11 +0400
commit91c7763aabf47217c6ec5587b0aae23fdaa6ecaa (patch)
tree514cba3426eadc35ffc31f8b18c9f2d080555d1d /src
parentdb3c030fdd137fdf27239e673ad215e96a280fb3 (diff)
downloadniri-91c7763aabf47217c6ec5587b0aae23fdaa6ecaa.tar.gz
niri-91c7763aabf47217c6ec5587b0aae23fdaa6ecaa.tar.bz2
niri-91c7763aabf47217c6ec5587b0aae23fdaa6ecaa.zip
Add hardcoded us,ru layout and Super+Space switch
Diffstat (limited to 'src')
-rw-r--r--src/input.rs2
-rw-r--r--src/niri.rs7
2 files changed, 8 insertions, 1 deletions
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<Self> = 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();