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:
Movement Controls:
Key | Command |
---|---|
W | move forward |
S | move back |
A | strafe left (reserved) |
D | strafe right (reserved) |
Q | roll left |
E | roll right |
Up | left up -or- pitch down |
Down | lift down -or- pitch up |
Left | yaw left |
Right | yaw right |
Shift-W | pitch down -or- lift up |
Shift-S | pitch up -or- lift down |
Secondary Controls:
Key | Command |
---|---|
I/K | camera tilt |
J/L | reserved camera pan |
O/U | reserved camera zoom |
G | depth hold |
H | heading hold |
1-5 | motor power settings |
6-7 | light dim/bright |
8 | lasers on |
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.
https://github.com/OpenROV/openrov-software/issues/369
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?