Define mobile SSH input tiers
This commit is contained in:
@@ -38,6 +38,29 @@ The input path has three distinct layers:
|
||||
No command should inspect layout quirks directly. A new keyboard layout is a new
|
||||
source-patched profile and trace fixture, not an ad-hoc branch in command code.
|
||||
|
||||
## Input capability tiers
|
||||
|
||||
Mobile SSH clients commonly expose more than a plain software keyboard: Escape,
|
||||
Control, arrow keys, paste, and sometimes an attached hardware keyboard. The v1
|
||||
keymap therefore treats these as capability tiers, not separate products:
|
||||
|
||||
1. **Core mobile tier**: commands reachable without required Esc/Ctrl/Alt,
|
||||
function keys, number-row comfort, or symbol gymnastics. Space rails and
|
||||
mnemonic letter aliases live here.
|
||||
2. **Mobile SSH accelerator tier**: Esc, Ctrl, arrows, Home/End/Page, and paste
|
||||
may accelerate the same intents when the SSH client exposes them. They must
|
||||
never be the only recovery or core editing path.
|
||||
3. **Attached keyboard tier**: Vim-style and terminal-standard direct keys such
|
||||
as `gg`, `G`, `Ctrl-u`, `Ctrl-d`, `0`, `^`, `$`, and `.` are first-class when
|
||||
available, but each core operation keeps a discoverable mobile fallback or
|
||||
visible rail.
|
||||
|
||||
When adding a binding, choose the narrowest tier that makes the operation usable,
|
||||
then document any accelerator aliases next to the canonical mobile path. If a
|
||||
terminal trace shows a client cannot send an accelerator reliably, prefer a
|
||||
source-patched layout/profile update or a visible fallback over a special-case
|
||||
command branch.
|
||||
|
||||
## Orthogonality rules
|
||||
|
||||
The keymap should feel small because its parts compose:
|
||||
|
||||
@@ -25,6 +25,8 @@ Rows are redgate TSV requirements: `ring<TAB>id<TAB>summary [tag]`.
|
||||
1 012 Line selections SHALL be able to include the line's newline boundary so linewise edits can preserve Vim-like newline semantics. [mobile]
|
||||
1 013 Document start/end and half-page motions SHALL be reachable from Normal mode with Ctrl-capable SSH keys and documented mobile fallback aliases. [mobile]
|
||||
1 014 Normal-mode dot repeat SHALL replay the last deterministic local edit for the supported insert/change/delete/put subset without recording panel, search, or external side effects. [mobile]
|
||||
1 015 The keymap SHALL classify bindings into core mobile, mobile SSH accelerator, and attached-keyboard tiers so Esc/Ctrl/arrow-capable clients can be used without making those keys mandatory for core commands. [mobile]
|
||||
1 016 Every attached-keyboard or Ctrl/Esc accelerator that performs a core editing, navigation, recovery, or panel action SHALL have a documented visible mobile fallback or rail path. [mobile]
|
||||
|
||||
## ui
|
||||
|
||||
|
||||
Reference in New Issue
Block a user