Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Analog Dualshock controller (SCPH-1200) gives type "Guitar Hero". #16

Open
mcgurk opened this issue Nov 6, 2021 · 4 comments
Open

Analog Dualshock controller (SCPH-1200) gives type "Guitar Hero". #16

mcgurk opened this issue Nov 6, 2021 · 4 comments
Assignees
Labels
wontfix This will not be worked on

Comments

@mcgurk
Copy link

mcgurk commented Nov 6, 2021

With DumpButtonsBitBang and DumpButtonsHwSpi examples my SCPH-1200 controller gives controller type "Guitar Hero" to Serial Monitor. Other than that, controller works fully with PsxNewLib, so this doesn't matter much.
(I got library from Arduino IDE library manager. It is version 0.4.0)

@SukkoPera
Copy link
Owner

Yeah, this is a known issue, it's even noted in the function header. That function is a carryover from the PS2X library, but it's undocumented and based on data reported by controllers that nobody really knows how to interpret.

I think I will just remove that function in the devel branch, sooner or later.

There's another similar function that is much more reliable, as it will report what protocol the library is actually using to talk to the controller. Please see getProtocol().

@SukkoPera SukkoPera self-assigned this Nov 7, 2021
@SukkoPera SukkoPera added the wontfix This will not be worked on label Nov 7, 2021
@sonik-br
Copy link

@SukkoPera I've got an original guitar to try.
It sends DPAD LEFT as always pressed and reports as dualshock.

Holding the dpad left was also a trick to use a dualshock to play the games on ps2. Hold it when booting the game so it detects it as a guitar.

I will do more tests and see if there's any other way to identify it. But checking for the dapd state might be a good fallback.

@SukkoPera
Copy link
Owner

So I guess this function really has to go! :)

@sonik-br
Copy link

sonik-br commented Mar 11, 2023

Noooooooo. Please don't kill it :)

Function is really useful to detect the presence of a jogcon. We can't rely only on the reported protocol.
Jogcon reports as digital protocol and this function can identify if it's a jogcon connected in digital mode.

Some findings on the guitar hero device. Can be useful if anyone need to identify if a guitar deice is connected:

  • Dpad left is always ON.
  • It boots up as DS1 in digital mode. (same behavior as a DS1)
  • It supports the commands to enable Analog Sticks and Buttons. After those commands, it will report as a DS1 with DS2 protocol. (not the same behavior as a DS1)
  • Guitar needs a longer polling interval. I've got it working with at least 8ms interval.

This was tested with a wireless guitar and the original Kramer Striker Wireless Receiver.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

3 participants