2 controllers + 1 keyboard
-
Hi,
I have retropie 4.1 with
- 2 wired XBox 360 gamepads
- 1 wireless microsoft all-in-one media keyboard
When the keyboard dongle/receiver is not plugged-in, my 2 gamepads are working without problem but as soon as I plug the receiver in, my keyboard takes prcedence over the 2 gamepads (keyboard -> player1, gamepad1 -> player2, gamedpad2 -> player3).
For console games, I don't want the keyboard to become player1.
I found other posts about this problem but, so far, no solution has been working for me.
I already tried the following:
- force joypad_index (P1 -> 0, P2 -> 1) in retroarch.cfg
- remove all keyboard bindings in retroarch.cfg
- force all keyboard bindings to "nul" in retroarch.cfg
- plug the keyboard/gamepads in other USB ports
Here are the result of
evtest
pi@retropie:/dev/input $ 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: Microsoft X-Box 360 pad /dev/input/event2: Microsoft Microsoft® Nano Transceiver v2.0 /dev/input/event3: Microsoft Microsoft® Nano Transceiver v2.0 /dev/input/event4: Microsoft Microsoft® Nano Transceiver v2.0
and the content of
/dev/input
pi@retropie:/dev/input $ ls -lah total 0 drwxr-xr-x 4 root root 280 Jan 2 14:04 . drwxr-xr-x 15 root root 3.3K Jan 2 14:04 .. drwxr-xr-x 2 root root 220 Jan 2 14:04 by-id drwxr-xr-x 2 root root 220 Jan 2 14:04 by-path crw-rw---- 1 root input 13, 64 Dec 31 17:17 event0 crw-rw---- 1 root input 13, 65 Dec 31 17:17 event1 crw-rw---- 1 root input 13, 66 Jan 2 14:04 event2 crw-rw---- 1 root input 13, 67 Jan 2 14:04 event3 crw-rw---- 1 root input 13, 68 Jan 2 14:04 event4 crw-rw---- 1 root input 13, 0 Dec 31 17:17 js0 crw-rw---- 1 root input 13, 1 Dec 31 17:17 js1 crw-rw---- 1 root input 13, 2 Jan 2 14:04 js2 crw-rw---- 1 root input 13, 63 Dec 31 17:17 mice crw-rw---- 1 root input 13, 32 Jan 2 14:04 mouse0
My keyboard is listed as 3 separate events (I suppose keyboard, mousepad and media control?).
From
/dev/input
, I see that js2 must be my keyboard but when I runjstest js2
, pressing keys on my keyboard does not raise any event.I am really running out of ideas of what the problem could be and how it could be solved.
If anybody has any hints, they would be welcome.
Thanks!
-
I think RetroPie is recognizing your keyboard as a gamepad. If it's taking up a JS slot, I assume this has to be the case.
My keyboard does not take up a JS slot. In RetroArch, you will notice there is a binding for button, and a binding for key. The button bindings come from JS, the key bindings come from a keyboard.
Your post is a little confusing though, because JS0 is player1 by default, but you say JS2 is your keyboard (3rd player).
I would research and see if you can prevent your keyboard from being picked up as a joystick altogether.
Alternatively, you could research this: http://github.com/meleu/RetroPie-joystick-selection
-
RetroPie is indeed recognizing 3 controllers.
From jstest, I am sure that js0 and js1 are the controllers. I presume that js2 is the keyboard although no event is displayed when I press buttons in jstest.
I tried the joystick-selection script but that does not fix the problem.
When I launch a (nes/gb) game, notifications about controllers are always showing keyboard first (as #0), then the 2 controllers (as #1 and #2).
I have tested with a dumb wired USB keyboard and I don't have a problem with this one.
-
@kalgon please post your
/opt/retropie/configs/all/retroarch.cfg
and a/dev/shm/runcommand.log
after launching the game with verbose logging on ghostbin (or something similar). -
@meleu In the end, I bought a simple wireless keyboard (without mousepad or media buttons) and it works perfectly. The keyboard I had before (microsoft all-in-one media keyboard) gave too much problems in RetroPie.
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.