Cameron Gutman
534ce02756
Track keyboard grab state internally rather than using SDL
...
Versions of sdl2-compat prior to 2.32.64 (and native SDL3) won't
set the grab flag if grabbing the keyboard fails, even though the
compositor still may be exclusively passing system keys to us via
some external configuration by the user. This causes the super key
to not be sent to the host, because we think the client OS will
consume it and don't want to duplicate the input.
Fixes #1900
2026-06-06 16:11:37 -05:00
Cameron Gutman
29294553bb
Add Ctrl+Alt+Shift+K combo to toggle system key grab
...
Fixes #1637
2026-05-24 15:13:23 -05:00
Qian23333
fb9a164111
feat: disable text input when window gains focus
2025-10-20 23:33:10 -05:00
James Poje
9c9bfd8428
Add quit-app-and-exit shortcut Ctrl+Alt+Shift+E
...
Add a shortcut to quit the current app and exit Moonlight entirely.
2025-04-02 21:55:38 -05:00
ABeltramo
d9c7a245ef
DualSense adaptive trigger support ( #1561 )
2025-04-01 21:45:25 -05:00
Cameron Gutman
dd2a99a96b
Prepare for SDL3 support
2025-01-25 16:20:20 -06:00
Cameron Gutman
53c2c612c9
Add Share+PS combo for clickpad button emulation on PS4/5 controllers
2023-10-14 01:46:50 -05:00
Cameron Gutman
e516943d53
Guard SDL_ControllerSensorEvent usage by SDL version check
2023-09-12 18:10:06 -05:00
FrogTheFrog
85d4037a89
Allow to specify gamepad GUIDs to be ignored when streaming
2023-09-03 16:24:05 -05:00
Cameron Gutman
f112edc3c3
Disable touch feedback when sending touch natively
2023-07-23 00:17:58 -05:00
Cameron Gutman
53a572a4a4
Add controller motion deduplication and fix gyro units
2023-07-02 19:22:00 -05:00
Cameron Gutman
df283d80c6
Implement controller LED and battery protocol extensions
2023-07-02 16:44:41 -05:00
Cameron Gutman
7a719aa886
Allow up to 16 gamepads with Sunshine hosts
2023-06-18 16:39:24 -05:00
Cameron Gutman
9af58af5e4
Implement gyro/accel and touchpad input using Sunshine extension
2023-06-18 16:08:32 -05:00
Cameron Gutman
b945c8c2dc
Implement trigger rumble using Sunshine protocol extension
2023-06-18 16:04:49 -05:00
Cameron Gutman
2165f56aee
Implement full multi-touch support using Sunshine protocol extension
2023-06-18 16:02:21 -05:00
Cameron Gutman
e42de9d155
Add extended button support with Sunshine
2023-06-18 16:00:51 -05:00
Cameron Gutman
db2b120b68
Remove unused variable
2023-03-18 14:29:45 -05:00
Cameron Gutman
e1c4a488ed
Remove mouse throttling code
...
This should be managed inside moonlight-common-c instead.
2023-03-11 11:40:37 -06:00
Cameron Gutman
9c15cceee7
Don't batch mouse motion for Sunshine
2023-01-16 22:01:34 -06:00
Cameron Gutman
56f184393f
Allow the cursor lock toggle to work in full-screen mode
...
Fixes #793
2022-05-19 19:14:55 -05:00
Cameron Gutman
6972573a6e
Add pointer lock key combo
...
Fixes #737
2022-03-29 18:26:09 -05:00
Cameron Gutman
97a09e0571
Send UTF-8 clipboard text directly rather than emulating keystrokes
2021-12-03 11:32:58 +03:00
Cameron Gutman
666dc13c01
Use SDL's new support for keyboard grab on macOS
2021-08-15 14:54:26 -05:00
Cameron Gutman
b2aea9f8f0
Revert change to only fire special combos on key up
2021-02-28 15:06:46 -06:00
Cameron Gutman
87a7d2e45c
Add setting to only capture system keys in full-screen
2021-02-27 16:47:38 -06:00
Cameron Gutman
b27ca993aa
Add support for system key capture in windowed mode on macOS
2021-02-26 21:43:47 -06:00
Cameron Gutman
05e4c5b507
Move clipboard processing to a separate thread to avoid blocking the main thread during pastes
2021-02-07 17:18:35 -06:00
Cameron Gutman
b83c6f0c28
Add support for pasting clipboard text
2021-02-07 13:46:38 -06:00
Cameron Gutman
36dc0f3e3c
Use mouse capture for Win32 instead of our global mouse state hack
2021-02-07 12:38:57 -06:00
Cameron Gutman
9fc921f49f
Use SDL's keyboard grab support now that it's been upstreamed
2021-02-05 00:13:20 -06:00
Cameron Gutman
1cd66419d4
Remember desired cursor hide state
...
Fixes #511
2021-01-30 11:08:01 -06:00
Cameron Gutman
2eb4769bbc
Only trigger special key combos when all keys are up
2021-01-24 13:02:42 -06:00
Cameron Gutman
30e3b02867
Start implementation of system key capture
2021-01-11 23:43:32 -06:00
Cameron Gutman
5096ff6496
Add options to invert scroll direction and swap gamepad buttons
...
Fixes #463
Fixes #467
2020-12-25 22:21:20 -06:00
Cameron Gutman
b97ae25f93
Flush mouse position before sending a mouse button event
2020-09-05 14:50:38 -07:00
Anton
89319dc7aa
Added option to swap left and right mouse buttons
...
Changed the use of SDL buttons to Moonlight buttons definitions
2020-09-05 08:32:00 +02:00
Cameron Gutman
eded86bc10
Allow game controllers to be ignored during streaming only
...
STREAM_GAMECONTROLLER_IGNORE_DEVICES and STREAM_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT environment variables provide the same functionality as SDL_GAMECONTROLLER_IGNORE_DEVICES and SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT, with the difference being SDL_* variables take effect at all times (UI and streaming) while STREAM_* variables take place only while streaming.
Fixes #425
2020-08-22 12:02:26 -07:00
Cameron Gutman
ab5025efbf
Ignore mouse events outside the video region
2020-07-12 15:06:36 -07:00
Cameron Gutman
912e51d863
Synchronize the client and host cursor when starting absolute mode capture
2020-07-12 15:03:08 -07:00
Cameron Gutman
f00653964e
Batch absolute mouse motion like we do for relative motion
2020-05-31 13:34:50 -07:00
Cameron Gutman
0428bc8fe3
Generate synthetic mouse button up if the mouse has left the window and the button is raised
2020-05-07 19:26:02 -07:00
Cameron Gutman
51c4ecc879
Revert "Partially unrevert 05e82c24 for macOS which still needs it"
...
This reverts commit 080421f2fb .
2020-05-06 21:41:57 -07:00
Cameron Gutman
080421f2fb
Partially unrevert 05e82c24 for macOS which still needs it
2020-05-06 21:18:23 -07:00
Cameron Gutman
8cc61ca8b8
Use SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH to get click events on focus gain
2020-05-06 20:43:41 -07:00
Cameron Gutman
400754c5b3
Revert "Pass through focus-gain clicks to the host in absolute mouse mode"
...
This reverts commit 05e82c24f8 .
2020-05-06 20:04:07 -07:00
Cameron Gutman
05e82c24f8
Pass through focus-gain clicks to the host in absolute mouse mode
2020-05-06 18:58:43 -07:00
Cameron Gutman
9bf52eb63a
Improve relative touch deadzone behavior
2020-04-30 21:04:51 -07:00
Cameron Gutman
0c9d72a9a1
Restore the option for relative touch mode
2020-04-30 20:55:15 -07:00
Cameron Gutman
78fc594d84
Move input code into a subfolder
2020-04-30 20:09:36 -07:00