Commit Graph

1175 Commits

Author SHA1 Message Date
Cameron Gutman
2243cf2017 Rewrite NsdManagerDiscoveryAgent lifecycle to avoid listener reuse 2023-10-07 20:42:13 -05:00
Cameron Gutman
d7791c8543 Adjust default bitrate logic to match new Qt logic 2023-10-07 19:54:02 -05:00
Cameron Gutman
30822c1ba5 Only check for motion sensors on Sony or Nintendo gamepads on Android 12
This works around a bug in Android 12 that leads to random crashes when input devices change.
2023-10-07 19:07:15 -05:00
Cameron Gutman
d250f4dc60 Move battery updates to a background HandlerThread
They can cause long Binder transactions that lead to ANRs.
2023-10-07 00:49:03 -05:00
Cameron Gutman
bc27492206 Split ControllerHandler teardown into stop() and destroy() functions 2023-10-07 00:35:36 -05:00
Cameron Gutman
55da48e28c Remove USB options from settings page if USB host mode is not supported 2023-09-23 02:21:53 -04:00
Cameron Gutman
081cca48fb Implement cursor visibility and quit key shortcuts
Fixes #1255
2023-09-23 02:20:26 -04:00
Cameron Gutman
d32c4f86a7 Fix unguarded use of Lollipop API 2023-09-16 22:53:13 -05:00
Cameron Gutman
cafc4450b2 Override controller type when motion sensor emulation is enabled
Without this, the host will still select an Xbox controller even if it can't support motion sensors.
2023-09-16 22:48:38 -05:00
Cameron Gutman
4d3e883e49 Correct sensors for device orientation 2023-09-16 22:26:11 -05:00
Cameron Gutman
8f9a687872 Add device sensor fallback option
Correction for device orientation is not implemented yet
2023-09-16 20:25:54 -05:00
Cameron Gutman
08d509d831 Use the device vibrator for devices with built-in gamepads 2023-09-16 19:14:22 -05:00
Cameron Gutman
b06dec8449 Fix detection of G Cloud gamepad as an internal controller 2023-09-16 19:09:40 -05:00
Cameron Gutman
394a57a26d Disable native touch passthrough for now 2023-09-16 15:59:07 -05:00
Cameron Gutman
e8b30d5a88 Set KEY_PRIORITY during low latency option probing 2023-09-02 23:32:16 -05:00
Cameron Gutman
e92fdeef47 Fix RGB LED capability flag on Android 12 and 13 2023-08-03 23:02:11 -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
554fee037c Fix race condition when stopDiscovery() is called during onServiceFound()/onServiceLost() 2023-07-25 18:46:31 -05:00
Cameron Gutman
67b2853ef0 Add contact area and orientation for pen/touch events 2023-07-22 17:18:57 -05:00
Cameron Gutman
0e29e13d03 Use private API to detect clickpads on Android O and earlier 2023-07-22 14:34:27 -05:00
Cameron Gutman
3fbf682785 Pass gamepad touch input natively by default
Most devices will have a touchscreen which already provides mouse input
and Steam Input is can provide gamepad touchpad mouse control if desired.
2023-07-12 01:21:35 -05:00
Cameron Gutman
16086a6d3f Send the touchpad button on the gamepad even when using the touchpad for mouse control 2023-07-12 01:16:33 -05:00
Cameron Gutman
18b6aae381 Disable gamepad sensors while in PiP mode 2023-07-12 01:07:14 -05:00
Cameron Gutman
642c353164 Fix handling of onInputDeviceChanged when using sensors and lights
DS4 triggers this path when we release our pointer capture on activity pause
2023-07-12 00:32:28 -05:00
Cameron Gutman
38588402e3 Use NsdManager for mDNS discovery on Android 14 2023-07-11 19:58:50 -05:00
Cameron Gutman
1f72c82acb Consolidate AV1 and HEVC options into a single preference 2023-07-09 15:04:26 -05:00
Cameron Gutman
e6876926a4 Add options to control gamepad touchpad and motion and reorganize input settings 2023-07-09 14:46:46 -05:00
Cameron Gutman
83916fa43e Map the Menu key for keyboards 2023-07-08 23:21:19 -05:00
Cameron Gutman
fa7f3115ed Add AV1 autoselection by performance point criteria 2023-07-07 23:09:05 -05:00
Cameron Gutman
4dc6143440 Override the stock DS4 touchpad button mapping for Shield devices
Nvidia's stock mapping treats the clickpad as a second select button.
2023-07-05 23:00:54 -05:00
Cameron Gutman
f1503aa56c Implement battery reporting for Shield controllers 2023-07-05 18:57:01 -05:00
Cameron Gutman
67f344b755 Move serverCodecModeSupport into SERVER_INFORMATION struct 2023-07-02 23:56:34 -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
d6bbfa1af1 Fix unmapped paddle and share button presses 2023-07-02 20:32:57 -05:00
Cameron Gutman
4e1b778f31 Import some SDL code and use it for controller classification
Imported as of 4aee17b039981f2bb79892f3d3e3e17bd6b66530
2023-07-02 20:20:55 -05:00
Cameron Gutman
5f4496036c Don't use GameManager loading flag
This is meant to affect CPU throttling, which we don't need.
2023-07-02 19:08:58 -05:00
Cameron Gutman
d4079940b4 Implement controller LED and battery state extensions 2023-07-02 19:03:31 -05:00
Cameron Gutman
803ad116fb Pull in latest moonlight-common-c change 2023-06-28 17:28:41 -05:00
Cameron Gutman
27701eda49 Handle paddle buttons on Xbox Elite controllers 2023-06-28 17:28:25 -05:00
Cameron Gutman
71c831b02d Handle 2-direction d-pad key events 2023-06-28 17:22:05 -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
d1579e9b0d Support PS4/PS5 touchpad click on older kernels 2023-06-24 23:45:31 -05:00
Cameron Gutman
5890fff240 Add pen and touch events 2023-06-24 23:13:59 -05:00
Cameron Gutman
d6f6307050 Fix units of gyro motion and deduplicate sensor events 2023-06-24 23:12:28 -05:00