Tom replied to the topic 'Joystick' in the forum. 5 years ago

I am using PlayStation PS4 as my joystick on a remote Raspi. Under linux (jstest) the left joystick is #1, right joystick is #2, and the left digital joystick is #3.

Under INDI Control Panel Monitor the left joystick works fine. Manipulating the right joystick give garbled results showing up under #2 and #3. And the left digital joystick doesn't show up under #3. Note, all the Axes values shown in Monitor are correct though. And the buttons are correct. So I figure the algorithm for calculating the Joystick values from the Axis values has a bug somewhere.

Thinking perhaps I am running old joystick driver on Raspi, I did a git pull from master for the latest everything. Same results.

Looking at the source code it seems to me that the joystick algorithms perhaps assumes 2-axis joysticks, where the game controllers are 3-axis joysticks. X-Y-Trigger.

So I added some work around based on reading the "name" given at onConnect. In this case the name is "Sony Interactive Entertainment Wireless Controller".
I assume all PS3 and PS4 controllers return a name with "Controller" in it. Not knowing if XBOX sends something similar. Does anybody know what XBOX returns?
Hoping they return something with Controller in it... So I am looking for the word "Controller" in the name. If it is, I set a boolean PS3=true. Then in the rest of the driver code if PS3 is true I skip the current code and substitute the new code. Testing now. I will push this up to github. I am looking for someone with a XBOX controller so I can make that work too.

Read More...