RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    mouse as a Zapper lr-fceumm RPi 3 b+

    Scheduled Pinned Locked Moved Help and Support
    zapperlr-fceummmouseraspberrypi 3b+
    52 Posts 9 Posters 9.9k 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.
    • edmaul69E
      edmaul69 @sexbeer
      last edited by

      @sexbeer you cannot control the menu with a mouse as far as i can tell. Even though retroarch has options for it.

      I am going to update lr-fceumm and see if it has any issues. I will get back to you in a minute.

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

        @sexbeer bad news. It is the new lr-fceumm that is the problem. @buzz might have some insight into why it doesnt work on the latest version

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

          @sexbeer here is the working one if you would like to use it instead.

          https://drive.google.com/open?id=14LmBy3NII6L8v1162SYaSegWPgPm63Z0

          sexbeerS 1 Reply Last reply Reply Quote 0
          • sexbeerS
            sexbeer @edmaul69
            last edited by

            @edmaul69 nope... it also not working for me. I ran the game with the verbose logging on. and that's what I got from /dev/shm/runcommand.log:
            ...
            [ERROR] [udev] Failed to open device: /dev/input/event0 (Success).
            [INFO] [udev]: Mouse #0 (/dev/input/mouse0).
            [INFO] [udev]: Plugged pad: Microsoft X-Box 360 pad (1118:654) on port #0.
            [INFO] [udev]: Pad #0 (/dev/input/event1) supports force feedback.
            [INFO] [udev]: Pad #0 (/dev/input/event1) supports 16 force feedback effects.
            [INFO] [Autoconf]: 1 profiles found.
            [INFO] [autoconf]: selected configuration: /home/pi/.config/retroarch/autoconfig/Microsoft X-Box 360 pad.cfg
            [INFO] [Joypad]: Found joypad driver: "udev".
            [WARN] [udev]: Full-screen pointer won't be available.
            ...

            is that normal? could you do it on your system to compare?

            edmaul69E 3 Replies Last reply Reply Quote 0
            • edmaul69E
              edmaul69 @sexbeer
              last edited by

              @sexbeer have you tried using nestopia instead? I will post my log in a minute

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

                @sexbeer here is my log from the working version i posted here

                https://pastebin.com/ESXhCxrF

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

                  @sexbeer here is the log from the newer non working one

                  https://pastebin.com/gJk8bjyW

                  sexbeerS 1 Reply Last reply Reply Quote 0
                  • sexbeerS
                    sexbeer @edmaul69
                    last edited by sexbeer

                    @edmaul69 I think the problem is somewhere nearby this:

                    [ERROR] [udev] Failed to open device: /dev/input/event0 (Success).
                    [INFO] [udev]: Mouse #0 (/dev/input/mouse0).

                    I compared your file with my file in TC

                    0_1542495667085_1.jpg
                    fff... i have some ERROR don't know how to fix it! :)

                    but mouse is available in system:

                    pi@retropie:~ $ lsusb
                    Bus 001 Device 004: ID 045e:028e Microsoft Corp. Xbox360 Controller
                    Bus 001 Device 005: ID 1bcf:0007 Sunplus Innovation Technology Inc. Optical Mouse
                    Bus 001 Device 006: ID 0424:7800 Standard Microsystems Corp.
                    Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
                    Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
                    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

                    and that's what i have here
                    0_1542496847356_2.jpg

                    1 Reply Last reply Reply Quote 0
                    • A
                      albecacif
                      last edited by

                      Hi,

                      I have the same error with my trackball. Is there any incompatibility with Retropie 4.4 and Retroarch 1.7.X?

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

                        @albecacif try replacing the libretro core with the one i posted. It works for me, but the new libretro core doesnt work with mouse.

                        sexbeerS 1 Reply Last reply Reply Quote 0
                        • sexbeerS
                          sexbeer @edmaul69
                          last edited by

                          @edmaul69 try to update all packages with kernel on your Rpi3b+, and then replace your core.

                          1 Reply Last reply Reply Quote 0
                          • mituM
                            mitu Global Moderator
                            last edited by

                            I tested on a stock updated RetroPie 4.4 and didn't have any problems with either lr-fceumm or lr-nestopia. I plugged in a BT mouse from my pc and it worked without any extra configuration, the pointer showed up on the screen and I could use it (played Duck Hunt). Just to compare, this is the log file from the shooting session - I changed the Zapper mode option to mouse and applied a shader from the RGUI between rounds.

                            sexbeerS 1 Reply Last reply Reply Quote 0
                            • sexbeerS
                              sexbeer @mitu
                              last edited by

                              @mitu Have you tried using a usb wired mouse? or wireless 2.4Ghz mouse?

                              mituM 1 Reply Last reply Reply Quote 0
                              • mituM
                                mitu Global Moderator @sexbeer
                                last edited by

                                @sexbeer I forgot to mention, but the mouse has an USB BT Receiver, so it's seen as an USB mouse by the system.

                                sexbeerS 1 Reply Last reply Reply Quote 0
                                • sexbeerS
                                  sexbeer @mitu
                                  last edited by

                                  @mitu I just tried on a stock updated RetroPie 4.4. and nothing has changed, the problem has not gone. that is my log.
                                  I have an error in this section

                                  [INFO] [udev]: Keyboard #0 (/dev/input/event0).
                                  [ERROR] [udev] Failed to open device: /dev/input/event2 (Success).
                                  [INFO] [udev]: Mouse #0 (/dev/input/mouse0).
                                  [INFO] [udev]: Plugged pad: Microsoft X-Box 360 pad (1118:654) on port #0.
                                  [INFO] [udev]: Pad #0 (/dev/input/event1) supports force feedback.
                                  [INFO] [udev]: Pad #0 (/dev/input/event1) supports 16 force feedback effects.
                                  

                                  with all mouses that I have :(
                                  but, I repeat, mouse work in console with cat /dev/input/mice, I mean the system detect it well

                                  H 1 Reply Last reply Reply Quote 0
                                  • H
                                    hhromic @sexbeer
                                    last edited by hhromic

                                    @sexbeer can you install the evtest utility (sudo apt-get install evtest) and test your input devices? This is different than jstest as it tests event-based input devices. When running evtest it should list all the detected input devices and ask for a number to test. If your mouse appears there, choose the correct number and then you should see all the supported events that your mouse can report. Move the mouse and click buttons and you should see events being triggered. If you don't get to this part, then something is wrong in the udev subsystem for you.

                                    It's specially weird that you are getting [ERROR] [udev] Failed to open device: /dev/input/event2 (Success), which means the function opening the device is not failing but being detected as failing. This would be potentially a bug in RetroArch. Ahh just realised that mouse0 is actually detected fine, you have another event input device that can't be opened (event2).

                                    Posting the output of evtest before asking for which device to test would be useful to understand what input devices your system is recognising.

                                    sexbeerS 1 Reply Last reply Reply Quote 0
                                    • sexbeerS
                                      sexbeer @hhromic
                                      last edited by

                                      @hhromic My system recognizes all devices connected via usb. evtest showed that the mouse is event2 although at the same time it is mouse0.I think that's because Pad is recognized first and it's event0, then keyboard is event1. But It does not matter. Mouse works fine with this test, but not in retroarch

                                      H 1 Reply Last reply Reply Quote 0
                                      • H
                                        hhromic @sexbeer
                                        last edited by

                                        @sexbeer yes it doesn't matter in which order event devices are detected (gamepad, mouse, keyboard etc). But for me it is weird that retroarch reports and error and the description being "Success". Checking the source code of RetroArch for the error string leads to this:

                                                    if (!udev_input_add_device(udev, type, devnode, cb))
                                                       RARCH_ERR("[udev] Failed to open device: %s (%s).\n",
                                                             devnode, strerror(errno));
                                        

                                        The udev_input_add_device function is returning false but not because of a system error (errno = 0, which is "success"). Checking further what that function does I found that it checks some things but do not report the actual error, unfortunately, so it's hard to spot what is happening exactly. An alternative would be to add more verbosity and re-compile retroarch.

                                        Interestingly, for example I found that it checks if mouse/touchpad devices have absolute coordinates, and fail if the absolute axes min/max are inconsistent:

                                        /* Touchpads report in absolute coords. */
                                           if (type == UDEV_INPUT_TOUCHPAD)
                                           {
                                              if (ioctl(fd, EVIOCGABS(ABS_X), &absinfo) < 0 ||
                                                    absinfo.minimum >= absinfo.maximum)
                                                 goto error;
                                        
                                              device->mouse.x_min = absinfo.minimum;
                                              device->mouse.x_max = absinfo.maximum;
                                        
                                              if (ioctl(fd, EVIOCGABS(ABS_Y), &absinfo) < 0 ||
                                                  absinfo.minimum >= absinfo.maximum)
                                                 goto error;
                                        
                                              device->mouse.y_min = absinfo.minimum;
                                              device->mouse.y_max = absinfo.maximum;
                                           }
                                           /* UDEV_INPUT_MOUSE may report in absolute coords too */
                                           else if (type == UDEV_INPUT_MOUSE && ioctl(fd, EVIOCGABS(ABS_X), &absinfo) >= 0)
                                           {
                                              if (absinfo.minimum >= absinfo.maximum)
                                                 goto error;
                                        
                                              device->mouse.x_min = absinfo.minimum;
                                              device->mouse.x_max = absinfo.maximum;
                                        
                                              if (ioctl(fd, EVIOCGABS(ABS_Y), &absinfo) < 0 ||
                                                  absinfo.minimum >= absinfo.maximum)
                                                 goto error;
                                        
                                              device->mouse.y_min = absinfo.minimum;
                                              device->mouse.y_max = absinfo.maximum;
                                           }
                                        

                                        Which may be causing the initialisation to return false without being a device error itself. You said you tried different types of mice, so I wonder myself what are the odds for all of them to fall in this case.

                                        Can you paste the full output of evtest while testing your mouse device? in particular the capabilities it shows for your mouse device before testing moving and buttons?

                                        I'm sorry of not being able to help you more directly with your problem, but I thought it might shed some light.

                                        sexbeerS 1 Reply Last reply Reply Quote 0
                                        • sexbeerS
                                          sexbeer @hhromic
                                          last edited by

                                          @hhromic ok! I connected only one optical mouse and one gamepad. This is log:

                                          [ERROR] [udev] Failed to open device: /dev/input/event1 (Success).
                                          [INFO] [udev]: Mouse #0 (/dev/input/mouse0).
                                          [INFO] [udev]: Plugged pad: Microsoft X-Box 360 pad (1118:654) on port #0.
                                          [INFO] [udev]: Pad #0 (/dev/input/event0) supports force feedback.
                                          [INFO] [udev]: Pad #0 (/dev/input/event0) supports 16 force feedback effects.
                                          [INFO] [Autoconf]: 1 profiles found.
                                          [INFO] [autoconf]: selected configuration: /home/pi/.config/retroarch/autoconfig/Microsoft X-Box 360 pad.cfg
                                          [INFO] [Joypad]: Found joypad driver: "udev".
                                          [WARN] [udev]: Full-screen pointer won't be available.
                                          

                                          that's what the evtest says:

                                          pi@retropie:~ $ evtest
                                          No device specified, trying to scan all of /dev/input/event*
                                          Not running as root, no devices may be available.
                                          Available devices:
                                          /dev/input/event0:      Microsoft X-Box 360 pad
                                          /dev/input/event1:      USB Optical Mouse
                                          Select the device event number [0-1]: 1
                                          Input driver version is 1.0.1
                                          Input device ID: bus 0x3 vendor 0x1bcf product 0x7 version 0x110
                                          Input device name: "USB Optical Mouse"
                                          Supported events:
                                            Event type 0 (EV_SYN)
                                            Event type 1 (EV_KEY)
                                              Event code 272 (BTN_LEFT)
                                              Event code 273 (BTN_RIGHT)
                                              Event code 274 (BTN_MIDDLE)
                                            Event type 2 (EV_REL)
                                              Event code 0 (REL_X)
                                              Event code 1 (REL_Y)
                                              Event code 6 (REL_HWHEEL)
                                              Event code 8 (REL_WHEEL)
                                            Event type 3 (EV_ABS)
                                              Event code 40 (ABS_MISC)
                                                Value      0
                                                Min        0
                                                Max      255
                                            Event type 4 (EV_MSC)
                                              Event code 4 (MSC_SCAN)
                                          Properties:
                                          Testing ... (interrupt to exit)
                                          Event: time 1542985009.001711, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
                                          Event: time 1542985009.001711, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1
                                          Event: time 1542985009.001711, -------------- SYN_REPORT ------------
                                          Event: time 1542985009.289681, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
                                          Event: time 1542985009.289681, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0
                                          Event: time 1542985009.289681, -------------- SYN_REPORT ------------
                                          Event: time 1542985010.697590, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
                                          Event: time 1542985010.697590, type 1 (EV_KEY), code 273 (BTN_RIGHT), value 1
                                          Event: time 1542985010.697590, -------------- SYN_REPORT ------------
                                          Event: time 1542985010.857576, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
                                          Event: time 1542985010.857576, type 1 (EV_KEY), code 273 (BTN_RIGHT), value 0
                                          Event: time 1542985010.857576, -------------- SYN_REPORT ------------
                                          Event: time 1542985011.993503, type 2 (EV_REL), code 0 (REL_X), value 1
                                          Event: time 1542985011.993503, -------------- SYN_REPORT ------------
                                          Event: time 1542985012.009492, type 2 (EV_REL), code 0 (REL_X), value 1
                                          Event: time 1542985012.009492, -------------- SYN_REPORT ------------
                                          Event: time 1542985013.417412, type 2 (EV_REL), code 1 (REL_Y), value 1
                                          Event: time 1542985013.417412, -------------- SYN_REPORT ------------
                                          Event: time 1542985013.433401, type 2 (EV_REL), code 0 (REL_X), value -6
                                          Event: time 1542985013.433401, type 2 (EV_REL), code 1 (REL_Y), value 2
                                          Event: time 1542985013.433401, -------------- SYN_REPORT ------------
                                          Event: time 1542985013.449407, type 2 (EV_REL), code 0 (REL_X), value -5
                                          Event: time 1542985013.449407, type 2 (EV_REL), code 1 (REL_Y), value 4
                                          Event: time 1542985013.449407, -------------- SYN_REPORT ------------
                                          Event: time 1542985013.465396, type 2 (EV_REL), code 0 (REL_X), value -1
                                          Event: time 1542985013.465396, type 2 (EV_REL), code 1 (REL_Y), value 3
                                          Event: time 1542985013.465396, -------------- SYN_REPORT ------------
                                          Event: time 1542985013.561400, type 2 (EV_REL), code 1 (REL_Y), value 1
                                          Event: time 1542985013.561400, -------------- SYN_REPORT ------------
                                          Event: time 1542985014.969317, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90003
                                          Event: time 1542985014.969317, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
                                          Event: time 1542985014.969317, -------------- SYN_REPORT ------------
                                          Event: time 1542985015.193300, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90003
                                          Event: time 1542985015.193300, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 0
                                          Event: time 1542985015.193300, -------------- SYN_REPORT ------------
                                          Event: time 1542985017.001189, type 2 (EV_REL), code 1 (REL_Y), value -1
                                          Event: time 1542985017.001189, -------------- SYN_REPORT ------------
                                          Event: time 1542985017.017184, type 2 (EV_REL), code 1 (REL_Y), value -1
                                          Event: time 1542985017.017184, -------------- SYN_REPORT ------------
                                          Event: time 1542985017.033177, type 2 (EV_REL), code 0 (REL_X), value -2
                                          Event: time 1542985017.033177, type 2 (EV_REL), code 1 (REL_Y), value -7
                                          Event: time 1542985017.033177, -------------- SYN_REPORT ------------
                                          Event: time 1542985017.049176, type 2 (EV_REL), code 0 (REL_X), value -2
                                          Event: time 1542985017.049176, type 2 (EV_REL), code 1 (REL_Y), value -3
                                          Event: time 1542985017.049176, -------------- SYN_REPORT ------------
                                          Event: time 1542985017.065173, type 2 (EV_REL), code 1 (REL_Y), value -4
                                          Event: time 1542985017.065173, -------------- SYN_REPORT ------------
                                          Event: time 1542985017.081172, type 2 (EV_REL), code 0 (REL_X), value -2
                                          Event: time 1542985017.081172, type 2 (EV_REL), code 1 (REL_Y), value -4
                                          Event: time 1542985017.081172, -------------- SYN_REPORT ------------
                                          
                                          H 1 Reply Last reply Reply Quote 0
                                          • H
                                            hhromic @sexbeer
                                            last edited by hhromic

                                            @sexbeer ok so your mouse is being detected as relative coordinates type.
                                            Can you paste the output of ls -la /dev/input/ just to confirm device permissions?

                                            sexbeerS 1 Reply 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.