I thought the steps to getting a Wii-U Pro Controller working were worth documenting...
Have your user account in the "games" group and following udev rule in say, /etc/udev.d/10-local.rules. That will give your user permission to use it:
DRIVERS=="wiimote", GROUP="games", MODE:="0660"
Have the following X configuration setting in, say, /etc/X11/xorg.conf.d/10-local.conf. That will fix the issue with the right stick moving the mouse cursor:
Identifier "Nintendo Wii Remote Pro Controller Whitelist"
MatchProduct "Nintendo Wii Remote Pro Controller"
Option "Ignore" "on"
Then just pair, trust and connect it using blueman-applet. The "sync" button on the back is the one you use to put it into pairing mode.
I just use Steam's Big Picture to set up the controller's button mappings. That gets the controller working properly with, really, all Linux Steam games.
I'm on a multilib system, and I use WINE to run 32-bit games. Here's how I got my Wii-U Pro controller working with DoDonPachi Resurrection, which runs with the wrong button mappings otherwise.
In a 32-bit VM, I built SDL2
. I transferred the SDL2 package to my 64-bit multilib installation, converted it with convertpkg-compat32, and installed it.
I ran "wine control" and saw that there were two joysticks: one "js" and one "event". I disabled the "js" one.
I copied the gamecontrollerdb.txt, linked from koku-xinput-wine's README file, to DoDonPachi Resurrection's installation directory.
From that directory, I used WINE to run the executable, which is named default.exe:
LD_PRELOAD="/path/to/koku-xinput-wine.so" wine default.exe
And the game works with proper gamepad mappings! As far as I know, koku-xinput-wine is the only way to set it up. Yes, I tried to use x360ce (never works for me).
Clearly, koku-xinput-wine is the definitive way to get gamepads working with WINE.
That's all I've been able to test lately, but the BoilingSteam article MAKING THIRD-PARTY GAMEPADS WORK WITH STEAM GAMES
and its Discussion on Reddit
is worth checking out.