Commit Graph

63 Commits

Author SHA1 Message Date
Cameron Gutman
9d0dc49fd2 Implement controller LED support 2023-09-27 08:52:26 -05:00
Cameron Gutman
7249854641 Rework gamepad handling
- Fix accelerometer axis direction
- Fix touchpad input coordinates
- Use physicalInputProfile instead of casting to specific GC classes
- Remove deprecated GCGamepad support
2023-09-27 07:12:36 -05:00
Cameron Gutman
f883f5a2b5 Fix axis values for gyro input 2023-09-27 03:42:05 -05:00
Cameron Gutman
65bf4ca6b1 Fix controller touch events being sent as normal touch events 2023-07-01 01:32:00 -05:00
Cameron Gutman
ef5c3d36d3 Implement controller motion sensor support
Axis values probably still need to be swapped around to match other platforms
2023-06-29 00:35:35 -05:00
Cameron Gutman
d48690b320 Implement controller touchpad support 2023-06-29 00:17:43 -05:00
Cameron Gutman
b279caa00b Fix touchpad button flag 2023-06-28 23:51:24 -05:00
Cameron Gutman
cc16186eed Implement extended gamepad buttons and controller metadata support 2023-06-28 23:46:39 -05:00
Cameron Gutman
20d0087bdc Plumb trigger rumble and motion sensor callbacks 2023-06-28 21:27:46 -05:00
Cameron Gutman
ba723816a1 Deregister GCMouse scroll callbacks 2023-03-05 19:45:29 -06:00
Cameron Gutman
c57e89a0bd Implement Start+Select+L1+R1 shortcut to quit
Fixes #548
2023-03-05 19:10:28 -06:00
Cameron Gutman
7ddf4e12ed Implement horizontal scrolling for Apple TV 2023-03-05 18:57:58 -06:00
oxkenshin
2462126963 Fix mouse speed too slow on iPad (#532)
* Fix mouse speed too slow on iPad

Fixes #491
2023-02-20 16:02:58 -06:00
Cameron Gutman
a80fa5cfbb Fix some minor issues with ABXY swap feature 2022-07-21 20:36:31 -05:00
IonBlade2K
b9e0b28adc Add setting to swap A<->B and X<->Y buttons (#513)
* Added toggle for swapping A<->B and X<->Y buttons to enable proper button mapping for combined Joy-Cons in iOS16, where iOS level remapping is not supported and pushing Switch B (bottom face button) sends Xbox B (right face button) instead of Xbox A (bottom face button), etc.  Allows user to select between current behavior (button letter matches output) and muscle-memory behavior (face button pressed matches location of face button output)
2022-07-21 20:09:22 -05:00
Cameron Gutman
eccf517dc3 Fix scroll speed on recent GFE versions 2021-12-12 16:33:19 -06:00
Cameron Gutman
90d416ab34 Make GCMouse scroll direction consistent with UIPanGestureRecognizer 2021-12-12 16:28:21 -06:00
Cameron Gutman
c99ee24c65 Restore GCMouse scroll handling for tvOS 2021-10-15 22:32:32 -05:00
Cameron Gutman
d7cf8ced25 Go back to UIPanGestureRecognizer for all scroll events
GCMouse is broken in iPad 15 for mice with discrete scroll wheel events
2021-10-05 21:42:37 -05:00
Cameron Gutman
16acd71f6a Disable system gestures on gamepad buttons while streaming 2021-04-03 12:54:08 -05:00
Martin Mlostek
6e480a46a0 nil'ing observer references 2021-01-23 22:05:58 +01:00
Cameron Gutman
6b823e155a Don't emulate an OSC controller if absolute touch mode is enabled 2020-12-05 20:49:35 -06:00
Cameron Gutman
96e317fe31 Make Guide button emulation more granular by only enabling RB+Start or Start+Select based on physical buttons present 2020-10-18 17:37:18 -05:00
Cameron Gutman
ecad1bea38 Disable Guide button emulation on gamepads with physical Guide buttons 2020-10-18 15:04:09 -05:00
Cameron Gutman
5faf1faf32 Add Guide button support on iOS 14 2020-10-15 17:55:53 -05:00
Cameron Gutman
88c18ad397 Don't use pointer lock if the mouse isn't compatible with GCMouse 2020-09-18 18:48:35 -05:00
Cameron Gutman
6fa5ef73f6 Add GCMouse support 2020-09-18 17:04:32 -05:00
Cameron Gutman
e8c7eb67c6 Add rumble support on iOS 14 2020-09-17 20:32:41 -05:00
Cameron Gutman
12a64f8626 Don't emulate buttons when the controller already has them 2019-11-09 17:47:47 -08:00
Cameron Gutman
5a0e4bcc05 Fix UBSan undefined behavior warning
moonlight-ios/Limelight/Input/ControllerSupport.m:294:32: runtime error: 255 is outside the range of representable values of type 'char'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior moonlight-ios/Limelight/Input/ControllerSupport.m:294:32 in
2019-11-06 20:57:53 -08:00
Cameron Gutman
5faa8a0b85 Hide the home bar when a gamepad is connected and no on-screen controls are visible
Fixes #386
2019-10-22 00:32:56 -04:00
Cameron Gutman
653a72eaf8 Remove macOS port
We now have a proper native PC port (Moonlight Qt) and if we
wanted to bring the full iOS app over we can now use Catalyst.
2019-10-21 17:39:48 -07:00
Cameron Gutman
8ccbdc7923 Fix Start button not working on some MFi controllers on iOS 13 2019-09-24 18:13:56 -07:00
Cameron Gutman
f51dbe4295 Fix some Xcode 11 warnings 2019-09-11 19:12:11 -07:00
Cameron Gutman
597aaa1bab Cleanup controller support code using the iOS 13 SDK directly 2019-09-11 18:44:37 -07:00
Cameron Gutman
dd5ecb37c4 Add support for Start and Select on iOS 13. Fixes #367 2019-06-05 19:54:56 -07:00
Cameron Gutman
8bb49ada11 Disable vibration for expedited review 2019-05-27 10:12:02 -07:00
Cameron Gutman
335b5aef1f Add rumble support 2019-02-11 19:22:18 -08:00
Cameron Gutman
918e1248f2 Store GCController in Controller object to allow us to fetch controller attributes later 2019-02-11 18:21:04 -08:00
Cameron Gutman
410d0d367b Fix handling of missing L3 and R3 buttons and adjust on-screen controls based on L3/R3 presence 2018-11-03 14:01:32 -07:00
Cameron Gutman
39b04d46a4 Add support for L3 and R3 on iOS 12.1 2018-10-31 18:08:34 -07:00
Cameron Gutman
80254513c4 Avoid blocking the main thread when delaying for button presses 2018-06-02 19:19:24 -07:00
Cameron Gutman
d17f2f9dee Plumb multi-controller toggle 2018-06-02 13:52:58 -07:00
Cameron Gutman
391872ddb8 Ignore unsupported gamepads 2018-05-28 15:11:23 -07:00
Felix Kratz
f759f719e6 Dark Mode & Stream Overlay [macOS] (#315)
* dark mode & stream overlay

* removed all redundant imports

* update for the new xcode version with fixes for the new 'implicitly retains self warning'

* reworked the overlay view

* cleaning up unused variables

* small corrections
2018-04-22 00:44:22 -04:00
Cameron Gutman
e8832ed746 Refactor new macOS code to reduce #ifs, increase shared code, and fix warnings 2018-03-27 00:34:38 -07:00
Felix Kratz
6cc165b589 Port for macOS (#311)
* merged moonlight-mac with moonlight-ios

* reverted to the original project.pbxproj

* cleaned up the code, fixed lots of unnecessary code duplications

* multicontroller support (not tested)

* new class that can be used for further modularization of the MainFrameViewController
2018-03-26 23:50:40 -07:00
Cameron Gutman
6bb6c40bec Report attached gamepads during launch to fix L4D2 2018-01-20 14:37:33 -08:00
Cameron Gutman
4ac3f11ff8 Ensure that OSC always has Player 1 reserved 2017-02-06 19:17:27 -08:00
Cameron Gutman
62aaf27293 Update to new common-c to show the correct number of controllers on the host PC 2017-02-04 20:16:18 -08:00