How can I stop my controller from moving my mouse?

Solution 1:

To stop the joystick controlling the mouse is actually really easy, after much searching finally stumbled across it, in the current versions of ubuntu xorg.conf isn't used, instead you have files in. /usr/share/X11/xorg.conf.d/ You have to goto this folder as root and edit '50-joystick.conf' so:

sudo su
cd /usr/share/X11/xorg.conf.d/
nano 50-joystick.conf

The file should look like this:

Section "InputClass"
    Identifier "joystick catchall"
    MatchIsJoystick "on"
    MatchDevicePath "/dev/input/event*"
    Driver "joystick"
    Option "StartKeysEnabled" "False"   # These Two Lines Disable
    Option "StartMouseEnabled" "False"  # The mouse emulation
EndSection

Once you added the two 'Option' lines save the file (Ctrl+O) and exit (Ctrl+X). Now restart linux, the joystick works in games but nolonger runs the mouse around the screen or traps him in the top left corner.

Solution 2:

Something along the lines of:

xinput set-prop 'HJZ Mayflash WiiU Pro Game Controller Adapter' "Device Enabled" 0

should make it stop acting as mouse. You might also want to run

sudo evtest /dev/input/event2 (or wherever your controller is)

to get an idea of why this is happening in the first place.

Solution 3:

If you're still having this issue, I figured out a solution. This was done on a Raspberry Pi, but it should work on Ubuntu as well (I don't know how to edit the command line on Ubuntu but I'm sure there's a way to do it easily).

Copied from my post on reddit: https://www.reddit.com/r/RetroPie/comments/3drzqt/anyone_using_a_wii_u_pro_controller_adapter_with/

Run lsusb -v and look for the idVendor and idProduct of your Mayflash adapter (they were 0x0079 and 0x1800, respectively, for me).

Add the following string to the end of your /boot/cmdline.txt file:

usbhid.quirks=idVendor:idProduct:0x40

Replace idVendor and idProduct with the values you found earlier. Make sure you include the "0x" prefixes.

Reboot your pi:

sudo reboot

You should now see js0, js1, js2, and js3 in /dev/input.