Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rework of Key Select dialog to clarify what's possible.
Partially because of my misunderstanding of what's possible in-game, and partially because of the way I implemented it, the Key Select dialog has up until now been capable of creating keybinds that don't work as intended in the game. This release addresses this problem. -- The game simply does not honor multiple "chord" keys in a bind, so eg "SHIFT+CTRL+R" would be bound as "SHIFT+CTRL" instead. Only two keys can be used in a bind, and any bind attempting to do more will only bind the first two in the keybind string. -- The split of, for instance, "LSHIFT" and "RSHIFT" only work in isolation or on the right-hand side of a keybind. That is to say, "LCTRL+R" will bind "CTRL+R" and fire no matter which Control key is used, since the "LCTRL" is on the left-hand side of the bindstring. Binds like "LSHIFT" or "ALT+RCTRL" work as expected. This release updates the logic of the keybind dialog so that it makes every effort to honor these limitations. It's been pretty rigorously tested, but it's probably possible to fool it into something strange with enough fiddling. If you manage to get a weird string into the keybind window (I've seen, for instance, "ALT+ALT"), BindControl will happily write it to the bindfiles and you may have weirdness in-game. Don't do that. If this proves to be an ongoing problem, I might implement sanity-checking at write-binds time. In general, if you're just mashing "CTRL+5" or something, it should work flawlessly. If you're trying to make a controller bind, and the dialog gets its state stuck, just tap a key on the keyboard and then try the controller bind again. I realize this release note is a small novel, but there's a lot going on under the hood here. Please file issues for any problems you find.
- Loading branch information