1
Window / Win10 Joysticks have more than 32 buttons, can't get status on any of them
« on: May 13, 2021, 05:03:15 am »
In my SFML based Windows program, I'm trying to get status of some buttons from two flight simulator devices that show up under windows as USB joysticks, but for neither of them does sf::Joystick::isButtonPressed() ever return anything but "false" even when pressed. The same program has no issues seeing correct status on a traditional joystick that is also connected. The thing I'm suspicious of is both the flight sim devices have more than 32 buttons which I know DirectX doesn't support, but the buttons I'm interested in all have DirectX ID's less than 32, and for example I can still see the correct button status for the buttons I care about in their Windows properties test popups (e.g. https://www.howtogeek.com/wp-content/uploads/2016/02/xhtx22.png.pagespeed.gp+jp+jw+pj+ws+js+rj+rp+rw+ri+cp+md.ic.Zqbhb1VDNp.png).
sf::Joystick::getIdentification() describes the devices ok, and sf::Joystick::IsConnected() tells me they are both connected, and sf::Joystick::getButtonCount returns 32. Nonetheless sf::Joystick::isButtonPressed() returns false for all buttons 0-31 no matter what I do.
Any ideas? Thanks.
sf::Joystick::getIdentification() describes the devices ok, and sf::Joystick::IsConnected() tells me they are both connected, and sf::Joystick::getButtonCount returns 32. Nonetheless sf::Joystick::isButtonPressed() returns false for all buttons 0-31 no matter what I do.
Any ideas? Thanks.