libsdl-org / SDL

Simple Directmedia Layer
https://libsdl.org
zlib License
9.98k stars 1.84k forks source link

Support for composite gamepads #3518

Open SDLBugzilla opened 3 years ago

SDLBugzilla commented 3 years ago

This bug report was migrated from our old Bugzilla tracker.

Reported in version: HG 2.0 Reported for operating system, platform: Linux, All

Comments on the original bug report:

On 2020-01-18 19:52:13 +0000, Paul Cercueil wrote:

Hi,

I'm the maintainer of OpenDingux which is the Linux distribution that runs on the GCW Zero and other compatible chinese emulation handhelds.

There, the face buttons are mapped to keyboard keys, mostly for legacy reasons, which appears as /dev/input/event1. There is also an analog stick, mapped to /dev/input/event2, and another handheld (RG350) has a second analog stick mapped to /dev/input/event3.

This setup somewhat works with SDL1 as it doesn't have the nice gamepad API and games didn't mind using keyboard keys with a button-less joystick. For SDL2 however, I would like the buttons and sticks to appear as a single gamepad since many games and apps won't work without it.

I see this as divisible into two tasks:

  1. Gamepad controller map should be able to map buttons from keyboard keys;
  2. Gamepad controller map should be able to map from more than one SDL_Joystick / SDL_Keyboard.

I know this is a big change, what do you think of it? Is that something that could be supported upstream?

On 2020-01-19 19:19:22 +0000, Sam Lantinga wrote:

Merging more than one physical device would be useful for the Nintendo Switch JoyCon controllers as well.

I don't have time to work on this, but it's definitely something that would be appreciated if you want to contribute.

mirh commented 2 years ago

4448