diff options
| author | Tony Crisci <tony@dubstepdish.com> | 2017-10-29 10:43:10 -0400 | 
|---|---|---|
| committer | Tony Crisci <tony@dubstepdish.com> | 2017-10-29 10:43:10 -0400 | 
| commit | c01248cf17b0556145d973449d0b12cad0b96a8c (patch) | |
| tree | 8b76fcdbf82ee92ef19504d4a9c0e3abc43f8e1c /include/wlr | |
| parent | ce72a687ce3b88b69b0d319800d2f466205a15f7 (diff) | |
| parent | 50e86a0efa43fa72bd7d8c2dfc2d124052f74823 (diff) | |
| download | wlroots-c01248cf17b0556145d973449d0b12cad0b96a8c.tar.xz | |
Merge branch 'master' into feature/xwm-rewrite
Diffstat (limited to 'include/wlr')
| -rw-r--r-- | include/wlr/types/wlr_seat.h | 49 | 
1 files changed, 24 insertions, 25 deletions
| diff --git a/include/wlr/types/wlr_seat.h b/include/wlr/types/wlr_seat.h index f5d5c357..d241175b 100644 --- a/include/wlr/types/wlr_seat.h +++ b/include/wlr/types/wlr_seat.h @@ -14,7 +14,6 @@  struct wlr_seat_handle {  	struct wl_resource *wl_resource;  	struct wlr_seat *wlr_seat; -	struct wlr_seat_keyboard *seat_keyboard;  	struct wl_resource *pointer;  	struct wl_resource *keyboard; @@ -87,21 +86,16 @@ struct wlr_seat_pointer_state {  	struct wl_listener resource_destroy;  }; -struct wlr_seat_keyboard { -	struct wlr_seat *seat; -	struct wlr_keyboard *keyboard; -	struct wl_listener key; -	struct wl_listener modifiers; -	struct wl_listener keymap; -	struct wl_listener destroy; -	struct wl_list link; -}; -  struct wlr_seat_keyboard_state {  	struct wlr_seat *wlr_seat; +	struct wlr_keyboard *keyboard; +  	struct wlr_seat_handle *focused_handle;  	struct wlr_surface *focused_surface; +	struct wl_listener keyboard_destroy; +	struct wl_listener keyboard_keymap; +  	struct wl_listener surface_destroy;  	struct wl_listener resource_destroy; @@ -113,7 +107,6 @@ struct wlr_seat {  	struct wl_global *wl_global;  	struct wl_display *display;  	struct wl_list handles; -	struct wl_list keyboards;  	char *name;  	uint32_t capabilities; @@ -266,18 +259,9 @@ void wlr_seat_pointer_notify_axis(struct wlr_seat *wlr_seat, uint32_t time,  		enum wlr_axis_orientation orientation, double value);  /** - * Attaches this keyboard to the seat. Key events from this keyboard will be - * propegated to the focused client. - */ -void wlr_seat_attach_keyboard(struct wlr_seat *seat, -		struct wlr_input_device *dev); - -/** - * Detaches this keyboard from the seat. This is done automatically when the - * keyboard is destroyed; you only need to use this if you want to remove it for - * some other reason. + * Set this keyboard as the active keyboard for the seat.   */ -void wlr_seat_detach_keyboard(struct wlr_seat *seat, struct wlr_keyboard *kb); +void wlr_seat_set_keyboard(struct wlr_seat *seat, struct wlr_input_device *dev);  /**   * Start a grab of the keyboard of this seat. The grabber is responsible for @@ -294,20 +278,35 @@ void wlr_seat_keyboard_end_grab(struct wlr_seat *wlr_seat);  /**   * Send the keyboard key to focused keyboard resources. Compositors should use - * `wlr_seat_attach_keyboard()` to automatically handle keyboard events. + * `wlr_seat_notify_key()` to respect keyboard grabs.   */  void wlr_seat_keyboard_send_key(struct wlr_seat *seat, uint32_t time,  		uint32_t key, uint32_t state);  /** + * Notify the seat that a key has been pressed on the keyboard. Defers to any + * keyboard grabs. + */ +void wlr_seat_keyboard_notify_key(struct wlr_seat *seat, uint32_t time, +		uint32_t key, uint32_t state); + +/**   * Send the modifier state to focused keyboard resources. Compositors should use - * `wlr_seat_attach_keyboard()` to automatically handle keyboard events. + * `wlr_seat_keyboard_notify_modifiers()` to respect any keyboard grabs.   */  void wlr_seat_keyboard_send_modifiers(struct wlr_seat *seat,  		uint32_t mods_depressed, uint32_t mods_latched, uint32_t mods_locked,  		uint32_t group);  /** + * Notify the seat that the modifiers for the keyboard have changed. Defers to + * any keyboard grabs. + */ +void wlr_seat_keyboard_notify_modifiers(struct wlr_seat *seat, +		uint32_t mods_depressed, uint32_t mods_latched, uint32_t mods_locked, +		uint32_t group); + +/**   * Notify the seat that the keyboard focus has changed and request it to be the   * focused surface for this keyboard. Defers to any current grab of the seat's   * keyboard. | 
