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 use 'JS5B_S' in a combo event"

    Scheduled Pinned Locked Moved Help and Support
    jzintvcombosxboxdrv
    9 Posts 2 Posters 642 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.
    • S
      SavedByZero
      last edited by SavedByZero

      I am using this xboxdrv:

      [xboxdrv]
      evdev = /dev/input/by-id/usb-©Microsoft_Corporation_Controller_CE272889-event-joystick
      silent = true
      detach-kernel-driver = true
      deadzone-trigger = 15%
      deadzone = 1000
      mimic-xpad = true
      
      
      
      
      
      
      [evdev-absmap]
      ABS_RX = x1
      ABS_RY = y1
      #ABS_Z   = DPAD_X
      #ABS_RZ  = DPAD_Y
      ABS_HAT0X = x2
      ABS_HAT0Y = y2
      
      
      
      [evdev-keymap]
      BTN_SOUTH = a
      BTN_EAST = b
      BTN_NORTH = x
      BTN_WEST = y
      BTN_TL = lb
      BTN_TR = rb
      BTN_TL2 = lt
      BTN_TR2 = rt
      BTN_THUMBL = tl
      BTN_THUMBR = tr
      BTN_SELECT = back
      BTN_MODE = guide
      BTN_START = start
      
      
      [axismap]
      -y1 = y1
      -y2 = y2
      
      [calibration]
      x1 = -32768:0:32767
      y1 = -32768:0:32767
      x2 = -32768:0:32768
      y2 = -32768:0:32768
      
      # EOF #
      

      and this jzintv hackfile segment:

      ADD_COMBO 0 JS5B_S JS5C_W
      COMBO0 PD0L_KP3
      

      Yet my intellivison game won't load and gives this error:

      event:  Cannot use 'JS5B_S' in a combo event
      cfg:  Error registering combo
      ERROR:  Failed to initialize key bindings
      

      I followed the documentation example, where am I going wrong? Those are valid inputs on the dpad as taken from event_diag.

      FWIW: I'm trying to use dpad up and right to fire my disc northwest in Tron Deadly Discs, since using diagonal axes to fire them messes up the control mapping and ruins the game.
      My controller is a microsoft USB controller designed for PC/XBox.

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

        @savedbyzero said in "Cannot use 'JS5B_S' in a combo event":

        I followed the documentation example, where am I going wrong? Those are valid inputs on the dpad as taken from event_diag.

        If the D-Pad is seen as a hat on the gamepad, the correct syntax would be

        ADD_COMBO 0 JS0_HAT0_S JS0_HAT0_W
        COMBO0 PD0L_KP3
        
        S 1 Reply Last reply Reply Quote 0
        • S
          SavedByZero @mitu
          last edited by SavedByZero

          @mitu Huh. Should I ignore the event_diag names and use the evtest names for the controls, then? I always thought I had to pipe the evtest named into the xboxdrv file, then run event_diag to use the names it showed me there for the kbd hackfiles.

          Also, weirdly, I just replaced that controller with an old PS3 controller so the online example would fit better, but there's no "Hat" in evtest -- just DPAD_BTN_[.]
          The PS3 xboxdrv example seems to assume the dpad is an axis, it doesn't show how to define it if it's a series of buttons...

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

            @savedbyzero said in "Cannot use 'JS5B_S' in a combo event":

            Also, weirdly, I just replaced that controller with an old PS3 controller so the online example would fit better, but there's no "Hat" in evtest -- just DPAD_BTN_[.]

            Not all gamepads are equal, some of them map the D-Pad to buttons, some to a Hat and some even to Axis (with just the 1/-1 values).
            You can treat the D-Pad as a series of buttons and use JS0_BTN_<x> for the combo.

            S 1 Reply Last reply Reply Quote 1
            • S
              SavedByZero @mitu
              last edited by

              @mitu said in "Cannot use 'JS5B_S' in a combo event":

              @savedbyzero said in "Cannot use 'JS5B_S' in a combo event":

              Also, weirdly, I just replaced that controller with an old PS3 controller so the online example would fit better, but there's no "Hat" in evtest -- just DPAD_BTN_[.]

              Not all gamepads are equal, some of them map the D-Pad to buttons, some to a Hat and some even to Axis (with just the 1/-1 values).
              You can treat the D-Pad as a series of buttons and use JS0_BTN_<x> for the combo.

              I'll keep that in mind. But how come event_diag shows nothing for any of the button inputs on PS3 or Xbox controllers (though it shows the axes)? is event_diag or evtest more reliable for getting the button names for these hack files?

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

                I think the event_diag rom should work also. Are you using the version linked from the doc page ? You can try extracting the version from the latest jzintv (download it from here) and try again.
                evtest can also be used, it will show exactly what inputs are available on a gamepad and how they are mapped.

                S 1 Reply Last reply Reply Quote 0
                • S
                  SavedByZero @mitu
                  last edited by

                  @mitu evtest and event_diag show me completely different names, though. evtest will show BTN_DPAD_RIGHT for the right dpad, for example, while event_diag will show me JS5C_E
                  event_diag will show me nothing for any of the four buttons (square, x, triangle, circle) while evtest will show me BTN_SOUTH, BTN_WEST, BTN_EAST, BTN_NORTH.
                  weird, right? I'll see if the online version is any different than the copy I have, though I suspect it's the same one I pulled awhile back.

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

                    @savedbyzero said in "Cannot use 'JS5B_S' in a combo event":

                    while evtest will show me BTN_SOUTH, BTN_WEST, BTN_EAST, BTN_NORTH

                    Ok, so they're buttons. You can use jstest and find out the buttons numbers, so you can use them in the hackfile. You can run it with

                    jstest /dev/input/js0
                    

                    and interrupt the test with Ctrl+C.

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      SavedByZero @mitu
                      last edited by SavedByZero

                      @mitu Thanks. Unfortunately, jstest gives me yet a third set of inputs different both from what event_diag and the other program told me. IT shows for my old fat PS3 controller:
                      (Axes): X, Y, Z, Rx, Ry, Rz

                      (Buttons): BtnA, BtnB, BtnX, BtnY, BtnL, BtnR, BtnL2, BtnR2, BtnSelect, BtnStart, BtnThumbL, BtnThumbR, null, null, null, null

                      It's anyone's guess which of those axes the dpad uses, and how the hackfile would interpret it, since even the latest event_diag still shows nothing for anything except the analog sticks...

                      I'm thinking event_diag just has trouble reading from these types of controllers, since it reads my arcade joystick and button sets, and my buffalo controller buttons, just fine.

                      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.