Commit Graph

299 Commits

Author SHA1 Message Date
Cameron Gutman
c356862ac1 Avoid unnecessary reinitialization of PS4/PS5 gamepads during stream exit
onInputDeviceChanged() is triggered by starting/stopping pointer capture, so we should
unregister our callbacks before that happens to avoid triggering several gamepad context
reinitializations right as the stream is exiting
2023-10-29 16:45:07 -05:00
Cameron Gutman
0da47da8d8 Move shortcut creation/updates off the main thread for the common cases
These caused quite a few ANRs due to long Binder calls in ShortcutManager.getDynamicShortcuts()
2023-10-26 00:24:44 -05:00
Cameron Gutman
885b59fd52 Fix NPE when receiving non-view-associated mouse events with absolute mouse mode enabled 2023-10-25 23:13:54 -05:00
Cameron Gutman
720595091e Change AV1 bitrate multiplier to match HEVC 2023-10-15 12:49:42 -05:00
Cameron Gutman
bc27492206 Split ControllerHandler teardown into stop() and destroy() functions 2023-10-07 00:35:36 -05:00
Cameron Gutman
081cca48fb Implement cursor visibility and quit key shortcuts
Fixes #1255
2023-09-23 02:20:26 -04:00
Cameron Gutman
394a57a26d Disable native touch passthrough for now 2023-09-16 15:59:07 -05:00
Cameron Gutman
62bae62386 Fix end of stream toast for AV1 2023-08-03 21:10:06 -05:00
Cameron Gutman
2636d79b86 Fix handling of ACTION_CANCEL for multi-pointer gestures 2023-08-03 02:29:55 -05:00
Cameron Gutman
c9c1ef91fd Fix mishandling ACTION_MOVE events for native pen/touch events 2023-07-27 23:15:26 -05:00
Cameron Gutman
67b2853ef0 Add contact area and orientation for pen/touch events 2023-07-22 17:18:57 -05:00
Cameron Gutman
18b6aae381 Disable gamepad sensors while in PiP mode 2023-07-12 01:07:14 -05:00
Cameron Gutman
1f72c82acb Consolidate AV1 and HEVC options into a single preference 2023-07-09 15:04:26 -05:00
Cameron Gutman
f1bcc217a9 Update to new HDR support option in moonlight-common-c 2023-07-02 23:48:19 -05:00
Cameron Gutman
458460515d Plumb AV1 preference and rework HEVC preference to match 2023-07-02 23:48:13 -05:00
Cameron Gutman
3a78095574 Initial implementation of AV1 2023-07-02 22:49:42 -05:00
Cameron Gutman
d4079940b4 Implement controller LED and battery state extensions 2023-07-02 19:03:31 -05:00
Cameron Gutman
0d72a0e009 Implement latest pen/touch protocol updates 2023-06-27 22:21:39 -05:00
Cameron Gutman
69a4502f90 Fix pen/touch coordinates when reported from the background touch view 2023-06-25 00:50:17 -05:00
Cameron Gutman
daaa7f4e63 Fix pen rotation values 2023-06-25 00:26:32 -05:00
Cameron Gutman
5890fff240 Add pen and touch events 2023-06-24 23:13:59 -05:00
Cameron Gutman
eed4327d26 Add controller touchpad support 2023-06-24 19:09:10 -05:00
Cameron Gutman
ddefda3afa Plumb new Sunshine protocol extensions 2023-06-24 15:19:50 -05:00
Cameron Gutman
370dbb1a10 Send non-ASCII soft keys as UTF-8 2023-02-25 12:49:55 -06:00
luten145
f77543cd9b Added clipboard support
You can paste Android's clipboard contents.
2023-02-25 12:30:58 -06:00
Cameron Gutman
80acd9b9eb Modernize HTTPS launch/resume for Sunshine 2023-02-20 22:04:41 -06:00
Cameron Gutman
b961636f02 Plumb HDR metadata into MediaCodec 2023-02-20 21:42:45 -06:00
Cameron Gutman
f4df0714b5 Implement horizontal scrolling with Sunshine 2023-02-20 19:56:01 -06:00
Cameron Gutman
91dd7b7049 Plumb non-normalized key flag extension for Sunshine 2023-02-20 19:52:52 -06:00
Cameron Gutman
b47f3ef397 Remove input batching to replace with common-c implementation 2023-02-20 13:19:59 -06:00
Cameron Gutman
1e828a10b9 Request our desired refresh rate rather than the actual frame rate
This ensures we'll get the highest compatible refresh rate rather than the lowest.
2022-12-15 22:53:25 -06:00
Cameron Gutman
970423f873 Use setFrameRate() instead of preferredDisplayModeId if the modes differ only by refresh rate
This seems to avoid a bug on the Chromecast 4K where it can decide to switch to 4K24 instead of 4K60

Fixes #1151
2022-12-14 23:05:22 -06:00
Cameron Gutman
33f0f7ecf0 Use Ctrl+Alt+Shift+Z as the unbind toggle to match other Moonlight clients 2022-11-29 23:28:13 -06:00
Cameron Gutman
6777e79e70 Fix inverted mouse capture bug 2022-11-29 23:25:39 -06:00
luten145
26bff28e4d Added MetaKey(WindowKey) Packet
Allows you to use Windows key combinations.

ex) Win+Tab , Win+D
2022-11-13 17:15:22 -06:00
Cameron Gutman
4a64967b1f Ungrab meta key capture when toggling input capture 2022-11-13 13:19:23 -06:00
Cameron Gutman
de54b27013 Plumb HTTPS port into the Game activity to avoid having to look it up again 2022-11-09 19:55:42 -06:00
Cameron Gutman
7af290b6e1 Implement support for non-default ports with Sunshine
Fixes #1115
2022-11-06 17:36:46 -06:00
Cameron Gutman
99fcd3c669 Improve LAN/WAN detection for IPv6 and cellular connections 2022-11-03 22:19:48 -05:00
Cameron Gutman
d0432de981 Plumb colorspace and color range into MediaCodecDecoderRenderer 2022-10-13 00:51:15 -05:00
Cameron Gutman
aa6c32968b Add a special termination message for ML_ERROR_FRAME_CONVERSION 2022-10-04 19:51:49 -05:00
Alexandru-Marian Buza
41cedfa6ec Fix requestMetaKeyEvent for Samsung devices with android 10+ (#1134)
Co-authored-by: Alexandru Buza <abuza@iqnox.com>
2022-10-03 22:50:04 -05:00
Cameron Gutman
23bc4daf9f Refactor input event handling in the Game activity 2022-10-03 21:25:43 -05:00
Cameron Gutman
ac0e784417 Make StreamView transparent to touch events and handle everything in the background view
This is much simpler than trying to play games with touch handling between 2 views
2022-09-21 01:07:49 -05:00
Cameron Gutman
48cab6b203 Allow multi-finger gestures and absolute motion to pass seamlessly between the StreamView and background view 2022-09-21 00:21:43 -05:00
Cameron Gutman
e1c0472069 Properly split touch events between regions outside the StreamView and the OSC
This restores the ability to use area outside the StreamView for the virtual trackpad and adds the ability to use OSC and the non-StreamView region for input at the same time.

Fixes #1129
2022-09-20 22:29:54 -05:00
Cameron Gutman
313ef06c86 Only exclude touch events from non-view processing
Mouse events that go out of the StreamView area are okay
2022-09-17 13:36:44 -05:00
Cameron Gutman
6b79340c15 Don't handle motion events outside of Views to avoid spurious stream input while using OSC 2022-09-17 13:34:14 -05:00
Cameron Gutman
03f9ea8435 Use Handlers instead of Timers for one-shot events 2022-09-16 00:08:48 -05:00
Cameron Gutman
d1b24ea6af Consolidate touch tracking timers 2022-09-15 02:05:40 -05:00