View Issue Details

IDProjectCategoryView StatusLast Update
0031371RunnerInput DevicesPublic2019-09-30 16:35
ReporterDanAssigned ToDavid Clarke 
PriorityVery HighSeverityB - MajorReproducibility100%
Status ClosedResolutionFixed 
PlatformmacOSOSMojaveOS Version10.12.3
Product Version2.2.4 
Target Version2.2.4Fixed in Version2.2.4 
Summary0031371: Input Devices: Gamepad support has been broken on macOS VM
DescriptionGamepad support has been broken on macOS VM, because the dylib for pad support is not being codesigned correctly. Accordingly, it's not being picked up in-game and so pads are not being detected properly.

A PS4/Dualshock 4 pad is detected as an "iOS Standard Controller" or "iOS Extended Controller" and none of the buttons are working correctly.

A gen 1 Xbox One pad in wired mode is not detected at all, nor a gen 2 Xbox One wireless pad, nor a Steelseries Nimbus. The game simply does not fire events for these being connected/disconnected.

Expected: All of the above should be detected as the correct pad name and their buttons should work correctly.
Steps To Reproduce1. Run the attached sample on macOS VM (Mojave or Catalina)
2. Observe the results of the four pads are as above.
Repro: 100%
Additional InformationNote that the updated Apple gamepad library should support macOS versions all the way back to 10.9 - it is not limited to Catalina.

YYC is also fine - it's signing the library properly on-demand.
TagsNo tags attached.
1.4 Found In
2.x Runtime Found In2.2.4.357
2.x Runtime Verified In2.24.362

Activities

Dan

2019-09-24 16:46

Adminstrator  

Gamepads_test_runtime-fixed.yyz (26,549 bytes)

David Clarke

2019-09-25 09:48

Developer   ~0064844

Fixing the code signing for the lib, so that it is not using the hardened runtime.
Also removing a hardcoded value in the fallback API that was taking an iCade pad into account, despite it never being initialised.

Dan

2019-09-30 11:27

Adminstrator   ~0064874

Runtime 360+, IIRC - definitely 361...

Scott Dunbar

2019-09-30 16:35

Adminstrator   ~0064894

Verified fixed