From 26718da9bb70fbbc285430f479d2b4377819022c Mon Sep 17 00:00:00 2001 From: Junkui Zhang <364772080@qq.com> Date: Thu, 22 May 2025 13:56:39 +0800 Subject: [PATCH] test --- .../gpui/src/platform/linux/wayland/client.rs | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/crates/gpui/src/platform/linux/wayland/client.rs b/crates/gpui/src/platform/linux/wayland/client.rs index 69fb28b0efd0efb01717a2badcd268e35f06d43a..ac369772437f4140181f0bd6dfa2ee92c848547d 100644 --- a/crates/gpui/src/platform/linux/wayland/client.rs +++ b/crates/gpui/src/platform/linux/wayland/client.rs @@ -1216,6 +1216,24 @@ impl Dispatch for WaylandClientStatePtr { }; state.keyboard_state = Some(KeyboardState::new(xkb::State::new(&keymap))); state.compose_state = get_xkb_compose_state(&xkb_context); + let layout = { + let layout_idx = state + .keyboard_state + .as_mut() + .unwrap() + .state + .serialize_layout(xkbcommon::xkb::STATE_LAYOUT_EFFECTIVE); + let id = state + .keyboard_state + .as_mut() + .unwrap() + .state + .get_keymap() + .layout_get_name(layout_idx) + .to_string(); + LinuxKeyboardLayout::new(id).id().to_string() + }; + println!("Wayland Keyboard layout changed to {layout}"); drop(state); this.handle_keyboard_layout_change(); @@ -1267,6 +1285,18 @@ impl Dispatch for WaylandClientStatePtr { 0, group, ); + let layout = { + let layout_idx = keyboard_state + .state + .serialize_layout(xkbcommon::xkb::STATE_LAYOUT_EFFECTIVE); + let id = keyboard_state + .state + .get_keymap() + .layout_get_name(layout_idx) + .to_string(); + LinuxKeyboardLayout::new(id).id().to_string() + }; + println!("Wayland Keyboard layout changed to {layout}"); state.modifiers = Modifiers::from_xkb(&keyboard_state.state); state.capslock = Capslock::from_xkb(&keyboard_state.state); let keymap_state = state.keymap_state.as_mut().unwrap();