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

    2 controllers + 1 keyboard

    Scheduled Pinned Locked Moved Help and Support
    keyboardcontroller
    5 Posts 3 Posters 1.3k 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.
    • K
      kalgon
      last edited by

      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 run jstest 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!

      meleuM 1 Reply Last reply Reply Quote 0
      • C
        Concat
        last edited by

        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

        1 Reply Last reply Reply Quote 1
        • K
          kalgon
          last edited by kalgon

          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.

          1 Reply Last reply Reply Quote 0
          • meleuM
            meleu @kalgon
            last edited by

            @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).

            • Useful topics
            • joystick-selection tool
            • rpie-art tool
            • achievements I made
            K 1 Reply Last reply Reply Quote 0
            • K
              kalgon @meleu
              last edited by

              @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.

              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.