mouse as a Zapper lr-fceumm RPi 3 b+
-
@sexbeer in quick menu, options, there is zapper type. Mine is set to pointer. Try both pointer and mouse.
In input, user 2 binds, player 2 device type is set to auto. Mouse index is 0. So is player 1.
In controls player 2 user device type is set to auto. So is player 1.
And i did verify player 2 does control the lightgun.
-
@edmaul69 you will not believe, but... it does not help:) I tried everything. can you control retroarch's menu with mouse? what is yours version RPi? by the way, in the latest version lr-fceumm 'pointer' is 'lightgun'
-
@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.
-
-
@sexbeer here is the working one if you would like to use it instead.
https://drive.google.com/open?id=14LmBy3NII6L8v1162SYaSegWPgPm63Z0
-
@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?
-
@sexbeer have you tried using nestopia instead? I will post my log in a minute
-
@sexbeer here is my log from the working version i posted here
-
@sexbeer here is the log from the newer non working one
-
@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
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 huband that's what i have here
-
Hi,
I have the same error with my trackball. Is there any incompatibility with Retropie 4.4 and Retroarch 1.7.X?
-
@albecacif try replacing the libretro core with the one i posted. It works for me, but the new libretro core doesnt work with mouse.
-
@edmaul69 try to update all packages with kernel on your Rpi3b+, and then replace your core.
-
I tested on a stock updated RetroPie 4.4 and didn't have any problems with either
lr-fceumm
orlr-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 theZapper mode
option tomouse
and applied a shader from the RGUI between rounds. -
@mitu Have you tried using a usb wired mouse? or wireless 2.4Ghz mouse?
-
@sexbeer I forgot to mention, but the mouse has an USB BT Receiver, so it's seen as an USB mouse by the system.
-
@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 -
@sexbeer can you install the
evtest
utility (sudo apt-get install evtest
) and test your input devices? This is different thanjstest
as it tests event-based input devices. When runningevtest
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 gettingAhh just realised that[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.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. -
@hhromic My system recognizes all devices connected via usb.
evtest
showed that the mouse isevent2
although at the same time it ismouse0
.I think that's because Pad is recognized first and it'sevent0
, then keyboard isevent1
. But It does not matter. Mouse works fine with this test, but not in retroarch -
@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 returningfalse
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.
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.