I would like to be able to make custom multiple key keybindings where neither of the keys are modifier keys.
I have a wireless keyboard that for some is designed without some of the normal modifier keys (there's no right shift, for example) and it would help me immensely if I were able to bind key combinations using the slash key instead of the shift key
A keyboard's behavior when two non-modifier keys are pressed can be very hardware dependent. What I think might work though is to make an
escape key that functions like a modifier (this is basically how Lotus 123 did things back in a time before time). Note that I don't mean the physical Esc key on the keyboard, but rather some special character that is used to put the input into a special mode. (The Esc key was originally intended as an escape character, but most modern programs including DF use it for something else.)
For example, the game's key definition CUSTOM_ESC_F would be invoked by pressing the defined escape key then lowercase f. To undo an escape, press the escape key again. This could be useful for odd keyboard layout and for players who otherwise would be using the Sticky Keys accessibility option. Slash would not work well as an escape character since it already has a default use in the game. ` (accent-grave) might work.
I'd like to see the escape key handled exactly like a modifier in keybindings, for example [BIND:CUSTOM_ESC_F:REPEAT_NOT][SYM:8:f].
Of course, while we're at it, I'd like to be able to sum modifiers so that [SYM:3:f] is Control-Shift-F, and
maybe even differentiate the left and right versions of each physical modifier key if that wouldn't get too deep in the weeds of hardware drivers.