Currently we can take a limited number of controls from users, and this is fine for some things. However, one issue I have is that we only have two real options, we can take a key and know when it is pressed, or we can disable a key and know when it is pressed.
Now, what I'd like to do on my object is have a dialog pop-up when a user presses a key. But if I take any of the available keys, then something will happen in addition to them pressing the key which is a little disruptive. If I take the key, then it becomes unavailable to them which isn't very good either, as it means they can't adjust their camera or such.
What I need is a key that users aren't using for anything else, so that I can use it as a menu hot-key to bring up my dialog. Now either this could be done by adding CONTROL_ constants for all keys on the keyboard, or we could have a single new key like CONTROL_SPECIAL or something which is some key that users will know is for object interaction. I can't think of any good keys to use off-hand, but it'd be nice to have something extra. Having to touch an object is not great if the object is a 'touch to sit' object, as they then have to right-click and choose the option which isn't great. Listen commands aren't favourable either, first for the extra listen lag they cause, but also having to type '/12345 menu' to bring up a menu isn't nice in general. Currently I'm planning to have users press two exclusive keys simulataneously (e.g page-up AND page-down together) to get it, but the keys will still be doing other things such as camera movement, and it's not that great either as it might be confusing for them.