Open eddebaby opened 4 years ago
I am happy for certain game keys to be deemed System Keys and not be re-definable in the Key Binding Menu, and also prevent their bindings from being bound to other game actions (as per #821) .
As discussed, we might get a conflict here because #222 remains open. Ctrl sometimes picks up the strongest unit, sometimes it doesn't.
We discussed yesterday to not add the ones where it's just Shift/Ctrl to the define keys menu. These ones:
{KC_MOUSE3, KMod_SHIFT}, // Gkey_SnapCameraClockwise {KC_MOUSE3, KMod_CONTROL}, // Gkey_SnapCameraAntiClockwise {KC_LCONTROL, KMod_NONE}, // Gkey_ScrollMessages (in combination with the mouse scroll wheel) {KC_LSHIFT, KMod_NONE}, // Gkey_ScrollLists (in combination with the mouse scroll wheel) {KC_LCONTROL, KMod_NONE}, // Gkey_SelectStrongestUnit (in combination with clicking an item in the creature list) {KC_LSHIFT, KMod_NONE}, // Gkey_SelectWeakestUnit (in combination with clicking an item in the creature list)
There are many new in-game commands: https://github.com/dkfans/keeperfx/wiki/New-In-Game-Commands.
It would be good to add them all (as well as any other missing ones) to the Key Binding Menu, so that players can bind them as they choose.
The codebase will need to be searched for the hard-coded keys and buttons: so they can be replaced with the new rebindable actions.
Suggested additions to
const struct GameSettings default_settings
in _setup_defaultsettings() in bflib_keybrd.h:Other System keys (no conflict):
Please expand/revise the above list, and I'll sort out the code on the back end from there.
It might be best to handle each key, or group of keys in separate Pull Requests, to ensure all parts of the code base use the new Gkey_foobar instead of the hard-coded keys for a particular feature.