Describe the bug
When using the "Emulate gamepad motion sensor support" option to use the device's built-in motion sensors for gyro controls, the X-Axis for "roll" motions is inverted (tilting the device to the left moves the camera to the right and vice versa). "Yaw" motions, as well as the Y-Axis work correctly however. I have been able to reproduce this issue in two games with three different devices, so I assume it is a general problem. When using a controller directly connected to the PC, the "roll" motion works correctly in both games.
Devices tested: AYN Odin 2 Portal, Retroid Pocket 5, Anbernic RG Slide
Games tested: Horizon Zero Dawn Remasted (native motion controls), Control (emulated Mouse controls through Steam Input)
When using Steam Input, the X-Axis can be inverted to make the "roll" motion work correctly. However, this in turn inverts the "yaw" motion.
NOTE: I am using Sunshine for the server-side on my PC because I am running Linux (nobara).
Steps to reproduce
- enable "Emulate gamepad motion sensor support"
- enable gyro/motion controls in game or Steam Input
- use "roll" motion to look from side to side
Affected games
No response
Other Moonlight clients
None
Moonlight adjusted settings
None
Moonlight adjusted settings (please complete the following information)
No response
Moonlight default settings
Yes
Gamepad-related connection issue
Yes
Gamepad-related input issue
Yes
Gamepad-related streaming issue
Yes
Android version
Android 14, Android 13
Device model
AYN Odin 2 Portal, Retroid Pocket 5, Anbernic RG Slide
Server PC OS version
nobara Linux
Server PC GeForce Experience version
No response
Server PC Nvidia GPU driver version
No response
Server PC antivirus and firewall software
No response
Screenshots
No response
Relevant log output
Additional context
The same issue seems to be present in the upstream moonlight-android client. Since development on that one appears to have ceased 2 years ago however, I doubt it will be fixed there.
A possible solution might be to offer settings to invert the axes for motion controls, with separate settings for "roll" and "yaw" if possible.
Describe the bug
When using the "Emulate gamepad motion sensor support" option to use the device's built-in motion sensors for gyro controls, the X-Axis for "roll" motions is inverted (tilting the device to the left moves the camera to the right and vice versa). "Yaw" motions, as well as the Y-Axis work correctly however. I have been able to reproduce this issue in two games with three different devices, so I assume it is a general problem. When using a controller directly connected to the PC, the "roll" motion works correctly in both games.
Devices tested: AYN Odin 2 Portal, Retroid Pocket 5, Anbernic RG Slide
Games tested: Horizon Zero Dawn Remasted (native motion controls), Control (emulated Mouse controls through Steam Input)
When using Steam Input, the X-Axis can be inverted to make the "roll" motion work correctly. However, this in turn inverts the "yaw" motion.
NOTE: I am using Sunshine for the server-side on my PC because I am running Linux (nobara).
Steps to reproduce
Affected games
No response
Other Moonlight clients
None
Moonlight adjusted settings
None
Moonlight adjusted settings (please complete the following information)
No response
Moonlight default settings
Yes
Gamepad-related connection issue
Yes
Gamepad-related input issue
Yes
Gamepad-related streaming issue
Yes
Android version
Android 14, Android 13
Device model
AYN Odin 2 Portal, Retroid Pocket 5, Anbernic RG Slide
Server PC OS version
nobara Linux
Server PC GeForce Experience version
No response
Server PC Nvidia GPU driver version
No response
Server PC antivirus and firewall software
No response
Screenshots
No response
Relevant log output
Additional context
The same issue seems to be present in the upstream moonlight-android client. Since development on that one appears to have ceased 2 years ago however, I doubt it will be fixed there.
A possible solution might be to offer settings to invert the axes for motion controls, with separate settings for "roll" and "yaw" if possible.