The goal for this change is:
- Make it more intuitive on how to control the ROV
- Move away from using the modifier keys (crtl.fn,shift) that when combined with other keys overlaps with reserved commands that we cannot override (such as Ctrl+Arrow Key in OSX that cause the screen to swap to another screen).
The proposed key combination would be:
|A||strafe left (reserved)|
|D||strafe right (reserved)|
|Up||left up -or- pitch down|
|Down||lift down -or- pitch up|
|Shift-W||pitch down -or- lift up|
|Shift-S||pitch up -or- lift down|
|J/L||reserved camera pan|
|O/U||reserved camera zoom|
|1-5||motor power settings|
|9,0||reserve for illumination controls|
The -or- commands show where the keyboard flops to give priority to the primary movement axis used to execute overall vertical adjustments. So a ROV that tends to pitch to change depth would have pitch controls as the primary on the up/down arrows while a ROV that uses dedicated thrusters would have those as primary.
This also allows for no change in the left hand keyboard commands when introducing a mouse.
For the secondary controls I have focused on trying to keep like controls spaced together in a way that supports simple recall.
- Power associated things on the number key, thruster power on left, illumination controls on right
- Reserving another 2-axis key combination (I,J,K,L) for camera gimbal
- Place the holds next to each other, keying off of the H for a heading hold and putting depth hold right next to it in G.
This needs to be driven extensively and tested. It is not meant to prevent customization, but is instead proposing the initial default keyboard layout to achieve the goals meant at the beginning of the document.
There is one comment on the giithub issue that raises concerns about needing 2 hands on the keyboard to drive. Anyone else have some opinions on what is important in a default keyboard configuration for driving an ROV?