summaryrefslogtreecommitdiff
path: root/src/managers/input/InputManager.cpp
Commit message (Collapse)AuthorAgeFilesLines
* layout/scrolling: handle fullscreen manually (#14190)Vaxry2026-05-071-3/+23
| | | Makes scroll handle fullscreen by itself, allowing for fs scrolls.
* config: add device tags (#13728)ArchSav2026-05-051-0/+8
| | | | | --------- Co-authored-by: Mio Argillander <mio@argillander.me>
* windows/focus: add fallbacks when focussing workspaces (#14270)fazzi2026-05-041-1/+2
|
* InputManager: add guards to confineToRegion to avoid issues (#14269)fazzi2026-05-031-0/+6
|
* desktop/windowRule: add `confine_pointer` window rule (#13379)fazzi2026-05-021-23/+42
|
* desktop/window: refactor over fullscreen stateVaxry2026-04-291-2/+2
|
* input: fix device configs for pointer devicesVaxry2026-04-261-1/+1
|
* config/lua: init lua config manager, use lua if available (#13817)Vaxry2026-04-261-28/+29
| | | Adds a new lua config manager, which will automatically be used if there is a lua config present.
* input: implement follow_mouse_shrink (#13707)Mihail Costea2026-04-201-1/+2
| | | | | | | | | | | | | | | | | * input: implement follow_mouse_shrink Add a new config option `input:follow_mouse_shrink` (INT, 0-300, default 0) that shrinks inactive window hitboxes by the specified number of pixels for focus detection purposes. This creates a dead zone in gaps between windows where moving the cursor will not trigger a focus change. The shrink only applies to inactive (non-focused) windows and only during mouse-move focus checks (follow_mouse = 1). Click and scroll interactions are unaffected — clicking on a window in the shrunk area still works normally once the window is focused. Closes #9973 * tests: add integration test for follow_mouse_shrink
* monocle: avoid repeated workspace monitor lock() calls (#14085)Visal Vijay2026-04-161-2/+5
| | | | | | | | | * refactor(monocle): avoid repeated workspace monitor lock() calls * clang-format * cleanup: avoid repeated weak_ptr::lock() calls * style: shorten variable name PMONITORWORKSPACEOWNER to PMONITOR
* input: avoid repeated weak_ptr::lock() and ensure consistent usage (#14039)Visal Vijay2026-04-101-3/+6
|
* input: lazy cache getWindowIdeal()Vaxry2026-04-071-7/+20
|
* input: fix the multimon touch fix (#13819)Dregu2026-03-231-4/+4
|
* config: cleanup the entire config infrastructure (#13785)Vaxry2026-03-201-52/+55
| | | | Massively refactors the config infrastructure, sorely needed and will be req'd for the lua stuff
* input: fix touch screen focus on multi monitor (#13764)Dregu2026-03-191-5/+8
| | | | | * input: fix touch screen focus on multi monitor * skip some more strictly pointer related things for touch
* input: add device specific binds (#13073)ArchSav2026-03-131-5/+5
| | | Adds support for device-specific binds
* socket2: emit `kill` event (hyprctl kill) (#13104)Harsh Narayan Jha2026-03-041-0/+3
|
* input: use fresh cursor pos when sending motion events (#13366)fazzi2026-02-251-1/+1
|
* event: refactor HookSystem into a typed event bus (#13333)Vaxry2026-02-221-20/+49
| | | | | Refactors the old HookSystem into a typed event bus with clear separation, discovery and types.
* layout: rethonk layouts from the ground up (#12890)Vaxry2026-02-211-10/+12
| | | | | Rewrites layouts to be much smaller, and deal with much less annoying BS. Improves the overall architecture, unifies handling of pseudotiling, and various other improvements.
* input: fix kinetic scroll (#13233)bea4dev2026-02-101-0/+16
|
* renderer: fix mouse motion in VRR (#12665)Szwagi2026-01-311-7/+6
|
* input: guard null `view()` when processing mouse down (#12772)skrmc2025-12-311-2/+4
|
* input: fix pending perm keyboards being enabledVaxry2025-12-261-0/+5
| | | | fixes #12359
* tablet: added option to hide cursor (#12525)fuyu1472025-12-191-2/+4
|
* debug: move to hyprutils' logger (#12673)Vaxry2025-12-181-49/+50
|
* desktop/layer: store aboveFs property and use thatVaxry2025-12-161-17/+26
|
* input: simplify mouseMoveUnified a tadVaxry2025-12-161-12/+8
|
* input: cleanup sendMotionEventsToFocused()Vaxry2025-12-161-7/+20
|
* desktop: cleanup, unify desktop elements as views (#12563)Vaxry2025-12-081-27/+32
|
* compositor: Configurable behavior when window to be focused conflicts with ↵Nikolai Nechaev2025-11-251-39/+40
| | | | | | | | | | fullscreen (#12033) Renames `misc:new_window_takes_over_fullscreen` into `misc:on_focus_under_fullscreen` and implements the following behavior: - By default, when a tiling window is being focused on a workspace where a fullscreen/maximized window exists, respect the `misc:on_focus_under_fullscreen` config variable.
* windowrules: rewrite completely (#12269)Vaxry2025-11-171-1/+1
| | | | | | | Reworks the window rule syntax completely --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* cursor: fix m_cursorSurfaceInfo not being updated while a cursor override is ↵Giacomo Zama2025-11-161-6/+6
| | | | set (#12327)
* cursor: ensure cursor reset on changed window states (#12301)Alexandru Spînu2025-11-151-0/+7
|
* cursor: refactor override handling (#12166)Vaxry2025-10-311-77/+40
| | | much cleaner and more reliable. Should fix https://github.com/hyprwm/Hyprland/issues/12088
* IME: do not share keys/mods states from grabbed keyboards with ime keys/mods ↵JS Deck2025-10-261-11/+36
| | | | (#11917)
* renderer: add more uniforms to the screen shader (#11986)Mozzarella322025-10-201-2/+3
| | | | | | | | | | | | These are: pointer_shape from the cursor-shape-v1 protocol prepared for v2, along with left_ptr...bottom_right_corner and killing (Hyprland specific) pointer_shape_previous with pointer_switch_time to blend between shapes pointer_size scaled size as used by the normal cursor pointer_pressed_positions[32] with pointer_pressed_times[32] and pointer_pressed_killed(32 bits) for click/touch animations and if they killed something pointer_inactive_timeout with pointer_last_active to smoothly fade the pointer out pointer_hidden to hide it when the cursor is hidden (excluding by cursor:invisible as this config value can be used to turn off the normal cursor, which is useful when drawing it with the screen shader)
* input: add option to rotate device input (#11947)epsilonshmepsilon2025-10-101-0/+5
|
* vkeyboard: update cached mods before IME; add share_states = 2 config option ↵JS Deck2025-09-201-3/+11
| | | | (#11720)
* input: handle tablet active area scaling when axes swap due to rotation (#11661)Stanislav Senotrusov2025-09-131-2/+7
| | | | | Some tablet rotation modes (90°, 270°, and flipped variants) swap the X and Y axes. This change adjusts the effective physical size based on axis orientation to ensure tablet active area coordinates are normalized correctly.
* input: support xkb v2 format (#11482)usering-around2025-09-111-1/+0
|
* input: focus when first keyboard is added and m_lastFocus is set (#11645)Maximilian Seidler2025-09-101-0/+4
|
* input: add per-device scroll-factor (#11241)Vaxry2025-09-021-3/+23
|
* input: Add fully configurable trackpad gestures (#11490)Vaxry2025-08-281-0/+51
| | | Adds configurable trackpad gestures
* touch: detach from pointer inputvaxerski2025-08-201-4/+4
| | | | this detaches touch from pointer input. Touch should not affect where your cursor is, and it doesn't make much sense for it to move when we use touch
* refactor: Use new hyprutils casts (#11377)Kamikadze2025-08-141-26/+25
|
* virtualkeyboard: Add options to skip releasing pressed keys on close and to ↵JS Deck2025-08-041-19/+73
| | | | skip sharing key states (#11214)
* input: don't reload xkb configs if settings didnt changeVaxry2025-07-291-3/+3
| | | | fixes #9105
* ci: correct tar command for xz compression & fix typos (#11213)xqso2025-07-251-2/+2
|
* core: use new typed signals from hu (#10853)outfoxxed2025-07-081-87/+61
|