feedback5 WAC: docs for the rebindable shortcuts — PLAYING §11 (the shortcut list and how to change it), README 操作 (Q / X added, the settings named), DESIGN §10 (design/client.md), §25.15, I18N's stale hotkey-line example
Golden unchanged (docs only).
This commit is contained in:
1 parent
f2bec76176
commit
f1df0d359d
5 files changed
+53
-5
No files matched your search
@@ -1062,3 +1062,33 @@ fixed (W5AA's commits name every golden scenario moved); two were already fixed
|
||||
bounty 使徒 whose seeds leaked sent every seed into 联防 carrying the card — 15 of 16 re-entries paid it again — which
|
||||
is the report; on this tree only the 使徒's own leak carries it.
|
||||
- Golden: unchanged. Pinned: `test/sim/feedback5-community-pins.test.js`.
|
||||
|
||||
### 25.15 Rebindable shortcuts (W5AC; the community request 「快捷键可不可以自己设置」, the owner's decision of 2026-10-07) — `ui/gameLogic/shortcuts.js`, `ui/gameLogic/settings.js sanitizeSettings`, `ui/settings.js` (`HotkeySection`, `hotkeyLabelOf`), `screens/game.js`, `ui/facingWheel.js`
|
||||
|
||||
- **Asked**: players wanted to choose their own keys.
|
||||
- **Before**: R 刷新, F 冻结, D 升级, Q 撤退 / X 出售 the selected operator (PR #114, 0.1.4), Space 准备就绪 (in a solo battle:
|
||||
pause / resume) and Esc (close) were fixed in `shortcutFor`; the shop bar, the ready / pause button and the
|
||||
underframe drew them as fixed text, the facing wheel swallowed Space and `KeyR` / `KeyF` / `KeyD`. No camera, speed or
|
||||
panel keys exist; the other keys are the dialogs', the guide's, 干员调配's and the facing wheel's own (Esc, Enter, the
|
||||
arrows, paging), listed with the shortcuts in docs/PLAYING.md §11. Nothing official to follow: the shortcuts are the
|
||||
remake's.
|
||||
- **Now**: the settings (localStorage `sp.pref.settings`) hold `keys`, action → `KeyboardEvent.code`; the defaults are the
|
||||
keys of 0.1.4, so nothing changes for a player who never opens the section. `sanitizeSettings` keeps each saved key
|
||||
that may be a shortcut and gives any other its default; not a map, or two actions on one key, gives the defaults. One
|
||||
lookup, `actionForKey` — the action of the character typed (the keycap: AZERTY, Dvorak), else of the physical key (a
|
||||
Russian layout, an IME), the 0.1.4 `code === 'KeyR' || key === 'r'` match generalised and identical for the defaults —
|
||||
serves `shortcutFor(e, keys)` in game.js and the facing wheel's `facingSwallows`; the modifier, text-field, repeat and
|
||||
overlay guards are unchanged. The key hints read `hotkeyLabelOf`. 设置 → 快捷键 (the one SettingsModal, in a match and
|
||||
on the title screen): each action with its key; a click — or Enter on the focused key — waits, the next key binds;
|
||||
Esc cancels and the dialog stays open, Tab leaves; a key held with Ctrl / Alt / ⌘ or one the interface keeps (Esc,
|
||||
Tab, Enter, the arrows, F1–F12) is refused and the wait goes on; a key another action has is swapped (that action takes
|
||||
the old key) and the line under the list names both; 恢复默认. Bindable: A–Z, 0–9, Space, the punctuation keys, Delete,
|
||||
Insert, Home, End, PageUp, PageDown; Esc stays fixed. On a touch-only device the section says the keys need a
|
||||
keyboard and folds the list; under 768 px it is one column.
|
||||
- [ASSUMED]: a conflict swaps rather than refuses (the request names neither, a swap never leaves an action without a
|
||||
key); Esc and the dialogs' own keys stay fixed; the bindable set; no modifier combinations (no shortcut used one).
|
||||
- Golden: unchanged (client UI only). Tests: `test/ui/feedback5-hotkeys.test.js` (the map, sanitising, conflicts, the
|
||||
lookup equal to 0.1.4 for the defaults on four layouts, capture, handlers and hints with a rebound key),
|
||||
`test/ui/gameLogic.test.js` (sanitizeSettings), `test/ui/hotkeys.e2e.test.js` (SP_E2E=1: 撤退 rebound to W with the
|
||||
keyboard only in the mock match — Q then does nothing, W retreats, the choice survives a reload; phone width). Docs:
|
||||
docs/PLAYING.md §11, README 操作, DESIGN §10 (design/client.md).
|
||||
Reference in new issue
Block a user