aboutsummaryrefslogtreecommitdiff
path: root/sway/input
AgeCommit message (Collapse)Author
2024-01-18Delete old damage tracking codeAlexander Orzechowski
The new scene graph abstraction handles this for us.
2024-01-18scene_graph: Port xwaylandAlexander Orzechowski
2024-01-18scene_graph: Port xdg_shellAlexander Orzechowski
2024-01-18scene_graph: Port layer_shellAlexander Orzechowski
2024-01-18input: Query scene graph for relevant surface/node intersectionsAlexander Orzechowski
2024-01-18seat: Remove dead seatop_render functionAlexander Orzechowski
2024-01-18scene_graph: Port ext_session_v1Alexander Orzechowski
2024-01-18scene_graph: Port seatop_move_tiling indicatorsAlexander Orzechowski
2024-01-18scene_graph: Port seat drag iconsAlexander Orzechowski
2024-01-18desktop: Rename layers to shell_layersAlexander Orzechowski
This code will be deleted later, but for the time being rename it so it doesn't conflict with future properties.
2024-01-02input: reconfigure send_events on output hotplugSimon Ser
Closes: https://github.com/swaywm/sway/issues/7890
2023-12-25Check wlr_pointer_constraint_v1_state.cursor_hint.enabledSimon Ser
Update for a wlroots breaking change which resets the committed mask. References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4478
2023-12-13input/seat: simplify seat_is_input_allowed()Simon Ser
Use an early return to make the code more readable.
2023-12-13input/seat: rename seat_set_exclusive_client()Simon Ser
2023-12-13input/seat: inline seat_set_exclusive_client() with NULL clientSimon Ser
2023-12-13input/{keyboard,switch}: rename input_inhibited variable to lockedSimon Ser
This is more descriptive now.
2023-12-13input/seat: drop exclusive_clientSimon Ser
This was a input-inhibit concept.
2023-11-22Chase wlroots!4440llyyr
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4440
2023-11-21seat: Fix cursor theme reload for tablet toolNemuiBanila
2023-11-21seat: Fix reloading cursor theme after changeLina Banik
This reverts commit afde6369 "seat: avoid unneeded reloading xcursor theme". Always avoiding to reload the xcursor theme prevents reloading the cursor even when this is desired. Instead seat_configure_xcursor can determine whether a full reload is necessary. To stay with the spirit of the reverted change, cursors are only fully reloaded, if the theme has changed. Fixes #6931
2023-11-16input/input-manager: drop input_manager_configure_all_inputsSimon Ser
This is now unused.
2023-11-16Only reconfigure input mappings on output changeSimon Ser
Fully reconfiguring all input devices on output change takes a loooong time. Let's just reconfigure what we need: only mappings depend on outputs.
2023-11-16input/seat: rename seat_apply_input_configSimon Ser
seat_apply_input_mapping is a lot more descriptive.
2023-11-16input/seat: don't configure mappings for switchesSimon Ser
Switch devices cannot be mapped to an output/region, stop trying to do so.
2023-10-05Drop support for KDE's idle protocolSimon Ser
We support the standard idle-notify protocol since Sway 1.8.
2023-08-21chore: chase wlroots xdg-surface role reworkKirill Primak
2023-07-24Add support for cursor-shape-v1Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4106
2023-07-19Deprecate seat idle_wakeSimon Ser
Sway has two knobs to control idling: - seat idle_inhibit: when the seat is active (ie. not idle), this extends the active state. When the seat is idle, this is ignored. - seat idle_wake: when the seat is idle, this wakes up the seat. When the seat is active, this is ignored. The motivation for the deprecation is two-fold: - The concept of "seat idle state" is ill-defined. Each idle-notify-v1 client will pass a different idle timeout. With the old logic, a seat was declared idle if and only if all idle-notify-v1 timeouts have expired. However, if only a portion of the timeouts have expired, then some clients would wake up, and the rest would stay active. This is inconsistent with the definition of idle_inhibit/idle_wake: idle_inhibit was used for clients which are waking up. - It never worked properly with the new idle-notify-v1 protocol and no-one noticed. Only the legacy KDE idle protocol is taken into account, but that protocol is not used anymore.
2023-06-26input: Move wlr_pointer_gestures_v1 to sway_input_managerMark Bolhuis
On multi-seat configurations a zwp_pointer_gestures_v1 global was created for every seat. Instead, create the global once in the input manager, to be shared across all seats.
2023-06-25Use "default" XCursor instead of "left_ptr"Simon Ser
"left_ptr" is the legacy XCursor name. "default" is the cursor spec name.
2023-06-19Use wlr_cursor_unset_image()Simon Ser
A bit cleaner. References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4209
2023-06-19Use wlr_cursor_set_xcursor()Simon Ser
wlr_xcursor_manager_set_cursor_image() is deprecated. References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4170
2023-06-16input/libinput: add scroll_button_lock methodCezary Drożak
Closes https://github.com/swaywm/sway/issues/6987 Co-authored-by: JJGadgets <git@jjgadgets.tech> Co-authored-by: DeltaWhy <mike5713@gmail.com>
2023-06-11Fix `bindsym --to-code` not respecting input configs33KK
Fixes #7535
2023-06-06Add support for wlr-layer-shell ON_DEMAND keyboard interactivityErik Reider
This allows for layer shell surfaces to receive focus while the surface is explicitly focused, i.e allowing text fields to receive keyboard input just like a regular surface.
2023-06-02chore: chase wlroots map logic unificationKirill Primak
2023-05-11seatop_down: Call seatop_begin_default after sending touch eventshrdl
This is consistent with pointer tablet and button events. Fixes #7577.
2023-05-04handle_touch_cancel: fix begin defaulthrdl
I forgot to call seatop_begin_default in e8f7551e46052a8df04b630bf06565ca77f830fb.
2023-05-04Add support for touch cancel eventshrdl
2023-05-02render: pass rendering state together in a structAlexander Orzechowski
This lets us easily add rendering state that we need in the future
2023-04-14Use format_str() throughoutSimon Ser
2023-02-22Constify pixman_region32_t for rendering functionsSimon Ser
2023-02-20Implement seatop_touchStacy Harper
Atm we got issue with the touch position sent to the clients. While holding contact, leaving the initial container will continue to send motion event to the client but with the new local position from the new container. This seatop goal is to send the position of the touch event, relatively to the initial container layout position.
2023-02-18Fix map_to_output * turning off deviceDaniel Hill
Signed-off-by: Daniel Hill <daniel@gluo.nz>
2023-02-02Convert to *_try_from_wlr_surface()Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3991
2023-02-01Convert to wlr_xwayland_surface_try_from_wlr_surface()Simon Ser
Accomodate for the breaking changes in [1]. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/fbf5982e3838ee28b5345e98832f6956c402b225
2023-01-18Fix pointer events for ext-session-lock surfacesSimon Ser
We were never sending any pointer event to ext-session-lock surfaces.
2023-01-18Fix indentation in surface_is_xdg_popup()Simon Ser
2023-01-16input/tablet: handle focusing NULL surfaceKirill Primak
Additionally, rename the function responsible for switching focus to match its behavior better.
2023-01-11input: enable user xkb configs with cap_sys_niceRonan Pigott