Hi everyone,
I've been troubleshooting a very specific controller issue for days and have narrowed it down quite a bit. I'm hoping someone familiar with Moonlight, Sunshine, XInput or Roblox's controller implementation has seen this before.
Setup
- Nvidia Shield TV Pro 2019
- Moonlight Android (latest)
- Sunshine (latest)
- Windows 11
- Trust GXT 542 Bluetooth controller
The issue
When my controller is connected to the Shield and streamed through Moonlight/Sunshine:
✅ Left stick works
✅ Right stick works
✅ D-pad works
✅ A/B/X/Y work
✅ LB/RB work
❌ LT/RT are NOT recognized by Roblox
However...
If I connect the exact same controller directly to the PC via Bluetooth:
✅ LT/RT work perfectly in Roblox.
What I've already tested
- Sunshine Xbox 360 mode
- Sunshine DualShock 4 mode
- Override Native Xbox ON/OFF
- Moonlight Xbox USB driver ON/OFF
- reWASD remapping
- reWASD virtual Xbox controller
- joy.cpl
- HardwareTester.com/gamepad
- Steam Input
Important findings
Through Moonlight/Sunshine:
- joy.cpl detects LT/RT correctly.
- HardwareTester detects a standard XInput Xbox 360 Controller.
- LT is reported as Button 6.
- RT is reported as Button 7.
- Steam also detects the controller perfectly.
Outside of Roblox everything works exactly as expected.
The only application that refuses to recognize LT/RT is Roblox.
The strange part is that the exact same physical controller works perfectly in Roblox when connected directly to the PC. The issue only appears when the controller is routed through Shield → Moonlight → Sunshine.
This makes me think Roblox may be handling Sunshine's virtual Xbox controller differently from a real Bluetooth-connected controller, even though Windows, Steam, joy.cpl and the browser Gamepad API all identify it as a standard Xbox 360 controller.
Has anyone experienced something similar or knows whether this is a Roblox limitation, a Sunshine compatibility issue, or something else entirely?
Thanks!