summaryrefslogtreecommitdiff
path: root/src/managers/input/InputManager.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* internal: Window storage rework - part 1 (#5762)Vaxry2024-04-271-24/+25
| | | | | | | | | | | | | | | | | * Window storage rework - part 1 * format * remove useless include * fix pch * format * fix crash in dwindle * fix vram leak * prefer .expired() for bool checks
* pointer-constraints: move to new implVaxry2024-04-271-4/+15
|
* input: fix active keyboard for seat after destroying one (#5725)drendog2024-04-231-10/+9
| | | | | * fix: manage active keyboard for seat after destroying one * chore: clang-format
* relative-pointer: move to new implVaxry2024-04-211-5/+4
|
* idle-inhibit: move to new implVaxry2024-04-211-1/+4
|
* input: check for focused_client being null before reading its clientVaxry2024-04-211-0/+3
| | | | ref #5673
* cursor-shape: move to new implVaxry2024-04-211-17/+23
|
* input: send an empty relative event after constraint motion eventsVaxry2024-04-151-0/+1
| | | | ref #4015
* input: Option for handling off-window axis events (#4177)dranull2024-04-081-0/+19
|
* IME: fix IME popup mouse inputs (again) (#5417)Junxuan Liao2024-04-071-17/+17
| | | | | | | | `lastBoxLocal`'s size should be the actual popup's size instead of the cursor rectangle's size. Also, the rectangle position is now relative to the popup. (Actually fixes #5255 imho.) One thing #3922 missed was handling focus held by buttons. Let's hope I get it right this time.
* input: Dont set active monitor when simulating mouse movement (#5465)thejch2024-04-071-5/+5
| | | | | * fix mouse simulation switching focusedmon * fix some warnings with wrong enum
* input: fix focus on maximized bg surfacesVaxry2024-04-061-3/+5
|
* input: fixup background layer checking on maximizedVaxry2024-04-061-7/+6
|
* input: allow focus to bottom layers on maximized in reservedVaxry2024-04-031-9/+18
|
* Workspace/core: Refactor workspace storage (#5380)Vaxry2024-04-021-4/+4
| | | | | * refactor workspaces to use ptrs * clang-format
* input: Fix incorrect keyboard focus taken when no window was present (#5337)Zach DeCook2024-03-311-4/+2
| | | A non-keyboard layer never needs keyboard focus
* layer-shell: render popups above everythingVaxry2024-03-251-0/+3
|
* keybinds: Fix exit trigger by moving it to monitor.frame (#5240)dmayle2024-03-251-3/+0
|
* IME: Refactor and fixup popupsVaxry2024-03-241-3/+3
|
* input: Add options to set tablet's active area (#5199)Khalid2024-03-231-0/+7
| | | | | | | | | * Add options to set tablet's active area * Set tablet's active area in `setTabletConfigs` * Fix formatting for new variables in ConfigManager * Report tablet's physical size with hyprctl
* tablet: Add left_handed option for tablets (#5178)Khalid2024-03-201-0/+5
| | | | | * Add left_handed option for tablets * Update left_handed tablet option's fallback string
* refactor: move window.hpp to desktop/Vaxry2024-03-201-0/+1
|
* input: fix minor default cursor reset conditionsVaxry2024-03-091-0/+2
|
* deps: update wlrootsVaxry2024-03-091-6/+6
|
* input: scale local coords in constraintsVaxry2024-03-081-1/+1
| | | | fixes #5029
* config: Add input:scroll_factor configuration (#4980)Grant Ammons2024-03-051-2/+3
| | | | | | | | | | * Allow for input:scroll_factor configuration This PR will allow for a `scroll_factor` configuration within an `input` block. The purpose is to control the scroll factor of external mice. Closes #2574. * clang-format
* input: send motion to confined cursorsVaxry2024-03-041-0/+1
|
* config: improve config value infrastructureVaxry2024-03-031-47/+48
|
* input: Rewritten pointer constraints (#4889)Vaxry2024-03-021-176/+32
| | | | | | | | | | | | | | | | | * rewritten constraints * send pointer enter on activate if not pointer focus * minor cleanup * simulate movement on commit * don't ignore oneshot prop * various fixes * dont send motion on confined * update pos hint on region change
* keybinds: better follow xkb translation stateVaxry2024-03-021-3/+4
| | | | fixes #4908
* animations: Refactor AnimatedVariable (#4911)GartoxFR2024-03-021-8/+8
| | | | | | | | | | | | | | | | | | | | | | | * animation: Refactor AnimatedVariable This commit decomposes the AnimatedVariable class into a base class with the common attribute to all variable types and a templated derived type containing strongly typed info on the type being animated. Access to the typed version is perfomed using the visitor pattern. A utility is provided to build a visitor on the fly using lambdas. Adding a new type to be animated should just be a matter of adding the typed in the list defined by the ANIMABLE_TYPES macro The size of the commit is justified by the API change in the AnimatedVariable class. No more vec(), fl() or col() method but a unified value() method. * animation: Remove visitor pattern * animation: Fix coding style * animation: Fix coding style
* config: Add option to resolve keybinds by sym instead of code (#4851)Tobias Zimmermann2024-02-271-2/+9
| | | | | | | | | | | | | | This commit adds the new configuration option 'resolve_binds_by_sym' which can be set globally or per-device. It is off by default, which preserves the current behavior. This setting only affects the behavior of keybinds that are defined via key symbols, not those defined via keycode. Binds defined by symbols currently activate if the keycode pressed would generate the specified symbol on the first layout specified in the input section. If enabled, keys pressed on the relevant device will instead match keybinds by the symbols they produce with their current layout. Closes #1881.
* input: Map touch devices and tablets bound to an output (#3544)Philip Damianik2024-02-271-6/+22
| | | | | | | | | | | * Map bound touch devices and tablets to an output * Add "[[Auto]]" default option for auto detecting outputs for touch inputs * Bind new monitors to configured touch and tablet devices * Use Monitor::matchesStaticSelector in CConfigManager::getMonitorRuleFor * Use Monitor::matchesStaticSelector in CCompositor::getMonitorFromString
* Migrate the config to hyprlang (#4656)Vaxry2024-02-181-44/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Migrate to hyprlang * pop up errors * fix swapped args * Meson & Nix: build with hyprlang * CI: add hyprlang to setup action * add infra for plugin stuff * fix hyprctl getoption * fix hyprctl getoption with json * format * fix post parse logic * fix autogen config * oops missed exec-once * fmt * fix ws rules * require 0.3.0 for hyprlang * nix: flaek * minor type fixes * fix cfg usages in swipe * use cvarlist for ws rules * fix throw in addPluginConfigVar * Nix: update hyprlang * minor fixes * fix disableLogs * mention hyprlang docs * bump hyprlang dep in cmake * Meson: bump min hyprlang version Nix: update hyprlang * minor fix * Nix: update meson patch --------- Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
* input: refocus on completed dragsVaxry2024-02-171-1/+1
|
* input: fix follow_focusVaxry2024-02-151-2/+2
|
* input: don't schedule frame on cursor move on hw cursorsVaxry2024-02-151-1/+2
| | | | | | spams unnecessary frames. Maybe we should ignore empty damage frame requests too? ref #3747 #3490
* input: avoid rampant refocuses on popupsVaxry2024-02-151-2/+10
|
* input: log cursor image requestsVaxry2024-02-151-0/+4
|
* input: avoid reassigns of unchanged surfaces in processMouseRequestVaxry2024-02-121-2/+7
|
* input: focus monitor on mouse downVaxry2024-02-101-2/+4
| | | | fixes #4649
* input: partially revert #4514Vaxry2024-02-101-6/+2
| | | | issues with refocus in #4649
* input: focus window on mouse down on decoration (#4514)MightyPlaza2024-02-041-9/+13
| | | Also unifies vectorToWindow funcs
* deps: update wlrootsVaxry2024-01-271-1/+2
| | | | drops requirement for WLR_DRM_NO_ATOMIC provided kernel >= 6.8
* input: Allow disabling touchscreen input (#4517)Zach DeCook2024-01-241-2/+6
| | | | | * enable/disable touch device * ConfigManager: update documentation of 'enabled'
* core: improve cleanup logicvaxerski2024-01-191-0/+3
|
* input: partially revert #4401vaxerski2024-01-171-1/+1
| | | | ref #4465
* layershell: Fix greedy mouse grab from keyboard_interactive layer (#4401)Zach DeCook2024-01-121-2/+2
| | | | | * Layer: Don't allow a keyboard-layer to steal focus from other layers * Input: Don't change keyboard focus on click if focus is locked
* input: Ignore some input events when focus is on a layer surface (#4306)dranull2024-01-011-4/+6
| | | | | * No motion events with focus on LS on workspace change * Don't check scroll events on decorations with focus on LS
* groupbar: Middle click on groupbar to close tab (#4297)dranull2023-12-301-1/+1
| | | | | | | | | * Prevent window swapping when the head is removed * Bring floating windows to top when selected * Allow clicks on gropubar in fullscreen 1 * Close window on groupbar with middle click