"Cannot use 'JS5B_S' in a combo event"
-
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. -
@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
-
@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... -
@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 useJS0_BTN_<x>
for the combo. -
@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 useJS0_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?
-
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 latestjzintv
(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. -
@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. -
@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 withjstest /dev/input/js0
and interrupt the test with
Ctrl+C
. -
@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.
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.