What do you think? Did I miss something? Is this a good idea?One potential solution would be to give two shoulder buttons a dual use: when you tap them (not in combination with another key), they are mouse clicks, but in combination with other keys, they are modifiers.
E.g. say L1 and R1 are still Shift and Ctrl like on the Pandora, and L2 and R2 are Meta/LeftClick and Alt/RightClick.
How would it work?
- press L2 down, immediately release it: the software generates a left click (mouse button press followed by release)
- press L2 down, press another key: as soon as another key is pressed, the software generates a Meta keydown event just before the other key event is sent, locking the L2 trigger into "modifier mode"
- press L2 down, move the mouse: as soon as the mouse (left nub) is moved, the software generates a left mouse button down event and locks the L2 trigger into "mouse button" mode.
So basically the context determines how it behaves. Just pressing L2 down does nothing until you do something else or release it. So e.g. if you have software that highlights Alt-shortcuts when you hold Alt (like Ubuntu does with menu bars), that won't work, because the actual Alt keydown event only gets sent just before you hit a letter key. You can still use the keyboard Meta and Alt keys for that though.
It probably requires some software hacking to make it behave like that, so there's some software effort to be done. But in this way, we could have both the modifiers keys and the mouse buttons on the same key without really losing anything. You can still do mouse dragging (both left and right), you can still do Meta+Alt combos and a Left+Right click. You can do Shift+click/drag and Ctrl+click/drag (both left and right), but for Alt+click/drag you can't use the shoulder Alt, you have to use the keyboard Alt (i.e. START).
For games that use four shoulder buttons, you would have to disable the click functionality so they immediately send the keydown event instead of waiting for context. But that's no big deal: for games input mechanisms are different anyway. I don't think there are many games that expect four shoulder buttons and a mouse -- either it's a PC game which expects a mouse and a keyboard but no shoulder buttons, or it's a game console game which expects shoulder buttons and analog nubs/joysticks but no mouse. It's also backwards compatible with the Pandora since the Pandora doesn't have L2, R2 anyway.
Actually, with or without clickable nubs, I'm starting to think that this is how I want to have it.