|
|
|
CONTROL_SHIFT_UP and CONTROL_SHIFT_DOWN
CONTROL_FLY CONTROL_STOP_FLYING The latter two would always be passed through. FLY and STOP FLYING because some people use the letter keys for these. I would suggest CONTROL_SHIFT instead, since CONTROL_FORWARD & _BACK already handles the shift case. If you implemented CONTROL_SHIFT_FORWARD, stripping that case from CONTROL_FORWARD, you would undoubtedly upset people. By adding the SHIFT flag, you break no user expectations and add support for the functionality.
That's a good idea. my thoughts were guided by the fact that we already have CONTROL_SHIFT_LEFT ... it's called CONTROL_LEFT.
One solution: for compatibility with existing code, if you don't specify CONTROL_SHIFT_x then CONTROL_x should get both events. Alternatively: if you specify CONTROL_SHIFT then CONTROL_LEFT/CONTROL_ROT_LEFT should behave consistently with other controls? That would make SHIFT more usable, because right now if you hit "shift left" and release the shift key you continue to get the CONTROL_LEFT event, and if you hit "left" with no shift and then press the shift key you continue to get CONTROL_ROT_LEFT. Yeah I had problems reconciling the LEFT & ROT_LEFT flags, complicating it is what happens when you go into mouse-look, the Left & Right Arrow keys no longer rotate the avatar.
It's a mess no doubt about it. Yeh, I really don't like the fact that you can't rotate the avatar in first-person (mouselook) view, even apart from this. Really, it makes it useless for me. I am not a gamer, and the right-hand-on-the-mouse-left-hand-on-WASD mode just doesn't work for me.
Also, hitting the home key while flying needs to send a different code (STOP FLYING) than hitting it while standing (FLY). But I think all these complexities can be accommodated. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
As of now, we run out of keys to control throttle up/down/brake or other axes of rotation.
The left/right/up/down/forward/backward keys specify the 6 directions of linear-motion. There are only 2 angular-rotational keys, but there are actually 6 ways to rotate: yaw, roll and pitch. They only specify the linear-motions and angular-motions, but not engine power, although it is implicit in the directional key. But in RL, throttle or the gas-paddle is independent of the turning wheel.
So I propose either include the use of "Home" and "End" keys, or allow shift/control key combinations to add the extra capabilities.