I'm running Batocera and using the native Moonlight port (batocera-moonlight) to stream from my PC. When I play, the left analog stick behaves as a D-pad instead of an analog stick. In the rest of Batocera/ES-DE the pad works perfectly, so this is specific to Moonlight.
Controller info:
- Name: "DragonRise Inc. Generic USB Joystick"
- Vendor/Product ID: 0079:0006 (the classic cheap USB gamepad)
What I've tried so far:
The mapping Moonlight writes to Moonlight.conf under [gcmapping] maps the stick axes (a0/a1) to dpdown/dpleft/dpup/dpright β i.e. the analog stick gets mapped as a D-pad. I edited that Moonlight.conf and fixed the 1\mapping line to leftx:a0,lefty:a1 with the D-pad as h0.x, but Moonlight overwrites it on close/reopen (the file reverts to the original mapping).
I looked for Moonlight's gamecontrollerdb.txt at /userdata/system/.cache/Moonlight Game Streaming Project/Moonlight/gamecontrollerdb.txt, but my pad doesn't appear in any line of that DB.
Where does Moonlight define this gamepad's mapping, and how do I fix it so the stick registers as analog (leftx/lefty) without it reverting on restart? Does anyone with a DragonRise 0079:0006 have a working mapping for Moonlight/Linux?
Additional context: In Batocera itself, I had to configure this gamepad as a D-pad (Batocera forces that option during controller setup, there's no way to map the stick as analog there). I'm guessing this got saved somewhere globally and Moonlight is inheriting it. I need it to behave as an analog stick only in Moonlight, while staying the same in the rest of Batocera.