RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Multiple mice support in RetroArch cores (lightguns, spinners, trackballs)

    Scheduled Pinned Locked Moved Ideas and Development
    micelightgunspinnersteering wheelmame
    179 Posts 14 Posters 69.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dankcushionsD
      dankcushions Global Moderator @mediamogul
      last edited by

      @mediamogul said in [Experimental]Multiple mice support in RetroArch cores (lightguns, spinners, steering wheels):

      Continued from: https://retropie.org.uk/forum/topic/10984/wii-remote-for-use-a-gun/27

      casdevel has stated that:

      I think that udev related log will tell as what's going on.

      Would setting the udevadm logging priority to 'info' produce the necessary information into the system log, or would the relevant udev information simply populate into a verbose RetroArch log?

      i've not tried that before but sounds right! you also might want to set:

      libretro_log_level = 0
      log_verbosity = true
      

      that should catch all other retroarch stuff in your /dev/shm/runcommand.log.

      1 Reply Last reply Reply Quote 0
      • markwkiddM
        markwkidd
        last edited by markwkidd

        RetroArch 1.6.1 is now installed by default via the RetroPie setup script, so that manual step to update RetroArch should no longer be necessary.

        Folks should still make sure that their lr-mame2003 core is built from the most recent github commit on May 27, 2017: d540253.

        1 Reply Last reply Reply Quote 2
        • B
          BGallagherLA
          last edited by

          I have a Wiimote/DolphinBar setup working great on about 50 games in AdvMame with no issues whatsoever. Are there any plans to add support for console emulators like NES, SNES, Sega Master System and Genesis? Lots of great gun games that can't be played. I've tested some SMS and Genesis games on non-libretro cores like DGEN but they only half work, meaning I can fire the gun but not move the console. The emulator is really choppy also. Just curious if this is being worked on as well. Thanks.

          markwkiddM 1 Reply Last reply Reply Quote 0
          • markwkiddM
            markwkidd @BGallagherLA
            last edited by

            @BGallagherLA This update affects all libretro cores based on emulators with multiple mice support. It opens up support for the classic consoles you mentioned. We need feedback from people willing to try to use it to hammer out remaining fixes on a (libretro) core-by-core basis.

            Right now this isn't documented because it's new, but basically:

            1. find a libretro core for SNES, Genesis, etc that is based on an emulator with multi-mouse support
            2. configure the mice/lightguns/spiners per this thread
            3. if multi-mouse support doesn't work, then file a libretro github issue so that the devs can take a look

            I'm hoping that users will help create a list of the cores that work with multiple mice to jumpstart documentation. Right now that list is in its infancy but if you try something out, consider posting your results here or in this libretro forum thread: https://forums.libretro.com/t/help-make-a-list-of-cores-that-support-multiple-mice/10857j

            1 Reply Last reply Reply Quote 1
            • B
              BGallagherLA
              last edited by

              Excellent. So would I nee to update my setup script to get RetroArch 1.6 before starting this then? If so I'll see if I can test some stuff out tonight.

              markwkiddM 1 Reply Last reply Reply Quote 1
              • markwkiddM
                markwkidd @BGallagherLA
                last edited by

                @BGallagherLA The very latest updates to Retropie setup should bring your RetroArch up to 1.6.1. That's the first official RetroArch release to incorporate multiple mouse support.

                In other words, you no longer need to manually modify the Retropie script to pull in the most recent github version of RetroArch -- as long as Retropie-setup is current, it will get you the version you need.

                B mediamogulM 2 Replies Last reply Reply Quote 0
                • B
                  BGallagherLA @markwkidd
                  last edited by

                  @markwkidd OK cool. I haven't updated my setup script since getting 4.2 in March so I'll do that tonight and see what happens. I don't know much about editing settings though, so could you point me in the right direction as to what I'd need to do? I'm running RetroPie 4.2 on a Raspberry Pi 2.

                  1 Reply Last reply Reply Quote 0
                  • mediamogulM
                    mediamogul Global Moderator @markwkidd
                    last edited by

                    @markwkidd

                    as long as Retropie-setup is current, it will get you the version you need.

                    Unfortunately, the installation for RetroArch had to be rolled back to 1.6.0. due to an issue with the 'Enter' key not being recognised.

                    RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                    markwkiddM 1 Reply Last reply Reply Quote 0
                    • markwkiddM
                      markwkidd @mediamogul
                      last edited by

                      @mediamogul Well dang. Has this been fixed in RetroArch itself now, so that it is safe to compile from github source like you did earlier in the thread?

                      mediamogulM 1 Reply Last reply Reply Quote 0
                      • mediamogulM
                        mediamogul Global Moderator @markwkidd
                        last edited by mediamogul

                        @markwkidd

                        Has this been fixed in RetroArch itself now, so that it is safe to compile from github source like you did earlier in the thread?

                        It's been fixed and altering the RetroArch script module as before should work fine. I've been meaning to get back at this myself and deliver as much udev log information as possible, but my real world stuff has been unrelenting here lately. I hope to be able to look at it by the weekend.

                        RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                        1 Reply Last reply Reply Quote 1
                        • markwkiddM
                          markwkidd
                          last edited by markwkidd

                          edit: whoops, I drew a premature conclusion. stay tuned

                          1 Reply Last reply Reply Quote 0
                          • markwkiddM
                            markwkidd
                            last edited by markwkidd

                            A minor update. If you have a MAME 2003 core built from the latest source, you shouldn't have to manually configure the buttons on mice 2-8 any more.

                            1 Reply Last reply Reply Quote 3
                            • markwkiddM
                              markwkidd
                              last edited by

                              Knock on wood, but it seems like the latest github RetroArch + the latest github mame2003 core = multiple mice functionality! Thanks @mediamogul !

                              mediamogulM 1 Reply Last reply Reply Quote 1
                              • mediamogulM
                                mediamogul Global Moderator @markwkidd
                                last edited by

                                @markwkidd

                                Thank you, sir. I was glad to help test. Once we get support for absolute coordinates, RetroArch and by extension RetroPie will be a one stop shop for all light gun setups. This was a big first step in that direction and it's great to see it working.

                                RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                markwkiddM edmaul69E 2 Replies Last reply Reply Quote 1
                                • markwkiddM
                                  markwkidd @mediamogul
                                  last edited by markwkidd

                                  @mediamogul I was in contact with casdevel from the beginning of their work on multiple mice. Right now I think there is some forward momentum -- if we can get a well-described and logged Issue together regarding absolute vs. relative coordinates I feel like now is the time when help is available.

                                  I'm on Windows mostly this summer, but that is one of the platforms that casdevel has been supporting.

                                  Do you know of a test case -- core + ROM + hardware -- that illustrates the problem with absolute vs. relative coordinates?

                                  mediamogulM 1 Reply Last reply Reply Quote 0
                                  • edmaul69E
                                    edmaul69 @mediamogul
                                    last edited by

                                    @mediamogul so is there any way of playing the nintendo light gun games with a mouse?

                                    1 Reply Last reply Reply Quote 0
                                    • mediamogulM
                                      mediamogul Global Moderator @markwkidd
                                      last edited by mediamogul

                                      @markwkidd

                                      if we can get a well-described and logged Issue together regarding absolute vs. relative coordinates I feel like now is the time when help is available.

                                      I would love to see this happen. Let me know how I can help.

                                      Do you know of a test case -- core + ROM + hardware -- that illustrates the problem with absolute vs. relative coordinates?

                                      I've tested with what I believe to be every core that has light gun support and currently none recognize absolute coordinates. If one core were to become the focus, I would suggest either lr-mame2003 to continue the work already done there, or perhaps lr-nestopia, as the NES was arguably the most popular home console light gun system.

                                      @edmaul69

                                      so is there any way of playing the nintendo light gun games with a mouse?

                                      If played with a standard desktop mouse, or just about any airmouse, lr-nestopia already has functional light gun support. NstDatabase.xml has to be installed at /home/pi/RetroPie/BIOS, which I thought it was by default, but I can't find any mention of it anywhere. Unfortunately, until RetroArch can register absolute coordinates, USB arcade guns and devices like the DolphinBar are left out in the cold.

                                      RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                      dankcushionsD edmaul69E markwkiddM 3 Replies Last reply Reply Quote 0
                                      • dankcushionsD
                                        dankcushions Global Moderator @mediamogul
                                        last edited by dankcushions

                                        @mediamogul said in Multiple mice support in RetroArch cores (lightguns, spinners, steering wheels):

                                        @markwkidd

                                        if we can get a well-described and logged Issue together regarding absolute vs. relative coordinates I feel like now is the time when help is available.

                                        I would love to see this happen. Let me know how I can help.

                                        Do you know of a test case -- core + ROM + hardware -- that illustrates the problem with absolute vs. relative coordinates?

                                        I've tested with what I believe to be every core that has light gun support and currently none recognize absolute coordinates. If one core were to become the focus, I would suggest either lr-mame2003 to continue the work already done there

                                        mame2003 supports absolute coords, sort of. the trackpad on my macbook air is received by the cocoa (apple) input driver in retroarch as an absolute device (in retroarch/libretro's terms, a 'pointer'). in mame2003 i coded it to translate that to relative coordinates (if you select 'pointer' as you mouse device, which is a core option), as that's what mame's internal 'mouse' device needs. mame has some other devices ('lightgun', etc) that might be able to take absolute coordinates directly, if they were hooked up, i don't know, but there's no real need if my translation works.

                                        now, retropie (and let's say raspbian, for this example), is different, because it uses the udev input driver by default. i set up a development build of mame2003 that logged all mouse and pointer coordinates coming in, and i had someone with an aimtrak lightgun give me a log. the problem seeme to be that the lightgun wasn't received by the udev input driver as a mouse OR a pointer, so it doesn't matter what the core does (and i'm fairly sure mame2003 would have worked if the udev driver had given it anything).

                                        so, the issue becomes, in order:

                                        1. does the OS (raspbian) see this device?
                                        2. does it see it as a relative mouse device (and how do you test that?)
                                        3. does the udev device manager see this device (as a relative mouse)?
                                        4. does retroarch's udev driver see this device, and present it to the core as a pointer?
                                        5. does the core understand pointers? (in the case of mame2003 - yes)

                                        sorry for the lecture :)

                                        mediamogulM 1 Reply Last reply Reply Quote 0
                                        • mediamogulM
                                          mediamogul Global Moderator @dankcushions
                                          last edited by mediamogul

                                          @dankcushions

                                          sorry for the lecture

                                          Not at all. It's great to get all this information. When I was testing my DolphinBar and Ultimarc arcade guns a week or two ago, I brought up evtest for the mouse event associated with the devices and each were recognized and the coordinates appeared to be reading normally. During that same testing session, I specified in lr-mame2003 that the mouse be a pointer device in the core options at your suggestion. Unfortunately, it still didn't produce any results. All that being the case, could it be that #4 on your potential issue list might be the road block?

                                          Edit: At the very least, RetroArch does see the device, as the mouse buttons are recognized.

                                          RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                          dankcushionsD 1 Reply Last reply Reply Quote 0
                                          • dankcushionsD
                                            dankcushions Global Moderator @mediamogul
                                            last edited by

                                            @mediamogul said in Multiple mice support in RetroArch cores (lightguns, spinners, steering wheels):

                                            @dankcushions

                                            sorry for the lecture

                                            Not at all. It's great to get all this information. When I was testing my DolphinBar and Ultimarc arcade guns a week or two ago, I brought up evtest for the mouse event associated with the devices and each were recognized and the coordinates appeared to be read normally. During that same testing session, I specified in lr-mame2003 that the mouse be a pointer device in the core options at your suggestion. Unfortunately, it still didn't produce any results. All that being the case, could it be that #4 on your potential issue list might be the road block?

                                            Edit: At the very least, RetroArch does see the device, as the mouse buttons are recognized.

                                            hmm, interesting! i would have thought that the new multiple-mice changes would have affected it. eg, i guess the pointer device would need to assigned to player 1 through retroarch.

                                            i think it's worth re-testing with the latest nightlies, pointer device set to player 1, mame2003 core option set to 'pointer', and if that doesn't work i could issue my debug build again?

                                            mediamogulM 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.