Analog Dualshock controller (SCPH-1200) gives type "Guitar Hero".
mcgurk opened this issue · 4 comments
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)
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 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.
So I guess this function really has to go! :)
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.