mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-12-23 02:19:49 +01:00
c8ccb1bef3
wlr_keyboard manages the xkb-common state of the compositor. It used to update the state, update the modifiers, then notify the compositor. When [Shift_L] was pressed and released, this resulted in an event chain: Modifiers: Shift Key: Shift_L (Pressed) Modifiers: Key: Shift_L (Release) The xkb-docs state that the state should be updated *after* the key was handled [1], to prevent the new state from influencing the actual key generated. To achieve this, the event to the compositor is emitted, *before* wlroots handles the xkb and internal keyboard state. With this patch applied, the emitted events ill be: Modifiers: Key: Shift_L (Pressed) Modifiers: Shift Key: Shift_L (Release) [1] https://xkbcommon.org/doc/current/group__state.html#gac554aa20743a621692c1a744a05e06ce |
||
---|---|---|
.. | ||
meson.build | ||
wlr_box.c | ||
wlr_compositor.c | ||
wlr_cursor.c | ||
wlr_data_device.c | ||
wlr_gamma_control.c | ||
wlr_idle.c | ||
wlr_idle_inhibit_v1.c | ||
wlr_input_device.c | ||
wlr_input_inhibitor.c | ||
wlr_keyboard.c | ||
wlr_layer_shell.c | ||
wlr_linux_dmabuf.c | ||
wlr_list.c | ||
wlr_matrix.c | ||
wlr_output.c | ||
wlr_output_damage.c | ||
wlr_output_layout.c | ||
wlr_pointer.c | ||
wlr_primary_selection.c | ||
wlr_region.c | ||
wlr_screenshooter.c | ||
wlr_seat.c | ||
wlr_server_decoration.c | ||
wlr_surface.c | ||
wlr_tablet_pad.c | ||
wlr_tablet_tool.c | ||
wlr_touch.c | ||
wlr_wl_shell.c | ||
wlr_xcursor_manager.c | ||
wlr_xdg_output.c | ||
wlr_xdg_shell.c | ||
wlr_xdg_shell_v6.c |