Commit graph

831 commits

Author SHA1 Message Date
Luiz Sardinha
c80cd56f27 fix: properly handling infinite timeout for macOS on EventQueue 2026-02-27 19:47:59 -05:00
sithlord48
9188d4b1c1 build: require libportal 0.9.1 2026-02-26 12:52:03 +00:00
sithlord48
4c7f546c60 fix: XWindowScreen, do not send a scroll delta for 0
fixes: #9477
2026-02-18 18:11:38 +00:00
wake
e555b63931 fix: extra "a" with Rime and apply clang-format 2026-02-11 14:33:04 +00:00
sithlord48
a532f655c1 feat: support horizontal scrolling
fixes: #7220
based on 9f15b1bcf2
Co-authored-by: Evan Maddock <maddock.evan@vivaldi.net>
2026-02-11 11:59:28 +00:00
sithlord48
050cb649c2 refactor: use ScrollDelta for fakeMouseWheel 2026-02-09 09:02:21 +00:00
sithlord48
5612e99f1d refactor: Move the scrollModifiers to ISecondaryScreen 2026-02-09 09:02:21 +00:00
sithlord48
a520e3b2e9 refactor: check settigns for invertscroll in PlatformScreen 2026-02-06 12:51:39 +00:00
sithlord48
0f6ec6c196 refactor: XWindowsScreen use a fixed minimum step value in place of the scroll speed setting 2026-02-06 12:51:39 +00:00
sithlord48
857326b274 refactor: rename PlatformScreen::mapClientScrollDirection -> PlatformScreen::applyClientScrollModifier
prepare for horizontal scroll support by having it handle pairs of x and y values
2026-02-06 12:51:39 +00:00
sithlord48
84e1e722c0 fix: Send extra mouse buttons on mac os servers to clients 2026-02-04 09:56:10 +00:00
sithlord48
4200de66ee fix: scroll Issue on X11 by not checking for wheel in mapButtonToX 2026-02-04 09:45:25 +00:00
sithlord48
05c050b81e fix: handle back mouse on xwindows and windows
based on : 9f15b1bcf2
fixes: #5682
2026-02-03 09:41:22 +00:00
Johannes Berg
f065979b3f Fix: detect key repeat in libei input
For libei, there's no indication that a key is repeated.
However, sending repeated key down events (DKDN instead
of DKRP for the synergy protocol) can be confusing to
clients, which then causes issues like in #7971.

Detect repeated key down events in EiScreen server and
send them to the client with the repeat flag set, so in
e.g. synergy that causes the DKRP messages, to be less
confusing.

For me this fixes an issue where the synergy client is
creating a USB device, which requires repeated events
to be entirely dropped since the host OS where the USB
device is connected will do its own repeat when a key
is held down.
2026-01-30 12:19:29 +00:00
sithlord48
1ed394e3ef refactor: remove DEBUG3 and move DEBUG3 messages to DEBUG2 2026-01-26 12:35:00 +00:00
sithlord48
2cf4fc8d0a refactor: remove DEBUG4 level and move any DEBUG4 messages to DEBUG3 2026-01-26 12:35:00 +00:00
sithlord48
d6ffcd37d7 refactor: remove DEBUG5 level and move any DEBUG5 message to DEBUG4 2026-01-26 12:35:00 +00:00
Nick Bolton
e7eb324f16 chore: fix typos in variable names and log messages 2026-01-22 14:30:45 +00:00
sithlord48
ed114252e2 refactor: WlClipboard, close not kill running copy process on exit 2026-01-22 12:35:54 +00:00
sithlord48
aca274e9ee refactor: add (C) to copyright header where missing 2026-01-18 15:38:59 +00:00
sithlord48
d8dfba6372 fix: OSXScreenSaver, do not call CFRelease for empty processesNames 2026-01-13 01:13:32 +00:00
sithlord48
3ff06b7d9a refactor: use ArchDaemonWindows::getDaemonQuitMessage directly
remove now unused ArchMiscWindows::getDaemonQuitMessage
2026-01-06 12:05:23 +00:00
Povilas Kanapickas
3598eb6a47 refactor: RM IEventQueueBuffer::newTimer and IEventQueueBuffer::deleteTimer
port: https://github.com/input-leap/input-leap/pull/1592
Original Message:
  base: Remove IEventQueueBuffor newTimer and deleteTimer APIs
        In the current implementation timers are not platform-specific. On all
        currently supported platforms timer constrution and destruction is
        simple new and delete, so it does not make sense having this
        customization point.
Original Author: p12tic
Ported By: sithlord48
2026-01-02 12:27:24 +00:00
sithlord48
7682e17afe refactor: Move src/lib/Config => src/lib/platform/XWindowsConfig
This file is used only in XWindows related platform code.
2025-12-30 17:22:00 +00:00
sithlord48
f8d9de1f2e build: platform, remove unneeeded include_dir for mac os system path 2025-12-30 13:41:33 +00:00
sithlord48
53d2c5e399 build: platform, remove link_wayland_libs macro and do it in its only used place allowing more simplification of the linking platform lib 2025-12-30 13:41:33 +00:00
sithlord48
89ee932db3 build: adjust spacing for cmake files 2025-12-30 13:41:33 +00:00
sithlord48
525123573e chore: use U for wlclipboard setting name 2025-11-21 10:38:50 +00:00
sithlord48
92e3e9ac64 refactor: wlClipboard fix some sonar issues 2025-11-20 07:57:31 -05:00
sithlord48
50fd3365e8 chore: WlClipboard remove unused process control methods 2025-11-20 07:57:31 -05:00
sithlord48
4ebf5ff479 refactor: WlClipbaord::empty use QProcess 2025-11-20 07:57:31 -05:00
sithlord48
ab4feaa037 refactor: WlClipbaord::add use QProcess to set the clipboard 2025-11-20 07:57:31 -05:00
sithlord48
21900ade68 refactor: make WlClipboard a QObject subclass 2025-11-20 07:57:31 -05:00
sithlord48
7b0e8e8188 chore: WlClipboard remove unused executeCommand 2025-11-20 07:57:31 -05:00
sithlord48
c5f7a3792a refactor: WlClipboard::get use QProcess 2025-11-20 07:57:31 -05:00
sithlord48
7a60f0cc9e refactor: WlClipboard, use QProcess to get available mimeTypes 2025-11-20 07:57:31 -05:00
sithlord48
9ed0b06a42 refactor: WlClipboard mimetypes use QStrings 2025-11-20 07:57:31 -05:00
sithlord48
5ef4f64b11 refactor: use QDateTime::currentMSecsSinceEpoc behind WlClipboard::getCurrentTime 2025-11-20 07:57:31 -05:00
sithlord48
c7e90d3cf5 refactor: WlClipboard::isAvailable use QStandardPaths::findExecutable to check if the apps exist. remove WlClipboard::checkCommandExists 2025-11-20 07:57:31 -05:00
sithlord48
d157713a85 feat: Settings expose settings to use wl-clipboard backend. Disable clipboard on wayland if this settings is disabled 2025-11-20 07:57:31 -05:00
sithlord48
90e7d475f8 refactor: WlClipboardCollection minor sonar cleanup 2025-11-20 07:57:31 -05:00
sithlord48
ecb03297fd refactor: EiScreen Sonar cleanup for new clipboard items 2025-11-20 07:57:31 -05:00
sithlord48
a09dfad22a chore: WlClipboard remove unused private setClipboardData and setClipboardData methods 2025-11-20 07:57:31 -05:00
sithlord48
9960b657e3 chore: rename EiClipboard -> WaylandClipboardCollection 2025-11-20 07:57:31 -05:00
sithlord48
bbabb91d42 chore: rename src/lib/platform/WaylandClipboard -> src/lib/platform/WlClipboard 2025-11-20 07:57:31 -05:00
Jörg Thalheim
e55c67fa2f feat: add wayland clipboard support via wl-clipboard
this is currently based on wl-copy/wl-paste.
One could probably just implement wl-copy/wl-paste without adding much
complexity and better performance.

Co-authored-by: KoljaFrahm <GitHub.Kolja@dfgh.net>
2025-11-20 07:57:31 -05:00
sithlord48
4d2597c31b refactor: XDGKeyUtil no need to add std:: for uint32_t 2025-11-14 13:28:41 +00:00
sithlord48
281cda1d14 refactor XDGKeyUtil::mapKeyToKeyID cleanup default case make i in the if and not case the already right type returned 2025-11-14 13:28:41 +00:00
sithlord48
4a67694676 build: new build option BUILD_X11 to control building of X11 backend 2025-11-14 13:28:41 +00:00
sithlord48
f45df39032 refactor: XDGKeyUtil, make s_keySymToUCS4 static map 2025-11-14 13:28:41 +00:00
sithlord48
186a20a1ac feat: XDGKeyUtil, use Xkbcommon Keysym names
this removes the need for any x11 releated headers when using EI screens
2025-11-14 13:28:41 +00:00
sithlord48
7eee265010 refactor: make s_map1008FF private static array 2025-11-14 13:28:41 +00:00
sithlord48
b3cd759a4e chore: remove unused KeySyms Tyepdef 2025-11-14 13:28:41 +00:00
James Le Cuirot
93beb491db fix: Split XKB code out of XWindowsUtil to allow building without X11
the xprotoheaders are still required for EI, but nothing more.
2025-11-14 13:28:41 +00:00
Brett Lawson
6a86c2990e fix: Adjust OS X MouseMove handling to use live cursor position. 2025-11-11 11:15:41 -05:00
sithlord48
1875c599a4 refactor: define EventQueueTimer to its own header not once per IEventQueue impl 2025-11-10 07:08:29 -05:00
sithlord48
ab1a87ba04 chore: remove MsWindowClipboardTextConverter 2025-11-10 11:52:42 +00:00
sithlord48
d492ddfbbb chore: LogOutputters remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
c91e051082 chore: PlatformScreen remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
7ce5ce5d41 chore: XWindowsUtils remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
68a15486ae chore: XWindowsScreen remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
bb42cfb8fd chore: XWindows Clipboard remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
af0321ce77 chore: XDGPowerManager remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
fbdee8e10e chore: PortalRemoteDesktop remove unneeded includes 2025-11-07 15:54:19 -05:00
sithlord48
489d984ab6 chore: PortalInputCapture remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
1e672bb8a1 chore: EiScreen remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
6147e9604b chore: EiEventQueueBuffer remove unneeded includes 2025-11-07 15:54:19 -05:00
sithlord48
97367a20c5 chore: OSXUchrKeyResouce remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
5a029110a3 chore: OSXScreenSaver remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
e4557c6b95 chore: OSXScreen remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
685312866b chore: OSXKeyState remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
a0959e0334 chore OSXClipboardTextConvertor remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
a376a714e8 chore: OSXClipboardAnyBitmapConverter remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
21a7d7db4b chore: OSXClipboard remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
8b89489d40 chore: MSWindowsHook inclue Directional Types directly not thru protocol types 2025-11-07 15:54:19 -05:00
sithlord48
e8073de989 chore: MSWindowsEventQueueBuffer remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
74e4f1a1e1 chore: MSWindowsClipboardTextConvertor remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
d9493da173 chore: MsWindowsClipboardFacade, remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
0e8fdb18d8 chore: MsWindowsClipboard, remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
e07a9f58f7 refactor: MSWindowsClipBoard, use Text converter as last option 2025-11-07 15:54:19 -05:00
sithlord48
19814c61d7 chore: MSWindowsProcess remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
8e83b16f5e chore: move platform/Wayland.h -> common/PlatformInfo.h 2025-11-06 09:12:18 -05:00
sithlord48
c18e3c9ef2 refactor: platform/wayland move consts kHasEI etc into wayland Warnings 2025-11-06 09:12:18 -05:00
sithlord48
8fadbecf00 chore: make TMethodJob const void* 2025-11-05 22:07:16 +00:00
Vasily Galkin
eab38dc23e fix: High Cpu use on windows
port: 95f2a840be
Fixes: #8970
2025-11-05 21:46:20 +00:00
sithlord48
6ab1579d38 refactor: Log remove unneeded includes 2025-11-04 10:47:14 -05:00
sithlord48
50240c1fc3 refactor: Arch do not include common/Common.h use config.h where neeed as a result 2025-11-03 13:31:28 +00:00
sithlord48
550f7c3e06 refactor HAS_FORMAT => HAVE_FORMAT 2025-10-31 12:21:47 +00:00
sithlord48
6b2c3c1844 chore: remove unused ILogOutputters:show 2025-10-27 15:36:40 +00:00
re2zero
8226c4162b fix: [build]Fix build issue without format support
add C++20 <format> support checks in Unix libraries and update logging format usage.

Log: Fix build issue without format support.
2025-10-24 15:08:11 +00:00
Matti Hiljanen
2016ce887b fix: stuck modifiers after screen unlock on windows
Fix stuck modifiers (like the windows key) after unlock on Windows
by updating keyboard state after every desk switch.
2025-10-24 15:38:27 +01:00
sithlord48
a34971fee7 refactor: call xkb_keymp_num_levels_for_key, to apply shift in EiState::mapKeyfromKeyval 2025-10-24 14:46:49 +01:00
enzious
5fc4e9dba6 fix: ctrl+alt+fn issue 2025-10-24 00:30:38 +00:00
enzious
b8bd6903e4 fix: client to server modifier press/release
Pressing a modifier on the client and moving to the server and releasing
it breaks the modifier on the client. This resolves the issue.
2025-10-21 13:54:40 +01:00
enzious
ea7a493c13 fix: dangling pointer from scoped var 2025-10-21 13:32:13 +01:00
sithlord48
e1fbcb379e chore: Sub classes and overloads not usings parameters of the base methods have the varible names removed 2025-10-17 09:07:21 +01:00
sithlord48
8b489b8301 chore: remove unneeded semi colons from several places 2025-10-17 09:07:21 +01:00
sithlord48
d32b98ec34 refactor: EiScreen Define Spaceship op for EiScreen::HotKeyItem 2025-10-17 09:07:21 +01:00
pika
78e394a210 fix: apply scroll lock setting on initialization
Co-authored-by: Nick Bolton <nick@symless.com>
2025-10-17 03:50:53 -04:00
pika
c11a1caf59 fix: handle xkb_keymap_mod_get_mask returning 0 2025-10-16 11:57:11 -04:00