8bitdo wired Pro2 vs. gamecontrollerdb vs. Crazy Climber

Discussion of keyboards, gamepads, joysticks and other input related peripherals.
User avatar
ntt
Posts: 72
Joined: Mon Feb 15, 2021 10:05 am
Has thanked: 76 times
Been thanked: 17 times

8bitdo wired Pro2 vs. gamecontrollerdb vs. Crazy Climber

Unread post by ntt »

Hi all
I'm trying to make my 8bitdo Pro 2 (wired) controller behave as good as my other SN30 Pro, without success (and yes I plug it in while holding the B button)
For instance in Crazy Climber the SN30 Pro works absolutely fine, whereas the right joystick of the Pro 2 is only partially working in the core controller configuration..

The idea was to alter the mapping in the MiSTer gamecontrollerdb file Pro2 entry, but... Which one of the two entries in gamecontrollerdb was being used?
Neither of them was similar to the IDs reported by lsusb, dmesg and the SDL test utilities - and those info were different to each other, to begin with.
So I've created a new top entry in the gamecontrollerdb file, matching the ID reported by the SDL utility; no way, the Pro 2 is still being recognized as itself.

By the way: in my mind the Pro 2 should have had an ID like "**000000c82d000010300000********" according to the lsusb info, but instead it shows as "03000000c82d00000631000000007200" in the SDL test utilities - and possibly something else entirely during the MiSTer detection, I guess.

Any suggestions as to what I may be doing wrong, and possibly how to achieve my goal? Please find here below all the bloody info I'v ecollected.
Thanks in advance, and apologies for the long post!


******************************************************************************** DETAILS ************************************************************************

lsusb: Bus 001 Device 008: ID 2dc8:3010 8BitDo 8BitDo Pro 2
SDL testgamecontroller: 03000000c82d00000631000000007200

MiSTer gamecontrollerdb entries:

03000000c82d00000660000011010000,8BitDo Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,
leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,

05000000c82d00000660000000010000,8BitDo Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,
leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,

(03000000c82d00000631000000007200 is the ID reported by the SDL tools)

dmesg:
usb 1-1.2: new full-speed USB device number 3 using dwc2
usb 1-1.2: New USB device found, idVendor=2dc8, idProduct=3010, bcdDevice= 2.00
usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1.2: Product: 8BitDo Pro 2
usb 1-1.2: Manufacturer: 8BitDo
usb 1-1.2: SerialNumber: 000000000003
HID usage: 0x00010005, original interval: 4
JS: endpoint->bInterval=4, interval=4
HID usage: 0x00010005, applied interval: 4
HID usage: 0x00010005, original interval: 4
JS: endpoint->bInterval=4, interval=4
HID usage: 0x00010005, applied interval: 4
input: 8BitDo 8BitDo Pro 2 as /devices/platform/soc/ffb40000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:2DC8:3010.0001/input/input0
hid-generic 0003:2DC8:3010.0001: input,hidraw0: USB HID v1.11 Gamepad [8BitDo 8BitDo Pro 2] on usb-ffb40000.usb-1.2/input0
usb 1-1.3: new full-speed USB device number 4 using dwc2
usb 1-1.3: New USB device found, idVendor=045e, idProduct=028e, bcdDevice= 1.14
usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1.3: Product: Controller
usb 1-1.3: Manufacturer: Controller
usb 1-1.3: SerialNumber: Controller
XPAD: original out.bInterval=8 -> new interval=8
XPAD: original in.bInterval=4 -> new interval=4
input: Microsoft X-Box 360 pad as /devices/platform/soc/ffb40000.usb/usb1/1-1/1-1.3/1-1.3:1.0/input/input1
usb 1-1.4: new high-speed USB
*****************************************************************************************************************************************
User avatar
ntt
Posts: 72
Joined: Mon Feb 15, 2021 10:05 am
Has thanked: 76 times
Been thanked: 17 times

Re: 8bitdo wired Pro2 vs. gamecontrollerdb vs. Crazy Climber

Unread post by ntt »

Update: I've found a way of making the 8bitdo Pro 2 behave like its sibling SN30 Pro: forget all the above tech stuff, it's enough to plug the Pro 2 in the MiSTer while keeping the Y button pressed (as opposed to keeping pressed the B button, as 8bitdo recommends)
This way the controller is recognized as a "Nintendo controller", and it behaves like the SN30 Pro - as far as I can tell at least
It's listed by lsusb as: ID 057e:2009 Nintendo Co., Ltd Pro Controller
Unfortunately this controller state will disappear when you turn off the power, and turning on the MiSTer with the controller plugged in leaves the Pro2 in an undetermined state, where it isn't properly recognized by the MiSTer and hence not functional at all.
You have to disconnect and reconnect the Pro2 while pressing the Y button, every ******* time you power on the MiSTer :evil:

PS: I'm leaving this post as not solved, since my original question still stands:
How can I trick the MiSTer to recognize this controller as something else, by customizing the gamecontrollerdb file?

PPS: why do I need a Pro2 at all, since I also have a SN30 Pro? I have big hands, and the Pro2 feels much more comfortable ;)
User avatar
PistolsAtDawn
Posts: 338
Joined: Fri Feb 18, 2022 7:29 pm
Has thanked: 234 times
Been thanked: 90 times

Re: 8bitdo wired Pro2 vs. gamecontrollerdb vs. Crazy Climber

Unread post by PistolsAtDawn »

I have a SN30 Pro+ which I am very happy with. I'm surprised that 8bitdo changed the Pro 2 so much in this regard. The Pro+ "just works" for me the vast majority of the time.

I definitely understand your frustration here. Hopefully there's a way to get it to behave.
User avatar
ntt
Posts: 72
Joined: Mon Feb 15, 2021 10:05 am
Has thanked: 76 times
Been thanked: 17 times

Re: 8bitdo wired Pro2 vs. gamecontrollerdb vs. Crazy Climber

Unread post by ntt »

Thanks
I've bought the Pro2 expecting it to be just a straightforward upgrade from the SN30 Pro, which I like very much.
I believe the true upgrade path should have been to a Bluetooth Pro2, as it sports a switch to set it to one of 4 different controllers emulations modes; no need to press anything when plugging it in, I think.
Unfortunately I've discovered all that only yesterday, well a BT Pro2 it's now on my controller wishlist for next time :D
Post Reply