Configuring RA for multi-mouse (spinners, lightguns, tackballs)

Warning: this is relatively new functionality for RetroArch. There may be some rough edges.

Input Drivers

As of October 2017, there are two RetroArch input drivers with support for multi-mouse: udev and the Windows raw driver. It’s possible that other drivers will support multi-mouse in the future, although for some input drivers it is inherently impossible due to their design.

If you are using the udev driver, make sure that your permissions are configured correctly.

Emulator core and game

The reference emulator and content for multi-mouse is MAME 2003 with Area 51 ( and its corresponding CHD). If possible, test with this ‘known good’ combination before trying others.

Determining mice index numbers

  • Make sure that your input driver is set to one with multi-mouse support. If you change this setting, quit RetroArch and restart.
  • Start RetroArch from the commandline with the option --verbose so that you can see status messages. If that’s not practical, folks can use trial and error to find the indexes.

udev example:

[INFO] [udev]: Keyboard #0 (/dev/input/event3).
[INFO] [udev]: Mouse #0 (/dev/input/event4).
[INFO] [udev]: Mouse #1 (/dev/input/mouse0).
[INFO] [udev]: Mouse #2 (/dev/input/event5).


Please disregard any devices listed for the legacy interfaces /dev/input/mouse* and /dev/input/js*. Look instead for the /dev/input/event* indexes.In this example, there are two lightgun devices attached, along with a keyboard-style arcade control panel. To use both lightguns, the correct mouse indexes to use would be 0 and 2.

Windows raw example:

[INFO] [WINRAW]: Initializing input driver ...
[INFO] [WINRAW]: Mouse #0 \\?\Root#RDP_MOU#0000#{378de44c-56ef-11d1-bc8c-00a0c91
[INFO] [WINRAW]: Mouse #1 \\?\ACPI#IBM3780#4&2b110597&0#{378de44c-56ef-11d1-bc8c

In this example there are two lightgun devices attached, which are seen by the Windows raw input driver as Mouse #0 and Mouse #1. To use both devices the correct mouse indexes to use are 0 and 1.


For each user and mouse you wish to configure, visit the corresponding user ‘binds’ screen and set Mouse Index to match the indexes discovered earlier.

Mouse indexes can change

Beware: the index of a specific device may change depending on what device you have attached to which port. For example, if you boot with an external mouse, it might be detected by udev as event0 and your spinner as event1, but if you boot the same system without the external mouse attached, everything might ratchet down (spinner becomes event0).

1 Like

I really appreciate the notes @casdevel. I just updated the guide and I have subscribed to your PR #5518 so I can return to update this again.

Thanks for catching that, fixed

I don’t know much about emulator steering wheels but regarding the title I was thinking of items like this:

If most steering wheels are seen as joypads I will go ahead and change the title, no need for me to make this more confusing than it already can be :slight_smile:

sorry to resurect an old post. i have filled the directions of setting my mouse to zero (that’s what RA sees it as) and when i load up a gun game with the genesis core, the cursor moves just fine but the trigger is not sending bullets.

fyi, i am using old actlab lightguns if that makes a difference.

any help is appreciated!

I posted about this same problem a few weeks ago - Light Gun support is broken in newer versions of RA it seems.

Use RA 1.6.9 for lightgun games; seems to be the last build that it worked good.

I wish the devs would see why triggers are broke in new versions. It’s probably a very simple fix.

If that is the case, I suggest generating logs and then creating an issue with the specifics of the regression in the RetroArch repository at

At the minimum, create a new thread here in the forums with a title that mentions that there has been a regression in lightgun support.

i’ll start a new post now. thanks for the lead on 1.6.9!