summaryrefslogtreecommitdiff
path: root/src/managers/input/InputManager.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* pointer: map devices across all outputs by default (#8352)JManch2024-11-111-0/+3
|
* input: ignore non-kb ls-es in refocusLastWindowVaxry2024-11-091-2/+8
| | | | ref #8293
* input: cleanup device naming logicVaxry2024-11-091-22/+3
| | | | ref #8301
* input: Refocus window on scrolling if follows mouse (#8361)nickodei2024-11-081-13/+23
|
* internal: more profiling less calls and local copies (#8300)Tom Englund2024-10-301-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * compositor: reduce amount of window box copies mousemoveunified can call this very frequently, the cbox copying actually shows up as an impact in such cases, move it down in the scope and only do it when necessery. * core: constify and reference frequent calls profiling shows these as frequent called functions try to reduce the amount of copies with references and const the variables. * pointermgr: remove not used local copy, const ref remove unneded local copies and const ref cursorsize. * inputmgr: reduce amount of calls to vectortowindow the amount of calls to g_pCompositor->vectorToWindowUnified fast ramps up in cpu usage with enough windows existing and moving the mouse, move the PWINDOWIDEAL up and reuse it if its already the same. * protocol: compositor remove unused local copy remove unused local copy of accumulateCurrentBufferDamage and const previousBuffer. * renderer: reduce scope of variables and refactor move a few variables down in their scopes to reduce the amount of calls and copies when not needed, also add one more for loop in renderWorkspaceWindows and store the windows in a vector with weakpointers that should be rendered, this adds a loop but reduces the amount of repeated calls to shouldRenderWindow and also makes the rest of the loops go over way smaller vector when many windows exist.
* input: revert #8279Vaxry2024-10-301-1/+0
|
* input: simulate mouse movement after scroll to refocus window (#8279)nickodei2024-10-301-0/+1
|
* internal: optimize cursor move a bit (#8264)Tom Englund2024-10-271-22/+13
| | | | | | | | | | | | | | | | | | | | | * window: inline and const getWindowMainSurfaceBox getWindowMainSurfaceBox gets called a lot of times from deep down from mousemoveunified, profiling mousemoveunified it spends quite a lot of cpu time in here, let the compiler optimize the call to getWindowMainSurfaceBox by inlining and making it const. reducing the overhead. * inputmgr: return early and use std::any_of return early in mousemoveunified to reduce the amount of unnecessery calls to various pointers when not needed, also make isconstrained use std::any_of instead of for loop to use the STL optimized paths with hopes and dreams marginally faster. * decoration: return early, reduce temporar copy return earlier and reduce the temp copies by using one .lock instead of two
* internal: Remove some unused lambda captures (#8218)Honkazel2024-10-241-1/+1
|
* internal: Move CMonitor to SP (#8178)Vaxry2024-10-191-5/+5
| | | | | * move monitors to sp * XD
* input: Fix VRR for constrained cursors (#6877)UjinT342024-10-121-3/+18
|
* 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
|