Conversation
…rds in keymappings_linux.plist so that shift key works
…WithSize if one does not yet exist and fix problem with populating fullscreen modes
|
PR to fix Ubuntu test and flatpak build: #653 |
|
A temporary error. The builds all succeed now with a change that was simply to kickstart the build. Windows uses the latest 0.1.3 dependencies created today that use latest GNUstep libraries (which include the PR gnustep/libs-base#614 I made to fix compilation errors that occur if you build GNUstep Base without -Wno-incompatible-pointer-types on Windows). |
|
I noticed that on my joystick (a basic Logitech F310 gamepad), the right stick axis appear to be swapped. that is, up/down used to be "Stick 1 axis 4" and left/right used to be "Stick 1 axis 5", but now up/down is "Stick 1 axis 5" and left/right is "Stick 1 axis 4". Is this expected behaviour? |
|
@phkb I asked AI and it said: Yes, this is completely expected behavior when moving from SDL 1.2 to SDL 3. While it feels like a bug or a random driver regression, it is actually the result of a massive, intentional overhaul in how SDL handles game controllers that happened between SDL 1.2 and SDL 2.0, and has been further refined in SDL 3. 1. The Death of Direct OS Axis MappingIn SDL 1.2, the library did very little processing on joystick axes. It essentially asked the underlying operating system (like the Linux joystick subsystem or Windows DirectInput) for a list of axes and handed them to you in the exact order the OS reported them. Because every controller manufacturer wired up their hardware differently, "Axis 4" might be the right stick Y-axis on a Logitech F310, but on a PlayStation or Xbox controller, it could be a trigger or the right stick X-axis. 2. The Introduction of the Gamepad APIStarting in SDL 2 (and modernized in SDL 3), SDL introduced the Gamepad API (formerly To ensure consistency across all different types of controllers, SDL established a standardized internal layout based on the standard Xbox/XInput layout:
Because SDL now enforces this uniform layout across Windows, macOS, and Linux, it re-maps the raw OS joystick indexes to fit this predictable structure. For the Logitech F310 (especially if it is switched to DirectInput/D-mode on the back), the raw OS axis indices for the right stick are inherently flipped compared to standard XInput. SDL 3 actively corrects this so that X always comes before Y in the gamepad mappings, which is why your axis indices swapped places. How to Handle This in SDL 3
Does that fit what you found? |
|
Yeah pretty much! Glad to know it isn't just me, and worth adding a note somewhere so players know what's going on. Probably in the release notes is the best spot. |
|
It looks like Gamma correction has been removed entirely? Is there no equivalent in SDL3? |
|
@phkb See @AnotherCommander's comment: #578 (comment) |
|
Ah, got it. Thanks! |
phkb
left a comment
There was a problem hiding this comment.
I've tested SDR/HDR, joystick functions, keyboard functions, non-US keyboards. It all looks good to me.
|
Strange. While the first three startups of the game were distorted as above (it took me that long to make the screenshots), I ran it again to see whether in combat you also need to aim elsewhere. And all of a sudden the complete behaviour is normal again. Not sure where the effect came from but I cannot reproduce it. |
|
Guess we're good to merge then? |




Upgrade to SDL3 #578
This pretty much works on my machine, so I figure it's close enough to ready to be tested on a wider range of setups.
I haven't been able to resolve the Linux/Wayland splash screen problem where the game screen ends up largely off screen due to Wayland not allowing programatic window placement, so we'll have to continue with the separate splash screen program work around for now.
On Windows, Oolite starts with the window underneath the command prompt I'm launching from - I'm not sure what's causing that.