unknownskl / greenlight

Greenlight is an open-source client for xCloud and Xbox home streaming made in Typescript.
MIT License
2.19k stars 123 forks source link

[Bug] input-remapper shows up as primary gamepad #1141

Open Verbifaber opened 7 months ago

Verbifaber commented 7 months ago

Describe the bug

On Linux Mint 21.3, kernel 6.5.0-17, with input-remapper loaded, input-remapper shows up as primary controller, and no input from my connected Xbox controller is registered. Going to settings--input, controller 1 is input-remapper, controller 2 is Xbox controller. Please add button to remove device from controller list

To Reproduce

  1. install xpadneo
  2. install input-remapper
  3. install greenlight
  4. connect Xbox controller to system
  5. open greenlight
  6. connect to Xbox
  7. controller doesn't work, disconnect from Xbox
  8. go to settings--input
  9. see controller 1 is input-remapper
  10. close greenlight
  11. unload input-remapper
  12. open greenlight
  13. connect to Xbox
  14. play game, controller now works

Expected behavior

I expected it to just work, but barring that, I expected an option to switch controller order at the very least or maybe to blacklist a controller from the current session.

Environment

- OS: Linux Mint 21.3 kernel 6.5.0-17-generic
- Device: Laptop
- Greenlight version: 2.1.1 (flatpak)

Anything else?

I'm amazed and impressed that this works at all! Great job!

New issue

jackgllghr commented 7 months ago

Having this issue too running ChimeraOS on my ROG Ally, looks like something is being marked as Controller 1, so no controls are getting through to the stream. Simplest solution would probably be to just let us choose which controller to use in the Settings page in the UI

RitschiRitsch commented 6 months ago

I second that. There's some kind of input mapper detected as controller 1 on ChimeraOS. However, greenlight is the only app where that happens or where this virtual controller is visible. All other apps recognize only one controller. Usually controller 1 is SDL_0. Maybe it could be implemented that SDL_0 is always set as primary controller. A manual allocation in the settings would be the best solution, but I guess not as simple to implement.