Commit graph

634 commits

Author SHA1 Message Date
Mozzarella32
46dab01bcc
renderer: add more uniforms to the screen shader (#11986)
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)
2025-10-20 12:22:50 +01:00
epsilonshmepsilon
6a01c399a9
input: add option to rotate device input (#11947) 2025-10-10 17:05:51 +02:00
Vaxry
43fb4753fc
gestures: fix gesture direction detection (#11852) 2025-09-29 12:29:40 +01:00
JS Deck
838439080a
vkeyboard: update cached mods before IME; add share_states = 2 config option (#11720) 2025-09-20 17:57:39 +02:00
Vaxry
4a9c4dbc04
gestures/fs: fix typo
fixes #11678
2025-09-15 22:30:08 +01:00
Vaxry
559024c331
gestures/float: fix typo 2025-09-14 01:52:41 +01:00
Stanislav Senotrusov
adbf7c8663
input: handle tablet active area scaling when axes swap due to rotation (#11661)
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.
2025-09-13 01:11:30 +02:00
usering-around
38169c8fdd
input: support xkb v2 format (#11482) 2025-09-11 19:42:20 +02:00
Maximilian Seidler
b8cff8a434
input: focus when first keyboard is added and m_lastFocus is set (#11645) 2025-09-10 12:22:45 +02:00
Vaxry
1e3a06560f
gestures: add unset
ref https://github.com/hyprwm/Hyprland/pull/11490
2025-09-08 20:24:51 +01:00
Vaxry
127aab8159
input: add per-device scroll-factor (#11241) 2025-09-02 13:16:43 +02:00
Vaxry
81bf4eccba
input: Add fully configurable trackpad gestures (#11490)
Adds configurable trackpad gestures
2025-08-28 11:20:29 +02:00
vaxerski
1ac1ff457a touch: detach from pointer input
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
2025-08-20 13:01:31 +02:00
vaxerski
9a20206945 touch: fix popup coordinates for touch down
fixes #10626
2025-08-20 12:22:18 +02:00
Kamikadze
beee22a95e
refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
Maxime Nordier
69c3ab1a49
tablet: do not lock focus when dnd-ing (#11390) 2025-08-10 17:51:14 +01:00
JS Deck
2be309de1d
virtualkeyboard: Add options to skip releasing pressed keys on close and to skip sharing key states (#11214) 2025-08-04 21:29:39 +02:00
Maxime Nordier
23be1db1e3
dnd: drop on tablet pen tip up (#11270) 2025-07-30 22:37:36 +02:00
Vaxry
745a671ce6
input: don't reload xkb configs if settings didnt change
fixes #9105
2025-07-29 17:25:27 +02:00
Shelby Tucker
5d4b4ecbfb
input: lock focus for tablet when down (#11219) 2025-07-27 15:11:45 +02:00
xqso
5c8d675eed
ci: correct tar command for xz compression & fix typos (#11213) 2025-07-25 17:19:23 +02:00
Vaxry
31cc7f3b87
core: move workspace ptrs to weak (#11194)
Fixes some race conditions that come up in tests. We only clean up workspaces when we render a frame. With this, they are always cleared instantly.
2025-07-24 00:36:29 +02:00
Florent Charpentier
55f2daa21e
swipe: fix workspace swipe not rendering last frame if target ws is on edge (#11184)
Fix for a weird behaviour that happens when swipe is only valid in 1
direction (i.e. from ws 1)

When you start a swipe from the only direction possible, then swipe back
(without releasing), the last frame where the delta is reset to 0 was
not being rendered
2025-07-23 20:06:28 +02:00
outfoxxed
78e9eddfb6
core: use new typed signals from hu (#10853) 2025-07-08 18:56:40 +02:00
Vaxry
b246f33ab1
inputmgr: remove unused var 2025-07-01 23:18:01 +02:00
aphelei
e9c5594186
renderer: add mouse zoom animations (#10882)
Adds animations for the mouse zoom effect.
2025-07-01 11:33:48 +02:00
Vaxry
dd33128c2f
input: fix mouseDown triggering hl ops on locked (#10809) 2025-06-22 12:49:13 +02:00
7mile
9fb6b5d96b
input: Fix incorrect localcoords with a surface above an XWayland window (#10773) 2025-06-18 22:48:51 +02:00
may
f08167c877
input: add sticky option for drag_lock (#10702)
* allow configuring the sticky option for `drag_lock`

* enable sticky drag_lock by default as recommended by libinput

recommended here:
https://lists.freedesktop.org/archives/wayland-devel/2024-November/043860.html
2025-06-15 11:45:06 +02:00
Vaxry
8329de1ab5
input: grab the correct active workspace on mouseMove
fixes #10651
2025-06-11 17:09:39 +02:00
Ufuk Ustali
0ac3bef724
input: support configuring drag_3fg from libinput (#10631) 2025-06-06 15:47:15 +01:00
Kamikadze
69c2b2926e
internal: refactor to use empty() (#10599) 2025-05-31 19:49:50 +01:00
Kamikadze
9190443d95
refactor: use std::ranges whenever possible (#10584) 2025-05-30 14:25:59 +01:00
darkwater
185c96849e
input: unhide cursor on tablet events after touch events (#10484) 2025-05-21 23:44:21 +02:00
Vaxry
d9c8a37811
input: always allow focus to permission popups 2025-05-18 19:34:20 +02:00
Vaxry
158c0f2911
permissions: add permission management for keyboards (#10367) 2025-05-18 19:13:20 +02:00
Vaxry
705b97c4ac
input: revert #10416 and #10418
fixes #10451
2025-05-17 19:43:12 +02:00
outfoxxed
2aa21625bd
input: ensure seat grabs from exclusive layers can be dismissed (#10418) 2025-05-17 13:06:48 +02:00
outfoxxed
2946009006
input: do not send mouse events when outside of a surface (#10416) 2025-05-16 23:39:28 +02:00
Vaxry
a51e639d81
input: disallow virtual keyboards from changing LED state (#10402) 2025-05-14 17:48:17 +01:00
nyx
53bfb92d65
layout: allow interacting with pinned windows when fullscreened (#10326)
* layout: allow interacting with pinned windows when fullscreened

* IHyprLayout: format code

* e
2025-05-08 20:59:51 +02:00
davc0n
9cd5b25745
protocols: refactor class member vars (u-z) (#10282)
* protocols: refactor class member vars (u-z)

* protocols: fix clang format
2025-05-04 23:39:00 +02:00
davc0n
2626f89ea6
protocols: refactor class member vars (n-t) (#10273) 2025-05-04 19:21:36 +02:00
davc0n
adbae0f74d
protocols: refactor class member vars (a-m) (#10265) 2025-05-04 00:13:29 +02:00
Honkazel
3465efcdc1
internal: Use vecnotinrect instead of !vecinrect (#10262)
* monitor: use vecnotinrect

* inputmanager: vecnotinrect

* clang format
2025-05-03 18:54:15 +02:00
Virt
cdf5736f1a
layerrules: fix abovelock interactivity for touch input (#10253) 2025-05-03 16:07:02 +02:00
davc0n
d9cad5e1b6
protocols: refactor class member vars (core) (#10259) 2025-05-03 16:02:49 +02:00
davc0n
ce821294e2
managers: refactor class member vars (#10242) 2025-05-02 17:07:20 +02:00
davc0n
5b3e489108
inputs: refactor class member vars (#10230) 2025-05-01 23:57:11 +02:00
davc0n
50e1bec85f
helpers: refactor class member vars (#10218) 2025-04-30 23:45:20 +02:00