summaryrefslogtreecommitdiff
path: root/src/managers/input/InputManager.cpp
Commit message (Collapse)AuthorAgeFilesLines
* input: move dmps activation to input listeners (#7721)Maximilian Seidler2024-09-091-12/+9
|
* input: kb focus mouse focused window if unset (#7666)outfoxxed2024-09-061-0/+3
| | | | | 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.
* input: move idle notify to input handlers (#7659)Maximilian Seidler2024-09-061-11/+8
| | | | | | | | | * Revert "input: don't emit idle activity when calling simulateMouseMovement (#7649)" This reverts commit ea10592ad3c861ff2ce73ad7785bcb5a45a9e400. * input: move idle notify calls to input event listeners * input: don't post idle activity when keyboard is not enabled
* sessionLock: ensure sls focus in some edge cases (#7647)Maximilian Seidler2024-09-041-28/+28
| | | | | | | | | | | | | | | | * 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
* input: don't emit idle activity when calling simulateMouseMovement (#7649)Maximilian Seidler2024-09-041-3/+3
|
* window/xwayland: minor property cleanupVaxry2024-08-301-2/+2
| | | | fixes #6921
* misc: constify the remaining for loops (#7534)Tom Englund2024-08-261-10/+10
| | | now we roll loops at blazing constified speed.
* core: make most for loops use const references (#7527)Tom Englund2024-08-261-3/+3
| | | | why not let the compiler optimise things for us at hyprspeeds when we can.
* input: Fix disabling tap-to-click (#7304)Sami Liedes2024-08-181-2/+3
| | | | | * Allow disabling tap-to-click * Style fix
* IPC: Add config descriptions (#7377)Vaxry2024-08-171-8/+3
| | | | | | | Thanks @gulafaran for the work --- Co-authored-by: @gulafaran
* input: fix leds on kb creation (#7206)Ikalco2024-08-071-0/+2
|
* internal: refactor fullscreen states (#7104)MightyPlaza2024-07-311-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* input: fix keyboard leds with multiple keyboards (#7079)Sungyoon Cho2024-07-281-1/+8
|
* input: unify removing currentlyDraggedWindow (#7071)MightyPlaza2024-07-271-1/+1
| | | | | | | | 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
* input: refocus last window on keyboard unfocusable surfacesvaxerski2024-07-271-0/+7
| | | | fixes #4460
* debug: get rid of useless 1s in logs (#6969)Ikalco2024-07-221-4/+4
| | | | | * get rid of 1s in logs lol * replace WLR with AQ in logs
* input: fix invalid usage of dev in setTouchDeviceConfigsVaxry2024-07-211-3/+3
| | | | ref #6943
* Core: Move to aquamarine (#6608)Vaxry2024-07-211-164/+68
| | | | | | | | | | | | | | 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>
* input: Emulate discrete scrolling from v120 events (#6881)Agent00Ming2024-07-181-3/+39
| | | | | | | * 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>
* style: fix clang-formatVaxry2024-07-131-2/+1
|
* inputmgr: ensure we dont divide by zero (#6713)Tom Englund2024-06-301-1/+1
| | | | | 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.
* input: fix capabilities enum types passedVaxry2024-06-291-8/+1
| | | | | | hyprland down to the seat protocol impl expects IHID capabilities, not WL_ ones ref #6702 #6196
* vrr: add option to fix mouse breaking vrr (#6483)UjinT342024-06-141-2/+4
| | | | | | | | | | | | | | | * 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>
* input: fallback to main surface if not found on windowVaxry2024-06-121-0/+4
| | | | fixes #6421
* seatmgr: fix missing nullcheck in updateActiveKeyboardDataVaxry2024-06-121-5/+13
| | | | | | 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
* layer: don't close special ws when restoring focus (#6424)MightyPlaza2024-06-111-1/+1
| | | | | modified: src/Compositor.cpp modified: src/Compositor.hpp modified: src/managers/input/InputManager.cpp
* layershell: Fix keyboard focus grabs (#4968) (#6394)outfoxxed2024-06-111-1/+36
|
* sessionLock: fix focus not being tied to mouse (#6414)outfoxxed2024-06-111-4/+7
|
* input: fix virtual devices not updating capabilities (#6366)void0red2024-06-081-6/+10
| | | Signed-off-by: void0red <void0red@gmail.com>
* wayland/core: move to new impl (#6268)Vaxry2024-06-081-29/+31
| | | | | * wayland/core/dmabuf: move to new impl it's the final countdown
* seat: discrete round away from zero + high res scrolling (#6317)Agent00Ming2024-06-031-2/+4
| | | | | | | | * 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
* xwayland: move to hyprland impl (#6086)Vaxry2024-05-251-4/+14
|
* keybinds: Added new dispatcher (sendshortcut) (#6174)Can2024-05-241-1/+3
|
* input: find surface pos correctly when mouse drag is activeVaxry2024-05-181-17/+20
| | | | fixes #6144
* seat: update keymap/repeat info on keymap events from keebsVaxry2024-05-171-0/+3
| | | | fixes #6114
* seat: Send discrete event when axis source is scroll wheel (#6103)Agent00Ming2024-05-161-1/+1
| | | | | | modified: src/managers/SeatManager.cpp modified: src/managers/input/InputManager.cpp Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
* inputmgr: send pointer motion on ffm != 1Vaxry2024-05-151-0/+3
| | | | fixes #6077
* wl-data-device: move to hyprland implVaxry2024-05-141-22/+6
|
* seatmgr: Add a grab classVaxry2024-05-141-0/+26
|
* xdg-shell: move to new implVaxry2024-05-141-3/+3
|
* wl_seat: move to hyprland implVaxry2024-05-141-74/+60
|
* input: fix modifier and leds (#6062)Sungyoon Cho2024-05-141-6/+22
|
* config: move various cursor-related vars to cursor:Vaxry2024-05-091-1/+1
|
* layer-shell: move to new implVaxry2024-05-091-2/+3
| | | | Also bumps the hw-s dep
* virtual-keyboard: release keys before destroyVaxry2024-05-091-0/+2
|
* Tablet: move to new implVaxry2024-05-091-45/+86
| | | | Ring and strip are not implemented. Will I implement this? God fucking knows. Nobody seems to have that anyways.
* cursor: move to a hyprland implVaxry2024-05-091-44/+46
| | | | | | | This moves wlr_cursor to a completely new impl mostly under CPointerManager Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
* internal: new shared_ptr and weak_ptr implementation (#5883)Vaxry2024-05-051-11/+10
| | | | | | | | | | | 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.
* input: ignore destroyed devices in static eventsVaxry2024-05-041-0/+12
| | | | fixes #5863
* input: Introduce basic hyprland HID classesVaxry2024-05-031-259/+186
| | | | | | 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.