Define mobile SSH input tiers

This commit is contained in:
slhx agent
2026-06-21 22:23:47 +02:00
parent 6271fac301
commit 2e60a0961c
2 changed files with 25 additions and 0 deletions
+23
View File
@@ -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: