Getting Wii Classic Controller Working in Steam Using xboxdrv

For a while I have been meaning to play some modern indie platformers from Steam (like Super Meat Boy, Braid and Limbo).

I have been pretty happy with the Wii Classic controller for playing games on a SNES emulator but it didnt work with Steam straight off.

Using this awesome python script from Daniel Perelman I was able to get it working via xboxdrv.

Here are the correct settings:

xboxdrv --evdev "/dev/input/event7" --evdev-keymap "BTN_THUMB2=a,BTN_PINKIE=rt,BTN_DEAD=dl,BTN_THUMB=b,BTN_BASE=lb,KEY_#302=dd,BTN_BASE3=back,BTN_BASE4=start,BTN_TOP2=lt,BTN_BASE2=rb,BTN_JOYSTICK=y,BTN_TOP=x,KEY_#300=du,KEY_#301=dr,BTN_BASE5=guide" --evdev-absmap "ABS_Y=y1,ABS_Z=x2,ABS_X=x1,ABS_RZ=y2" --axismap "-y1=y1,-y2=y2 --mimic-xpad --silent --quiet"

My controller is now at /dev/input/event7, you can find out where yours is by running evtest /dev/input/eventX (if you just plugged it in it’s likely to be the highest numbered input device)