diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/sway/config.h | 7 | ||||
-rw-r--r-- | include/sway/input/cursor.h | 6 |
2 files changed, 13 insertions, 0 deletions
diff --git a/include/sway/config.h b/include/sway/config.h index 473f723b..59f22ae2 100644 --- a/include/sway/config.h +++ b/include/sway/config.h @@ -181,6 +181,12 @@ struct seat_attachment_config { // TODO other things are configured here for some reason }; +enum seat_config_hide_cursor_when_typing { + HIDE_WHEN_TYPING_DEFAULT, // the default is currently disabled + HIDE_WHEN_TYPING_ENABLE, + HIDE_WHEN_TYPING_DISABLE, +}; + enum seat_config_allow_constrain { CONSTRAIN_DEFAULT, // the default is currently enabled CONSTRAIN_ENABLE, @@ -216,6 +222,7 @@ struct seat_config { int fallback; // -1 means not set list_t *attachments; // list of seat_attachment configs int hide_cursor_timeout; + enum seat_config_hide_cursor_when_typing hide_cursor_when_typing; enum seat_config_allow_constrain allow_constrain; enum seat_config_shortcuts_inhibit shortcuts_inhibit; enum seat_keyboard_grouping keyboard_grouping; diff --git a/include/sway/input/cursor.h b/include/sway/input/cursor.h index 4c130faf..ca3c6f4b 100644 --- a/include/sway/input/cursor.h +++ b/include/sway/input/cursor.h @@ -6,6 +6,7 @@ #include <wlr/types/wlr_pointer_gestures_v1.h> #include <wlr/types/wlr_surface.h> #include "sway/input/seat.h" +#include "config.h" #define SWAY_CURSOR_PRESSED_BUTTONS_CAP 32 @@ -68,6 +69,10 @@ struct sway_cursor { struct wl_event_source *hide_source; bool hidden; + // This field is just a cache of the field in seat_config in order to avoid + // costly seat_config lookups on every keypress. HIDE_WHEN_TYPING_DEFAULT + // indicates that there is no cached value. + enum seat_config_hide_cursor_when_typing hide_when_typing; size_t pressed_button_count; }; @@ -94,6 +99,7 @@ void cursor_handle_activity(struct sway_cursor *cursor, struct wlr_input_device *device); void cursor_unhide(struct sway_cursor *cursor); int cursor_get_timeout(struct sway_cursor *cursor); +void cursor_notify_key_press(struct sway_cursor *cursor); void dispatch_cursor_button(struct sway_cursor *cursor, struct wlr_input_device *device, uint32_t time_msec, uint32_t button, |