summaryrefslogtreecommitdiff
path: root/src/managers/input
Commit message (Collapse)AuthorAgeFilesLines
* input: add flip_x and flip_y for touchpad (#9481)nyx2025-03-031-4/+21
|
* input: Provide a non-zero time for button release triggered during window ↵Indy Ray2025-03-011-1/+4
| | | | | unmap. (#9513) It doesn't seem that this is actually required, but it seems more consistant with other areas, such as in CVirtualKeyboardV1Resource::releasePressed.
* input: add follow_mouse_threshold (#9392)andrewandreii2025-02-172-11/+19
|
* tablet: take `active_area_size` into account when sending tip event (#9325)clamydo2025-02-091-11/+23
| | | | | | | | | | | | | | | | | * fixes #9322, take `active_area_size` into account when sending tip event * check if `relative_input` is set As suggested by @y47s5s68tq870r7tc1xpp755pabopg * refactoring active area in own function to keep it DRY * coding style * making transformation static --------- Co-authored-by: clamydo <clamydo@users.noreply.github.com>
* renderer/internal: stop using box pointersVaxry2025-01-261-1/+1
| | | | in favor of const refs
* input: pass touch events to lock screens (#9129)Junxuan Liao2025-01-252-9/+31
| | | | | * refactor: use weak pointers for session lock surfaces * input: pass touch events to lock screens
* core: move all shared_ptrs from the STL to hyprutils (#9143)Vaxry2025-01-235-10/+9
|
* tablet: send `motion`s on tip events (#9132)Junxuan Liao2025-01-231-4/+5
| | | | Typically, the position of the tool tip also changes on tool tip events, so we should forward this update to the clients.
* core: cleanup header includes (#9088)user1111111111111111111111111111111112025-01-177-2/+15
| | | Cleanup some unneeded includes to speed up compilation
* core: move parts of the animation system to hyprutils (#8868)Maximilian Seidler2025-01-074-75/+77
| | | | | | | | | | | | | * core: change animation manager to use Hyprutils::Animation * config: move animation config to hyprutils animation tree * use g_pAnimationManager->createAnimation and the new PHLANIMVAR template * core: use CGenericAnimatedVariabled::{enabled,setConfig,getStyle} and adapt callbacks * core: adapt animated variable usage (dereference the shared pointer) * misc: bump CMakeLists to hyprutils 0.3.3
* internal: remove dead code (#8748)Ikalco2024-12-172-5/+0
|
* core: drop using deques in favor of vectorsVaxry2024-12-161-1/+1
| | | | No point in most of these.
* input: add warp_back_after_non_mouse_inputVaxry2024-12-152-3/+29
| | | | | | adds cursor:warp_back_after_non_mouse_input fixes #8675
* core/data: Use pointer focus for DnD operations (#8707)Vaxry2024-12-141-2/+3
| | | fixes #7737
* hyprctl: add an inhibitingIdle field to windowsVaxry2024-12-132-13/+42
| | | | fixes #4322
* windowrules: add rules for mouse and touchpad scroll factors (#8655)Mike Will2024-12-111-1/+3
|
* core: Add clang-tidy (#8664)Vaxry2024-12-075-17/+15
| | | | | This adds a .clang-tidy file for us. It's not a strict requirement to be compliant, but I tuned it to be alright.
* core: workspace-related function cleanup / refactorVaxry2024-11-223-12/+11
| | | | CCompositor is massive, and has a lot of functions that could be better optimized if in CWorkspace
* pointer: map devices across all outputs by default (#8352)JManch2024-11-111-0/+3
|
* tablet: use inputMgr unified naming schemeVaxry2024-11-091-3/+3
| | | | ref #8301
* input: ignore non-kb ls-es in refocusLastWindowVaxry2024-11-091-2/+8
| | | | ref #8293
* input: cleanup device naming logicVaxry2024-11-092-22/+9
| | | | 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
|
* core: move internal structures to monitor pointers (#8266)Vaxry2024-10-272-4/+3
|
* 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-195-15/+15
| | | | | * move monitors to sp * XD
* IME: Fixup IME popup candidate windows position when scale is not 1.0 (#8117)fanlumaster(Fany Full)2024-10-141-2/+2
|
* input: Fix VRR for constrained cursors (#6877)UjinT342024-10-122-3/+19
|
* config/layout: nuke no_gaps_when_only (#8072)Vaxry2024-10-111-1/+0
|
* internal: nuke wlsignal and relatedVaxry2024-09-242-2/+0
| | | | old semi-wrappers for wl_signal, they are no longer used
* textinput: don't reset if ti isn't enabled (#7798)Sungyoon Cho2024-09-151-0/+7
|
* textinput: fix tiv3 leave (#7761)Sungyoon Cho2024-09-121-10/+14
|
* textinput: handle IME resetting (#7731)Sungyoon Cho2024-09-104-13/+27
|
* input: move dmps activation to input listeners (#7721)Maximilian Seidler2024-09-091-12/+9
|
* tiv1: fix deleting first character (#7716)Sungyoon Cho2024-09-091-1/+1
|
* 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-064-24/+9
| | | | | | | | | * 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
* textinput: fix ime activation in some edge cases (#7660)Sungyoon Cho2024-09-051-12/+34
| | | | | * textinput: clear ti3 state when focused surface gets destroyed * textinput: send enter to newly created ti in focus
* 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-042-4/+4
|
* textinput: don't deactivate ime if another ti is focused (#7617)Sungyoon Cho2024-09-011-2/+4
|
* textinput: send deactivate to ime on destory ti (#7614)Sungyoon Cho2024-09-011-5/+4
|
* window/xwayland: minor property cleanupVaxry2024-08-301-2/+2
| | | | fixes #6921
* misc: constify the remaining for loops (#7534)Tom Englund2024-08-264-19/+19
| | | now we roll loops at blazing constified speed.
* core: make most for loops use const references (#7527)Tom Englund2024-08-264-9/+9
| | | | 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