8bitdo Arcade Stick - Trigger Buttons are setup as Axes
-
@mitu said in 8bitdo Arcade Stick - Trigger Buttons are setup as Axes:
sudo dmesg -c
[27772.257106] usb 1-1.1: USB disconnect, device number 9 [27772.257683] xpad 1-1.1:1.0: xpad_try_sending_next_out_packet - usb_submit_urb failed with result -19 [27775.878995] usb 1-1.1: new full-speed USB device number 10 using xhci_hcd [27776.017496] usb 1-1.1: New USB device found, idVendor=2dc8, idProduct=3207, bcdDevice= 2.00 [27776.017513] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [27776.017528] usb 1-1.1: Product: 8BitDo Arcade Stick Receiver [27776.017542] usb 1-1.1: Manufacturer: 8BitDo [27776.031451] hid-generic 0003:2DC8:3207.0008: hiddev96,hidraw0: USB HID v1.11 Device [8BitDo 8BitDo Arcade Stick Receiver] on usb-0000:01:00.0-1.1/input0 [27783.523003] usb 1-1.1: USB disconnect, device number 10 [27784.839115] usb 1-1.1: new full-speed USB device number 11 using xhci_hcd [27784.979942] usb 1-1.1: New USB device found, idVendor=045e, idProduct=028e, bcdDevice= 1.14 [27784.979960] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [27784.979974] usb 1-1.1: Product: Controller [27784.979989] usb 1-1.1: Manufacturer: 8BitDo [27784.980002] usb 1-1.1: SerialNumber: 157F8F8 [27784.984976] input: Microsoft X-Box 360 pad as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.1/1-1.1:1.0/input/input14
-
I can confirm the following:
Updating the xpad driver that comes pre-installed on 4.7.1 release fixed the problem for me for the USB connection only. All the buttons can now be assigned controls.
The Bluetooth functionality is still not there though... LT and RT are not recognized and can't be assigned. I'll start a new thread for that since it's a different issue from this thread.
-
@rastabolino said in 8bitdo Arcade Stick - Trigger Buttons are setup as Axes:
I can confirm the following:
Updating the xpad driver that comes pre-installed on 4.7.1 release fixed the problem for me for the USB connection only. All the buttons can now be assigned controls.
The Bluetooth functionality is still not there though... LT and RT are not recognized and can't be assigned. I'll start a new thread for that since it's a different issue from this thread.
I'm not getting the same results as you. I have tried updating xpad and uninstalling and reinstalling xpad. In neither case does my setup recognize the trigger buttons as buttons. It sees them as axes that go from -xxxxx to xxxxx as Axes #2 and #5.
I have not tried setting the device up over bluetooth as I want it to work over usb for reduced latency.
-
@superdodge Is the controller plugged in directly ? Your log shows a receiver is also connected via USB.
Have you tried to connect the controller in Switch mode ? Does is behave differently ?
-
@mitu said in 8bitdo Arcade Stick - Trigger Buttons are setup as Axes:
@superdodge Is the controller plugged in directly ? Your log shows a receiver is also connected via USB.
There are three ways to connect this Arcade Stick to the Pi.
#1 - Bluetooth
#2 - Hard-wired USB
#3 - An included 2.4Ghz 8bitdo USB adapter.The battery on the device lasts longer and the latency is lower using #2 over #1.
My use case goal is to use #2 & #3 depending on whether I'm casually gaming with friends or "getting serious" lol.
I have tried and get the same results in both use case #2 and use case #3. I ran all the commands you asked for above in use case #3. I can re-run in the in use case #2 if it will help in any way.
I came here hoping there was some way to tell xpad to treat these as buttons not axes via xpad.conf, etc.
-
@mitu said in 8bitdo Arcade Stick - Trigger Buttons are setup as Axes:
Have you tried to connect the controller in Switch mode ? Does is behave differently ?
I ran jstest in switch mode and it shows all the buttons triggering on and off and several of the axes going from extreme to extreme.
-
@superdodge said in 8bitdo Arcade Stick - Trigger Buttons are setup as Axes:
I came here hoping there was some way to tell xpad to treat these as buttons not axes via xpad.conf, etc.
xpad
has a parameter (triggers_to_buttons
) that does exactly that. The RetroPie setup script adds automatically this parameter when installing the driver, you can check the/etc/modprobe.d/xpad.conf
configuration file to see if it's enabled. -
Solved although the solution is a bit odd. I'll record what I had to do here for anyone else with the same issue.
If the 8bitdo Arcade Stick is plugged in via hard wire or has the usb receiver plugged in when removing and reinstalling xpad via the Retropie Setup script then I got results where the trigger buttons were seen as axes. With nothing plugged in and repeating the same steps it behaves normally.
This makes no sense to me but I honestly don't understand how Retropie modifies the xpad install post installation so maybe it is somehow meaningful.
Regardless my 8bitdo Arcade Stick is now functioning as expected.
-
So I lied. Just ran jstest and it appears that xpad now sees the trigger buttons as the Left Stick and Right Stick buttons. So while this allows me to physically use the buttons, I can't setup name controls where I can switch between controller types.
Is there any way to edit how xpad sees these buttons or it just is what it is?
-
@superdodge said in 8bitdo Arcade Stick - Trigger Buttons are setup as Axes:
Is there any way to edit how xpad sees these buttons or it just is what it is?
The
xpad
driver is 1 source file on https://github.com/paroj/xpad, you can freely modify the sources and re-compile the driver. -
@superdodge said in 8bitdo Arcade Stick - Trigger Buttons are setup as Axes:
So while this allows me to physically use the buttons, I can't setup name controls where I can switch between controller types.
If you want to re-map controls based on games, you can do so from the emulator - RetroArch allows you to have per-game input mappings, without re-configuring your controller.
-
I posted this in a similar thread. This workaround works flawlessly for me and doesn’t require any editing in Retropie:
- Go to the 8bitdo official website, download and install the 8bitdo ultimate software on your PC or Mac, if not already done.
- Plug the 8Bitdo Arcade Stick to your PC or Mac with a USB cable and make sure your selector knob is in “X” mode (top left of the 8bitdo Arcade Stick)
- Start the 8bitdo Ultimate software
- On the right, in the button mapping panel, beside RT, associate RS instead. Do the same for LT except choose LS.
- Don’t forget to synchronize the controller (icon at the top) before disconnecting the USB cable.
- Connect your 8bitdo Arcade stick to the Retropie either via a USB cable, the 2. To 4G stick or Bluetooth.
- Push the start button to get to the main menu (you might need another controller or keyboard to make the selections initially).
- Select “configure input”. At first, make sure your selector knob is selected to DP (middle selection) to associate D-pad up, down, left, right. This time the RT and RS buttons will work flawlessly.
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.