I previously wrote about making different
controllers act like Xbox 360 controllers. While it's a useful
general-purpose solution, it's can be a bit clunky to have to explicitly
set the mappings for each controller. More importantly, the remapping
leaves the original controller entries in
/dev/input/, although they
don't do anything, and some games1 assume that the four
players are controlled by the first four controllers. This is no longer
js0 is the real first controller and
js1 is the copy made
xboxdrv to look like an Xbox 360 controller. Or, worse, if
js3 are the four real controllers and
js7 are the ones
we want the game to actually use.
The specific reason I'm remapping the controllers, is that the gamepads
I'm actually using are GameCube controllers connected
via the Nintendo GameCube controller Adapter for Wii U,
which connects up to four GameCube controllers to a USB port.
wii-u-gc-adapter makes them usable as
controllers, but they appear different enough from Xbox 360 controllers
that remapping them is necessary for most games.
Just build and use the version of
wii-u-gc-adapter in my
feature/mimic-xpad branch and your GameCube
controllers will show up as Xbox controllers.