wlroots/types
Markus Ongyerth c8ccb1bef3 reorder xkb state handling in wlr_keyboard
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
2018-04-18 11:54:59 +02:00
..
meson.build Add wlr_xdg_output_manager 2018-04-05 12:40:30 -04:00
wlr_box.c Revert "ELF Visibility" 2018-02-19 18:01:27 -05:00
wlr_compositor.c Add wlr_surface_is_subsurface and wlr_subsurface_from_surface 2018-04-05 14:00:53 -04:00
wlr_cursor.c Remove width_mm from wlr_touch events 2018-03-28 11:04:40 -04:00
wlr_data_device.c data-device: redesign wlr_data_source 2018-03-29 17:53:13 -04:00
wlr_gamma_control.c Revert "ELF Visibility" 2018-02-19 18:01:27 -05:00
wlr_idle.c move activity_notify into events in wlr_idle 2018-02-22 21:14:28 +01:00
wlr_idle_inhibit_v1.c idle-inhibit: style adjustments and motivation 2018-02-23 13:18:05 +01:00
wlr_input_device.c Add const to x11 and input interfaces 2018-03-06 21:16:18 +13:00
wlr_input_inhibitor.c Actually fix input inhibitor destructor 2018-04-03 16:58:06 -04:00
wlr_keyboard.c reorder xkb state handling in wlr_keyboard 2018-04-18 11:54:59 +02:00
wlr_layer_shell.c Add wlr_surface_is_*_surface 2018-04-02 20:42:02 -04:00
wlr_linux_dmabuf.c backend: remove wlr_backend_get_egl 2018-04-08 11:00:56 -04:00
wlr_list.c Revert "ELF Visibility" 2018-02-19 18:01:27 -05:00
wlr_matrix.c render/gles2: transpose matrices before binding them 2018-03-19 20:21:02 +01:00
wlr_output.c output: don't emit the mode event if it hasn't changed 2018-04-18 00:15:25 +01:00
wlr_output_damage.c Revert "ELF Visibility" 2018-02-19 18:01:27 -05:00
wlr_output_layout.c annotate wlr-output-layout coord variables 2018-04-01 00:17:27 -04:00
wlr_pointer.c wlr_pointer: fix potential null deref 2018-03-22 21:27:49 +01:00
wlr_primary_selection.c primary-selection: fix crash in device_handle_set_selection 2018-02-20 12:33:13 +01:00
wlr_region.c Revert "ELF Visibility" 2018-02-19 18:01:27 -05:00
wlr_screenshooter.c render: split render.h into wlr_renderer.h and wlr_texture.h 2018-03-19 23:16:29 +01:00
wlr_seat.c Merge branch 'master' into xwayland-dnd 2018-04-02 15:57:04 -04:00
wlr_server_decoration.c Revert "ELF Visibility" 2018-02-19 18:01:27 -05:00
wlr_surface.c Add surface iterators 2018-04-05 14:18:17 -04:00
wlr_tablet_pad.c Revert "ELF Visibility" 2018-02-19 18:01:27 -05:00
wlr_tablet_tool.c Revert "ELF Visibility" 2018-02-19 18:01:27 -05:00
wlr_touch.c Revert "ELF Visibility" 2018-02-19 18:01:27 -05:00
wlr_wl_shell.c Add surface iterators 2018-04-05 14:18:17 -04:00
wlr_xcursor_manager.c Redesign wlr_texture 2018-03-24 23:48:32 -04:00
wlr_xdg_output.c Fix sending updates to xdg-output resources 2018-04-05 18:22:48 -04:00
wlr_xdg_shell.c Fix wlr_xdg_surface_surface_at for popups 2018-04-12 17:17:32 -04:00
wlr_xdg_shell_v6.c Fix wlr_xdg_surface_surface_at for popups 2018-04-12 17:17:32 -04:00