It feels like having a predefined list of keys that are ignored is a "hack". Would a better solution be to simply wait until none of the _trigger_ keys were pressed?
E.g. if the sequence was "Ctrl" + "F8" then it would just ensure that neither Ctrl nor F8 were pressed.
We don't use Keymaster, but our homebrew solution works the same way. You can solve the problem by adding an event to elements that you don't want to react that stops bubbling. Since those elements are focused when a key is pressed, the event for that element will be triggered first. Our form validation script adds this automatically. Problem solved.
That's something I discovered the other day on my pc.
At some point during the last year or so, I accidentally assigned a macro to the C key that did nothing but press the C key, so it was pretty much impossible to notice during normal use, except that holding it down behaved out of the ordinary.
Unfortunately, this only works unless you have a textfield focused or something similar that "consumes" your keyboard input. At least in my experience, it's quite unreliable.
Anyway, I thought this only happens when you opt-in by enabling tabbing between all types of controls (the default is that only edit controls can get focus). What you're describing here, I think, is that the "Don't Save" button has focus, which is why spacebar activates it.
I hope this doesn't get nerffed. "Space => don't save, Enter => save" is part of my muscle memory now. Why would you enable focus on any control and then bang randomly on the keyboard anyway? If you aren't sure, leave the defaults as-is.
reply