Duplicated string PS3 Controller and ZM-X6
RedDevilus opened this issue · 15 comments
03000000632500007505000000000000,PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
In existing text file.
vs
03000000632500007505000000000000,ZM-X6,a:b2,b:b1,x:b3,y:b0,back:b9,start:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows,
They have different keybindings like back is b8 for existing and the 'new' one is b9.
See if your user can get a unique CRC per #609
Tell them to replace gamepad-tool’s SDL DLL with a new build.
Sorry to disturb you but I can't seem to find the updated dll. I see ryochan7 tool but that has no dll unless you want that whole library and the other is just talk about outdated version.
Can you show me the way to look exactly? Mightve skipped it by accident.
Ah nvm: https://github.com/libsdl-org/SDL
03000000632500007505000000000000
vs
03008a51632500007505000000000000
This is what they got:
"ZM-X6", 03008a51632500007505000000000000 (mapping available)
Environment variable "SDL_GAMECONTROLLERCONFIG" is set to: "03000000632500007505000000000000,ZM-X6,platform:Windows,a:b2,b:b1,x:b3,y:b0,back:b9,start:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,"
If your user is able to I’d suggest they try authoring a map with SDL’s controllermap app https://github.com/libsdl-org/SDL/tree/main/VisualC/tests/controllermap
Got a couple of bugs fixed with my old app and bundled a Windows build. Going to have to make a new AppImage soon.
sdl2-gamepad-mapper-0.0.4-x86_64.7z
https://drive.google.com/file/d/1C_BtbOAMNJo3bzxyTi9Ahlj5pFsXHbCF/view?usp=sharing
Mapping string: 03008a51632500007505000000000000,ZM-X6,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,-leftx:-a0,+leftx:+a0,-lefty:-a1,+lefty:+a1,-rightx:-a2,+rightx:+a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows,
With v0.4 version.
Also nice to see you again Ryochan7 :)
valid Windows GUIDs lead with 03000000
I've tested with my own controllers for testing purposes and to see what's going on:
"PS5 Controller", 030072264c050000e60c000000006800 (mapping available)
"PS4 Controller", 03008fe54c050000cc09000000006800 (mapping available)
Mapping string: 0300274e594d00000243000000000000,Nebula Gamepad,a:b0,b:b1,x:b3,y:b4,back:b10,start:b11,leftshoulder:b6,rightshoulder:b7,leftstick:b13,rightstick:b14,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,-leftx:-a0,+leftx:+a0,-lefty:-a1,+lefty:+a1,-rightx:-a3,+rightx:+a3,righty:a4,lefttrigger:b8,righttrigger:b9,platform:Windows,
"Xbox 360 Controller", 030003f05e0400008e02000000007200 (mapping available)
"03008a51632500007505000000000000,ZM-X6,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,-leftx:-a0,+leftx:+a0,-lefty:-a1,+lefty:+a1,-rightx:-a2,+rightx:+a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows,
crc:518a,"
He keeps getting same thing but I see a CRC value for it now.
@slouken looks like CRC is encoded in the GUID as well as the mapping which I assume is breaking for backward compatibility ?
When writing out the mapping, you should clear the CRC from the GUID:
https://github.com/libsdl-org/SDL/blob/25e62193f45938a6c69ab0d527f8d3eacd7c9fff/test/controllermap.c#L577
@slouken obviously it is not practical to do this on a regular basis, but if you have device name/description data from Big Picture logs to compare how actually-usefully unique CRC is in this (our first) use case, comparing this mapping
from this commit
so we can move forward as appropriate, please let us know
Just to remember that it was reverted due to issues (probably needs fixing later)
See #609 (comment)