Maximilian Seidler
8237d7e1a4
input: move dmps activation to input listeners ( #7721 )
2024-09-09 21:29:00 +01:00
b0fca6eaf0
input: kb focus mouse focused window if unset ( #7666 )
...
Normally it shouldn't be possible to have mouse focus with no kb
focus, but it does happen, and when it does this makes it considerably
less annoying.
2024-09-06 01:03:12 +01:00
Maximilian Seidler
4988e00b1d
input: move idle notify to input handlers ( #7659 )
...
* Revert "input: don't emit idle activity when calling simulateMouseMovement (#7649 )"
This reverts commit ea10592ad3 .
* input: move idle notify calls to input event listeners
* input: don't post idle activity when keyboard is not enabled
2024-09-06 00:58:57 +01:00
Maximilian Seidler
027140b731
sessionLock: ensure sls focus in some edge cases ( #7647 )
...
* input: return early in mouseMoveUnified when the session is locked
* sessionLock: make make a commit an opportunity to focus session lock surfaces
* compositor: allow resetting focus when session is locked
* input: remove redundant PMONITOR checks
PMONITOR is checked above
* input: check isSessionLocked earlier in mouseMoveUnified
A bit of reordering, so that we don't call some stuff that is irrelevant
when the session is locked
2024-09-04 16:59:00 +01:00
Maximilian Seidler
ea10592ad3
input: don't emit idle activity when calling simulateMouseMovement ( #7649 )
2024-09-04 11:23:29 +01:00
25e72949a1
window/xwayland: minor property cleanup
...
fixes #6921
2024-08-30 14:12:23 +02:00
Tom Englund
72c7818ae6
misc: constify the remaining for loops ( #7534 )
...
now we roll loops at blazing constified speed.
2024-08-26 20:24:30 +02:00
Tom Englund
8d6c18076f
core: make most for loops use const references ( #7527 )
...
why not let the compiler optimise things for us at hyprspeeds when we
can.
2024-08-26 17:25:39 +02:00
Sami Liedes
b2a18aa80a
input: Fix disabling tap-to-click ( #7304 )
...
* Allow disabling tap-to-click
* Style fix
2024-08-18 08:14:42 +01:00
Vaxry
92744b5b9a
IPC: Add config descriptions ( #7377 )
...
Thanks @gulafaran for the work
---
Co-authored-by: @gulafaran
2024-08-17 17:33:16 +01:00
Ikalco
fa6ee51367
input: fix leds on kb creation ( #7206 )
2024-08-07 08:44:20 +01:00
MightyPlaza
e989a0bcff
internal: refactor fullscreen states ( #7104 )
...
* refactor fullscreen
modified: src/Compositor.cpp
modified: src/Compositor.hpp
modified: src/config/ConfigManager.cpp
modified: src/config/ConfigManager.hpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/LayerSurface.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/desktop/Workspace.cpp
modified: src/desktop/Workspace.hpp
modified: src/events/Windows.cpp
modified: src/helpers/Monitor.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/DwindleLayout.hpp
modified: src/layout/IHyprLayout.cpp
modified: src/layout/IHyprLayout.hpp
modified: src/layout/MasterLayout.cpp
modified: src/layout/MasterLayout.hpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/KeybindManager.hpp
modified: src/managers/input/IdleInhibitor.cpp
modified: src/managers/input/InputManager.cpp
modified: src/managers/input/Swipe.cpp
modified: src/protocols/ForeignToplevelWlr.cpp
modified: src/render/Renderer.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* clean up
modified: src/config/ConfigManager.cpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.hpp
modified: src/desktop/Workspace.cpp
modified: src/events/Windows.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/input/Swipe.cpp
* fix mapWindow fullscreen
modified: src/events/Windows.cpp
* fix typo
modified: src/desktop/Workspace.cpp
* add fullscreenstate
modified: src/config/ConfigManager.cpp
modified: src/events/Windows.cpp
* change syncFullscreen to lower
modified: src/config/ConfigManager.hpp
* initialize fs state
modified: src/desktop/Window.hpp
2024-07-31 19:55:52 +02:00
Sungyoon Cho
9b6ae4f77b
input: fix keyboard leds with multiple keyboards ( #7079 )
2024-07-28 11:46:38 +01:00
MightyPlaza
ad711ef421
input: unify removing currentlyDraggedWindow ( #7071 )
...
modified: src/desktop/Window.cpp
modified: src/events/Windows.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/KeybindManager.hpp
modified: src/managers/input/InputManager.cpp
2024-07-27 17:46:19 +01:00
729b47d46d
input: refocus last window on keyboard unfocusable surfaces
...
fixes #4460
2024-07-27 17:49:35 +02:00
Ikalco
e8374e0792
debug: get rid of useless 1s in logs ( #6969 )
...
* get rid of 1s in logs lol
* replace WLR with AQ in logs
2024-07-22 18:06:11 +02:00
efcbcd7297
input: fix invalid usage of dev in setTouchDeviceConfigs
...
ref #6943
2024-07-21 16:45:46 +02:00
Vaxry
016da234d0
Core: Move to aquamarine ( #6608 )
...
Moves Hyprland from wlroots to aquamarine for the backend.
---------
Signed-off-by: Vaxry <vaxry@vaxry.net>
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
Co-authored-by: vaxerski <vaxerski@users.noreply.github.com>
Co-authored-by: UjinT34 <41110182+UjinT34@users.noreply.github.com>
Co-authored-by: Tom Englund <tomenglund26@gmail.com>
Co-authored-by: Ikalco <73481042+ikalco@users.noreply.github.com>
Co-authored-by: diniamo <diniamo53@gmail.com>
2024-07-21 13:09:54 +02:00
Agent00Ming
8e15f91c24
input: Emulate discrete scrolling from v120 events ( #6881 )
...
* seat: avoid sending axis_stop() when source is wheel
* fix rounding for absolute discrete values greater than 1
Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
2024-07-18 21:57:08 +02:00
13bc7e1e14
style: fix clang-format
2024-07-13 12:36:35 +02:00
Tom Englund
8ff9410d2c
inputmgr: ensure we dont divide by zero ( #6713 )
...
some weird combination of scrolling/nesting hyprland and closing a
window i managed to divide by zero here, reported by ubsan. add a check
to ensure we dont hit UB.
2024-06-30 13:15:59 +02:00
9c5dd59d4b
input: fix capabilities enum types passed
...
hyprland down to the seat protocol impl expects IHID capabilities, not WL_ ones
ref #6702 #6196
2024-06-29 00:23:02 +02:00
UjinT34
a9d53a2252
vrr: add option to fix mouse breaking vrr ( #6483 )
...
* option to fix mouse breaking vrr
* skip damage on mouse move
* remove this-> & cleanup
* add cursor:min_refresh_rate to avoid cursor freezing
* run clang-format
---------
Co-authored-by: UjinT34 <ujin@uvpn.ru>
2024-06-14 13:45:32 +02:00
a99f314106
input: fallback to main surface if not found on window
...
fixes #6421
2024-06-12 18:39:52 +02:00
9d7d5ec3c8
seatmgr: fix missing nullcheck in updateActiveKeyboardData
...
sometimes we may set a keyboard that's about-to-be-deleted, we might as well check for that
additionally avoid setting null keyboards altogether
2024-06-12 17:03:12 +02:00
MightyPlaza
b6bf4afb48
layer: don't close special ws when restoring focus ( #6424 )
...
modified: src/Compositor.cpp
modified: src/Compositor.hpp
modified: src/managers/input/InputManager.cpp
2024-06-11 22:56:35 +02:00
21b9e31bf4
layershell: Fix keyboard focus grabs ( #4968 ) ( #6394 )
2024-06-11 19:35:30 +02:00
809820921d
sessionLock: fix focus not being tied to mouse ( #6414 )
2024-06-11 17:11:15 +02:00
void0red
d724556b7e
input: fix virtual devices not updating capabilities ( #6366 )
...
Signed-off-by: void0red <void0red@gmail.com>
2024-06-08 17:15:57 +02:00
Vaxry
6967a31450
wayland/core: move to new impl ( #6268 )
...
* wayland/core/dmabuf: move to new impl
it's the final countdown
2024-06-08 10:07:59 +02:00
Agent00Ming
d0a224a491
seat: discrete round away from zero + high res scrolling ( #6317 )
...
* Discrete scrolling round away from zero
e.deltaDiscrete can be multiples of 30 instead of the usual 120 causing
the rounded value to be 0 when too small causing erratic scrolling.
* Send value120 alongside discrete
Fixes sensitivity issues for clients that support value120 axis events
2024-06-03 22:47:02 +02:00
Vaxry
addd3e7f1a
xwayland: move to hyprland impl ( #6086 )
2024-05-25 22:43:51 +02:00
Can
ce17961aad
keybinds: Added new dispatcher (sendshortcut) ( #6174 )
2024-05-24 20:58:26 +02:00
f8857e6072
input: find surface pos correctly when mouse drag is active
...
fixes #6144
2024-05-18 21:20:01 +01:00
23cd4c7998
seat: update keymap/repeat info on keymap events from keebs
...
fixes #6114
2024-05-17 19:28:33 +01:00
Agent00Ming
3ac0e7ead1
seat: Send discrete event when axis source is scroll wheel ( #6103 )
...
modified: src/managers/SeatManager.cpp
modified: src/managers/input/InputManager.cpp
Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
2024-05-16 13:30:55 +01:00
7fbe05a250
inputmgr: send pointer motion on ffm != 1
...
fixes #6077
2024-05-15 16:22:45 +01:00
7eeee2c94e
wl-data-device: move to hyprland impl
2024-05-14 23:13:35 +01:00
fc72df8e58
seatmgr: Add a grab class
2024-05-14 23:13:33 +01:00
0cfdde3d1a
xdg-shell: move to new impl
2024-05-14 23:02:24 +01:00
121d3a7213
wl_seat: move to hyprland impl
2024-05-14 23:02:24 +01:00
Sungyoon Cho
d0a4a0e0d8
input: fix modifier and leds ( #6062 )
2024-05-14 16:14:43 +01:00
b0861b6709
config: move various cursor-related vars to cursor:
2024-05-09 22:25:20 +01:00
635a02d83f
layer-shell: move to new impl
...
Also bumps the hw-s dep
2024-05-09 22:02:18 +01:00
c98acaed62
virtual-keyboard: release keys before destroy
2024-05-09 14:07:21 +01:00
84e8d1810d
Tablet: move to new impl
...
Ring and strip are not implemented. Will I implement this? God fucking knows. Nobody seems to have that anyways.
2024-05-09 13:37:39 +01:00
ed411f53bd
cursor: move to a hyprland impl
...
This moves wlr_cursor to a completely new impl mostly under
CPointerManager
Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
2024-05-09 13:37:39 +01:00
Vaxry
1ed1ce9506
internal: new shared_ptr and weak_ptr implementation ( #5883 )
...
moves std::shared_ptrs to a new implementation
Advantages:
- you can dereference a weak_ptr directly. This will obviously segfault on a nullptr deref if it's expired.
- this is useful to avoid the .lock() hell where we are 100% sure the pointer _should_ be valid. (and if it isn't, it should throw.)
- weak_ptrs are still valid while the SP is being destroyed.
- reasoning: while an object (e.g. CWindow) is being destroyed, its `weak_ptr self` should be accessible (the sp is still alive, and so is CWindow), but it's not because by stl it's already expired (to prevent resurrection)
- this impl solves it differently. w_p is expired, but can still be dereferenced and used. Creating `s_p`s is not possible anymore, though.
- this is useful in destructors and callbacks.
2024-05-05 17:16:00 +01:00
a3b4923c42
input: ignore destroyed devices in static events
...
fixes #5863
2024-05-04 00:48:25 +01:00
1237732b97
input: Introduce basic hyprland HID classes
...
Implements an intermediary HID class for mice, keyboards and touch devices, removing the old structs from WLClasses.hpp
Yes, virtual ones are duplicated a bit, but will likely be de-duped once wlr_input_device is not used anymore.
2024-05-03 22:40:27 +01:00