It's almost time to merge this PR into the main branch. When we do, it will constitute a massive change in the way keyboard input is processed, impacting on every system and every screen. And while I'm confident the majority of all use-cases have been covered, there remains a healthy possibility that I've missed something, somewhere. There are a lot of edge cases. Did you know, for instance, on the F6 screen, that holding the Ctrl key while moving the cursor with the arrow keys makes the cursor move faster? Neither did I, until recently!
So, this update really does need extensive testing, especially with non-US keyboards. I can simulate some keyboard layouts, but it's not quite the same as having a real one in front of you. Also, while I have a virtual machine for Mac and Linux, again, having a real machine to do testing on will clarify if we're close to the mark or not.
In short, we need your help. We need people to test this release hard, and expect some things to be broken. If you're used to running the latest nightly for your main game, you might find the journey a little rougher than you're used to. With a little perseverance, we should be able to identify and resolve any major issues quickly, and hopefully get back to a stable release in a short amount of time.
Quick overview: What we've done is added the ability to configure your keyboard layout from within the game itself. At the same time, we've stopped using the old keyconfig.plist format in favour of a new one, keyconfig2.plist. This allows us to handle international keyboards with much greater flexibility than ever before. Also, in doing this change, we've opened up the possibilities for customisation even more than before: now you can have multiple keyboard customisations, and switch between on-the-fly. So, there are a lot of up-sides to this change.
But it's also worth pointing out that this update represents a kind of breaking change for any current keyconfig layouts or OXP's. It's breaking in the sense that those existing keyconfig.plist files won't do anything in the new version, not that the game will break. If you have a custom keyconfig.plist file you want to keep using, you'll have two options: (1) migrate all keyboard layout to the new format. There is a sample OXP at this location (
https://github.com/OoliteProject/oolite ... onfig2.oxp) that demonstrates what's involved in creating your own custom layout; or (2) simply remap your desired keyboard layout using the new in-game mapping utility. The benefit of doing option (1) is that you can easily switch back to the default layout at any time. The benefit of doing option (2) is that you don't have to edit a single plist file, and you can do it all in the game, even while you're playing.
I'll post here again when I've merged the PR into trunk, and when a package is available to download and test.
BTW: If any of the dev team have any reservations about this PR, or the way it's handling things, please let me know!