diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-09-04 20:54:11 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-09-04 20:54:11 +0300 |
| commit | 5460c792bd4bde8f03e68446b6bb053501e368bb (patch) | |
| tree | d5793fce2af2fcfba419d0dcb3dc119820e013e0 /src/input | |
| parent | e5ecd27bbeb79f004bdadece9cdc5c29600ca709 (diff) | |
| download | niri-5460c792bd4bde8f03e68446b6bb053501e368bb.tar.gz niri-5460c792bd4bde8f03e68446b6bb053501e368bb.tar.bz2 niri-5460c792bd4bde8f03e68446b6bb053501e368bb.zip | |
Fix missing KeyboardLayoutSwitched event on XKB switch
Diffstat (limited to 'src/input')
| -rw-r--r-- | src/input/mod.rs | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/input/mod.rs b/src/input/mod.rs index 38827415..91581642 100644 --- a/src/input/mod.rs +++ b/src/input/mod.rs @@ -16,7 +16,7 @@ use smithay::backend::input::{ TabletToolProximityEvent, TabletToolTipEvent, TabletToolTipState, TouchEvent, }; use smithay::backend::libinput::LibinputInputBackend; -use smithay::input::keyboard::{keysyms, FilterResult, Keysym, ModifiersState, XkbContextHandler}; +use smithay::input::keyboard::{keysyms, FilterResult, Keysym, ModifiersState}; use smithay::input::pointer::{ AxisFrame, ButtonEvent, CursorIcon, CursorImageStatus, Focus, GestureHoldBeginEvent, GestureHoldEndEvent, GesturePinchBeginEvent, GesturePinchEndEvent, GesturePinchUpdateEvent, @@ -540,17 +540,10 @@ impl State { } Action::SwitchLayout(action) => { let keyboard = &self.niri.seat.get_keyboard().unwrap(); - let new_idx = keyboard.with_xkb_state(self, |mut state| { - match action { - LayoutSwitchTarget::Next => state.cycle_next_layout(), - LayoutSwitchTarget::Prev => state.cycle_prev_layout(), - }; - state.active_layout().0 + keyboard.with_xkb_state(self, |mut state| match action { + LayoutSwitchTarget::Next => state.cycle_next_layout(), + LayoutSwitchTarget::Prev => state.cycle_prev_layout(), }); - - if let Some(server) = &self.niri.ipc_server { - server.keyboard_layout_switched(new_idx as u8); - } } Action::MoveColumnLeft => { self.niri.layout.move_left(); |
