This is a modest proposal for updating the Vimac key mapping to simplify use and add additional features.
Vimac has two basic modes:
-
Mouse Mode, which uses the keyboard to move the cursor to locations on the screen, set up modifiers and optionally click.
-
Scroll Mode, which uses the keyboard to select and scroll scrollable areas on the screen.
Below are a set of proposed default key mappings to various functions for in each mode.
All keys are tapped (no hold modifiers).
-
Basic
ctrl-f
- Begin Mouse mode and display hintsA
S
D
F
H
J
K
L
... - Default set of hint keystab
- Rotate through overlapping hintsR
- Refresh hintsG
- Display grid-based hints, tap again to show content-based hints
-
Modifiers
U
- Lock hint mode for repeat actions. Exit viaesc
shift
- Tap to toggle holding down shift keyoption
- Tap to toggle holding down option keycommand
- Tap to toggle holding down command keyctrl
- Tap to toggle holding down ctrl key1
to9
- Tap to set click count (2 is double-click, 3 is triple-click, etc.)
-
Movement
M
- Mouse mode, don't auto click or exit after typing hintsarrow keys
- Move mouse pointer
-
Actions
return
- Left-click mouse (automatic if not locked withM
). Mouse is pressed when key is pressed, released when key is released, in order to support click and hold.;
- Right-click mouse. Mouse is pressed when key is pressed, released when key is released, in order to support click and hold.C
- Tap to click and hold mouse, for click and drag. Tap again to release.-
+
- Pinch zoom in/out (=
is the same as+
)[
]
- Rotate
-
Ending Mouse Mode
X
- Switch to scroll modeesc
- End Mouse Mode (also ctrl-space again)
ctrl-F
A
S
- Invoke Vimac and click on hintAS
All keys are tapped (no hold modifiers).
-
Basic
ctrl-J
- Begin Scroll mode and display default scroll area selectiontab
- Select next scroll areashift-tab
- Select previous scroll area
-
Actions
H
J
K
L
- Scroll directions (H
- left,J
- up,K
- down,L
- right)-
+
- Pinch zoom in/out[
]
- Rotate
-
Ending Scroll Mode
X
- Switch to Mouse modeesc
- End Scroll mode (orctrl-backspace
again)
ctrl-J
tab
J
esc
- Invoke Vimac scroll mode, move to the second scroll area, scroll up, exit
- TODO
How about using separate keys to switch between left/right click, and a separate key to toggle the lock? This would reduce the key strokes needed by one.
C
- set left click (default)R
- set right clickM
- set move without a clickU
- toggle lock (off by default)EDIT:
I think a key difference between these two ideas is: