linux: Add `keyboard_layout` and `on_keyboard_layout_change` support (#22736)
No issue, as the functionality is currently not being used in Zed. This is more of a GPUI improvement. Currently, `keyboard_layout` and `on_keyboard_layout_change` are already handled on macOS. This PR implements the same for X11 and Wayland. Linux supports up to 4 keyboard layout groups (e.g., Group 0: English US, Group 1: Bulgarian, etc). On X11 and Wayland, `event` provides a new active group, which maps to the `layout_index`. We already store keymap state from where we can get the current `layout_index`. By comparing them, we determine if the layout has changed. X11: <img src="https://github.com/user-attachments/assets/b528db77-1ff2-4f17-aac5-7654837edeb9" alt="x11" width="300px" /> Wayland: <img src="https://github.com/user-attachments/assets/2b4e2a30-b0f4-495c-96bb-7bca41365d56" alt="wayland" width="300px" /> Release Notes: - N/A
T
tims committed
d2d1779e0d9f3c1f41d09b02ff7ceab6101db6b6
Parent: 76d18f3
Committed by GitHub <noreply@github.com>
on 1/7/2025, 12:10:00 AM