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

    Cannot configure 8BitDo M30 controller shoulder buttons

    Scheduled Pinned Locked Moved Help and Support
    8bitdo m308bitdobluetoothretroarch.cfg
    4 Posts 3 Posters 1.5k 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.
    • D
      dgleason
      last edited by

      I managed to set up the 8BitDo M30 controller (mostly) successfully, but for some reason, I am unable to configure the shoulder buttons via the "Configure Input" menu in EmulationStation.

      Pressing either shoulder button for the first time will skip the respective mapping with "NOT DEFINED", and subsequent attempts to map remaining inputs by pressing the shoulder buttons will just cause the input to be unresponsive until skipped or mapped to another button.

      It seems like input is at least detected, which I was able to verify with jstest:

      Joystick (8BitDo M30 gamepad) has 8 axes (X, Y, Z, Rx, Ry, Rz, Hat0X, Hat0Y)
      and 10 buttons (BtnA, BtnB, BtnC, BtnX, BtnY, BtnZ, BtnTL, BtnTR, BtnTL2, BtnTR2).
      Testing ... (interrupt to exit)
      Axes:  0:-32767  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off
      

      Where the shoulder buttons appear to correspond to Axes 2 and 5, going from -32767 to 32767 when pressed.

      I tried to configure this in the relevant config /opt/retropie/configs/all/retroarch-joypads/8BitDo M30 gamepad.cfg, though I am not sure if it is correct:

      input_l2_btn = "+2"
      input_r2_btn = "+5"
      input_l2_btn_label = "L2"
      input_r2_btn_label = "R2"
      

      And then in retroarch.cfg:

      input_player1_l2 = "L2"
      input_player1_r2 = "R2"
      

      This does not appear to resolve my issue, however.

      RetroPie version:

      Linux retropie 4.14.30-v7+ #1102 SMP Mon Mar 26 16:45:49 BST 2018 armv7l GNU/Linux
      

      Running on Raspberry Pi 3 B+

      1 Reply Last reply Reply Quote 0
      • P
        psyke83 Global Moderator
        last edited by psyke83

        This is a known issue that'll be fixed once this PR is merged; when merged, you'll need to use emulationstation-dev until the patch is also applied to the stable branch.

        F 1 Reply Last reply Reply Quote 1
        • F
          Felixoid @psyke83
          last edited by

          @psyke83
          Hello. I've built a binary from the master, but the shoulders still don't work on the M30 pad. Could you tell if they already should work?

          P 1 Reply Last reply Reply Quote 0
          • P
            psyke83 Global Moderator @Felixoid
            last edited by psyke83

            @Felixoid said in Cannot configure 8BitDo M30 controller shoulder buttons:

            @psyke83
            Hello. I've built a binary from the master, but the shoulders still don't work on the M30 pad. Could you tell if they already should work?

            It should work on the latest dev branch, yes. Is your controller definitely using axes 2 & 5 for triggers (considering differences in firmware/pairing mode)?

            Note that the axis filtering is done only when defining the trigger buttons, so if you're doing non-standard mapping to buttons other than the triggers, it won't work.

            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.