mdqinc/SDL_GameControllerDB

New Mapping: 8BitDo Ultimate 2.4g Controller on Linux

Samutz opened this issue ยท 8 comments

The device has slightly different IDs between wireless and wired. The default binding was making the right stick acts as the trigger axis and triggers did nothing. This also only works in the controller's DINPUT mode. Linux doesn't even see it in XINPUT mode.

Tested with Steam and Moonlight-QT on Linux.

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

Just some additional notes about the controller's back paddles.

I found that mapping the controller in Steamlink allows me to map the back paddles too. The normal linux Steam client doesn't give me that option. Steamlink's config file has them as paddle1:b23,paddle2:b19 after mapping them to what I think would be P1 and P3 on an Xbox Elite Controller (the upper paddles).

I added these to my Moonlight-Qt config and tried to test them, but the remote Windows machine behaved oddly when pressing them. Windows Control Panel detected them up as pressing several buttons at once while also tilting the right stick up-left for one paddle and down for another. It also sometimes opened the Steam on-screen keyboard for some reason.

Steamlink also detects different device IDs: 0300eb51c82d00001330000011010000 for wireless and 0300eb51c82d00001230000011010000 for wired. I have no idea what version of SDL Steamlink uses.

I also don't know what games can specifically use the paddles. So I'm not sure how else I can test them.

Can you map with http://www.generalarcade.com/gamepadtool/
Do the paddles in a separate pass (as A/B) and skip the rest in order to manually add paddle1 and paddle2 fields to the map.

Here's what I got from the gamepad tool. For the paddle passes I pressed the left paddle for A and the right paddle for B.

# Wired - Normal Pass
03000000c82d00001230000011010000,8BitDo Ultimate wireless Controller for PC,platform:Linux,a:b0,b:b1,x:b3,y:b4,back:b10,guide:b12,start:b11,leftstick:b13,rightstick:b14,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a5,righttrigger:a4,
# Wired - Paddle Pass
03000000c82d00001230000011010000,8BitDo Ultimate wireless Controller for PC,platform:Linux,a:b23,b:b19,
# Wireless - Normal Pass
03000000c82d00001330000011010000,8BitDo Ultimate wireless Controller for PC,platform:Linux,a:b0,b:b1,x:b3,y:b4,back:b10,guide:b12,start:b11,leftstick:b13,rightstick:b14,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a5,righttrigger:a4,
# Wireless - Paddle Pass
03000000c82d00001330000011010000,8BitDo Ultimate wireless Controller for PC,platform:Linux,a:b23,b:b19,

"8BitDo Ultimate wireless Controller for PC" is the default name. I opted to change them in my first post to distinguish the wired and wireless IDs. There's also a bluetooth version that's a separate product.

As for XInput mode, I suggest xpad

xpad by itself didn't work at first. Then I followed these instructions and these instructions, and now it is detected in the Gamepad Tool, but inputs don't work. I'm not able to create a mapping.

Just to be clear, this has Switch face buttons ("Nintendo") and your mapping has them transposed correctly, right ? B->A, A->B, Y->X, Y->X?

No, it's an Xbox style arrangement.

image