Thanks a lot for the tests everyone!
It seems like the database doesn’t have
Wireless Steam Controller record, only 7
Steam Controller records (without “wireless”). Creating a database entry for this joystick might help, see the links below.
Unfortunately this joystick does not seem to be available in the database (or is detected by a significantly different name). If you could create the corresponding database record it’d be a very great help both to SDL2 and Castle Game Engine.
E.g. Try using one of the tools listed here: https://github.com/gabomdq/SDL_GameControllerDB/blob/master/README.md (I used SDL2 Gamepad Tool and it worked well both on Linux and Windows) and submit it to SDL2 database through issues https://github.com/gabomdq/SDL_GameControllerDB/issues
Note that they do not accept all joysticks definitions, first of all if they are buggy like my
Esperanza EG102 (e.g. if many joysticks with different layouts share the same GUID which makes their autodetection next to impossible or if joystick layout depends on firmware version), but even in this case we still can include this record in Castle Game Engine database, as we alternatively provide a way to select the joystick by name even if autodetect fails.
Unfortunately at the moment we’re using an “obsolete”
/dev/js# interface on Linux. It works well for most joysticks, but it has its limitations - e.g. not detecting correctly some sophisticated cases (like wi-fi or bluetooth joysticks). We plan to upgrade it to
/dev/event#, but it’s still work in progress.
You mean that the joystick image is different from the actual joystick image, right? Note that we use the same X-Box gamepad image for all joysticks (like SDL2 Gamepad Tool does). We had an idea to draw all possible joysticks layouts, but it’s a really tremendous amount of work (almost 800 joysticks in database + about an hour to find, validate and draw each layout), so, it’s left for later if ever As an alternative we wanted to try to figure out most common layouts (like X-Box, NS, PS) so that at least sticks, D-Pad would be placed correctly and buttons would have correct captions. But again this information is not available in the database and therefore it requires googling (duckduckgoing) images for all the joysticks in the database to determine their look.
Currently we consider trigger pressed when it has > 0.5 pressure. Should it be reduced to some lower value, like 0.2-0.1?
Did you try selecting
Logitech F510 Gamepad from the list of joystick layouts? It looks like it has the same layout as
Logitech RumblePad 2 USB (only axis and axis are inverted), but still worth a shot.
I’m not sure if that could help, but could you try creating a database entry for your joystick in this mode (see the tool linked above) too? The database has the entry for this joystick, but maybe it’s wrong or there is an alternative layout for the same joystick name. At least that’ll give the answer what exactly works wrong in this case.
It looks like there might be a problem with the database definition (that was the case for my Esperanza joystick - left stick and most of the buttons were working correctly, but the right stick and triggers weren’t; Everything started working well after I’ve created a manual database entry for the joystick). Could you try creating a database entry (see the tool linked above)?
Thanks again everyone!
You can also track the generalized testing results here:https://docs.google.com/spreadsheets/d/1K-Y1mWWHUoxoMa56pDHaVqa9lTGHpLiPYoOjmLKml2Y/edit?usp=sharing