summaryrefslogtreecommitdiff
path: root/src/protocols/core/Seat.cpp
Commit message (Collapse)AuthorAgeFilesLines
* debug: move to hyprutils' logger (#12673)Vaxry2025-12-181-7/+7
|
* protocols/seat: force down rounding of coords at the surface edge (#11890)Vaxry2025-10-011-2/+25
| | | ref https://github.com/hyprwm/Hyprland/discussions/11665
* input: support xkb v2 format (#11482)usering-around2025-09-111-3/+3
|
* protocols: implement pointer-warp-v1 (#11469)Ikalco2025-08-291-0/+9
|
* refactor: Use new hyprutils casts (#11377)Kamikadze2025-08-141-2/+2
|
* virtualkeyboard: Add options to skip releasing pressed keys on close and to ↵JS Deck2025-08-041-9/+12
| | | | skip sharing key states (#11214)
* core: use new typed signals from hu (#10853)outfoxxed2025-07-081-3/+3
|
* refactor: use std::ranges whenever possible (#10584)Kamikadze2025-05-301-2/+2
|
* protocols: refactor class member vars (core) (#10259)davc0n2025-05-031-166/+166
|
* managers: refactor class member vars (#10242)davc0n2025-05-021-8/+8
|
* devices: refactor class member vars (#10206)davc0n2025-04-291-4/+4
|
* time: move to stl's clocks and move timerVaxry2025-04-161-3/+2
|
* seat: avoid sending null surfaces in leave/enter eventsVaxry2025-03-241-5/+5
| | | | ref #9699
* core/compositor: Fix dropping cursor buffer data early (#9700)Lee Bousfield2025-03-221-1/+1
|
* core: begin using CFileDescriptor from hyprutils (#9122)Tom Englund2025-01-301-23/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config: make fd use CFileDescriptor make use of the new hyprutils CFileDescriptor instead of manual FD handling. * hyprctl: make fd use CFileDescriptor make use of the new hyprutils CFileDescriptor instead of manual FD handling. * ikeyboard: make fd use CFileDescriptor make use of the new CFileDescriptor instead of manual FD handling, also in sendKeymap remove dead code, it already early returns if keyboard isnt valid, and dont try to close the FD that ikeyboard owns. * core: make SHMFile functions use CFileDescriptor make SHMFile misc functions use CFileDescriptor and its associated usage in dmabuf and keyboard. * core: make explicit sync use CFileDescriptor begin using CFileDescriptor in explicit sync and its timelines and eglsync usage in opengl, there is still a bit left with manual handling that requires future aquamarine change aswell. * eventmgr: make fd and sockets use CFileDescriptor make use of the hyprutils CFileDescriptor instead of manual FD and socket handling and closing. * eventloopmgr: make timerfd use CFileDescriptor make the timerfd use CFileDescriptor instead of manual fd handling * opengl: make gbm fd use CFileDescriptor make the gbm rendernode fd use CFileDescriptor instead of manual fd handling * core: make selection source/offer use CFileDescriptor make data selection source and offers use CFileDescriptor and its associated use in xwm and protocols * protocols: convert protocols fd to CFileDescriptor make most fd handling use CFileDescriptor in protocols * shm: make SHMPool use CfileDescriptor make SHMPool use CFileDescriptor instead of manual fd handling. * opengl: duplicate fd with CFileDescriptor duplicate fenceFD with CFileDescriptor duplicate instead. * xwayland: make sockets and fds use CFileDescriptor instead of manual opening/closing make sockets and fds use CFileDescriptor * keybindmgr: make sockets and fds use CFileDescriptor make sockets and fds use CFileDescriptor instead of manual handling.
* core: add LIKELY and UNLIKELY macrosvaxerski2025-01-171-8/+8
| | | | helps the compiler optimize
* core: Add clang-tidy (#8664)Vaxry2024-12-071-3/+3
| | | | | This adds a .clang-tidy file for us. It's not a strict requirement to be compliant, but I tuned it to be alright.
* seat: fix double scrolling in some applications (#8583)Ikalco2024-11-261-0/+4
|
* seat: avoid sending pointless 'keymap' and 'repeat_info' events (#8276)staticssleever6682024-10-281-6/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #### Describe your PR, what does it fix/add? Fix lag spikes when pressing more than 6 keys at the same time. #### Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.) Debugging process: <details> This is triggered by typing some applications, like CopyQ or XWayland. Typing in Firefox doesn't lead to lag, however it itself does lag handling these events. Profiling CopyQ shows that paths leading to `QtWaylandClient::QWaylandInputDevice::Keyboard::keyboard` take over 80% of processing time of an otherwise idle program. Looking at output of 'wev' even when it's not focused shows same events received over and over again. ``` [14: wl_keyboard] repeat_info: rate: 25 keys/sec; delay: 300 ms [14: wl_keyboard] keymap: format: 1 (xkb v1), size: 64754 ``` Looking at what passes through CInputManager::onKeyboardKey() -> CSeatManager::setKeyboard() shows Hyprland 'switching' between endpoints of the same keyboard, one of them being named like the other but with '-1' suffix. </details> Tested changing layouts in Fcitx5 and with following config. ``` input:kb_layout = us,cz input:kb_variant = ,qwerty input:kb_options = grp:alt_shift_toggle ``` Also tested changing 'input:repeat_delay' while running. Curiously, now these events appear in the output of 'wev' only once. Changing layouts still seems to work fine though. #### Is it ready for merging, or does it need work? Ready for merging.
* misc: constify the remaining for loops (#7534)Tom Englund2024-08-261-4/+4
| | | now we roll loops at blazing constified speed.
* core: make most for loops use const references (#7527)Tom Englund2024-08-261-1/+1
| | | | why not let the compiler optimise things for us at hyprspeeds when we can.
* protocols: refactor protocol logging to a macro (#7324)Tom Englund2024-08-151-2/+0
| | | | | | this avoids the usage of the unique_ptr PROTO::protocol before it has been constructed incase one wants to log something inside the constructor itself, move the logging to macros and print file:linenumber on ERR,CRIT,WARN and classname on the rest of the levels.
* core/surface/buffer: Buffer lock/release fixes (#7110)Vaxry2024-07-311-1/+20
|
* wl_seat: avoid sending events to objects without capsVaxry2024-07-221-0/+69
| | | | ref #6835
* Core: Move to aquamarine (#6608)Vaxry2024-07-211-2/+2
| | | | | | | | | | | | | | 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>
* seat: don't send keyboard data without a keyboard cap (#6697)はれなよ2024-06-291-0/+7
| | | | | * Fix #6279: prevent sending keymap or repeat info events by keyboards without keyboard capability * Remove brackets
* seat: track pressed pointer buttonsVaxry2024-06-171-0/+26
| | | | releases them on leave, unless there is a dnd going on
* wl_seat: accomodate for apps late-binding seat resourcesVaxry2024-06-161-0/+6
| | | | | | Sends enter events when an app binds wl_keyboard or wl_pointer later than it should. Fixes some buggy apps. Fixes #6131
* wl_seat: send repeat data from current keyboard on bindVaxry2024-06-151-3/+6
| | | | ref #6515
* seat: fixup touch event handlingvaxerski2024-06-121-10/+11
| | | | fixes #6353
* wayland/core: move to new impl (#6268)Vaxry2024-06-081-29/+25
| | | | | * wayland/core/dmabuf: move to new impl it's the final countdown
* seat: don't send keymap on empty devicevaxerski2024-06-021-0/+3
|
* wl_seat: move to hyprland implVaxry2024-05-141-0/+437