history of internal/ui/input/keyboard_test.go at docs/readme-install-v0.33.0

2026-10-14

af0e370fix(config,input): canonicalize action names and key chords once, drop the built-in shortcut fallback GPG Verifiedbrice

2026-08-28

a80868dfeat(vim): activate selected heading links GPG Verifiedbrice

2026-08-14

fc18cdefix(vim): cycle inputs and contain reverse focus GPG Verifiedbrice
8c7ae2bfix(vim): keep input activation and reverse focus GPG Verifiedbrice
04133a4fix(vim): pass tab focus keys to pages GPG Verifiedbrice
23fc389feat(input): rename page mode to vim mode GPG Verifiedbrice

2026-07-29

3ad27cdfix(page-mode): harden scroll scheduling and repeat GPG Verifiedbrice

2026-07-28

5b1cfa8fix(page-mode): harden scrolling and editable focus GPG Verifiedbrice
0c4b1f1feat(page-mode): add keyboard page navigation GPG Verifiedbrice

2026-06-11

0337582fix(ui): avoid controller teardown during destroy GPG Verifiedbrice

2026-05-24

c48b63ffix(input): suppress ghost shortcut repeats GPG Verifiedbrice

2026-03-25

2aad925refactor: migrate from jwijenbergh to bnema/puregotk + ebitengine/purego GPG Verifiedbrice

2026-03-17

3489869refactor(M7): decouple coordinators and UI subsystems from infrastructure GPG Verifiedbrice

2026-03-11

b574babfix(app): restore green gates and harden accent input GPG Verifiedbrice
0523844fix(input): prevent double accent detection and restrict JS events to editable targets GPG Verifiedbrice
51b8f8afix(input): fix off-by-one in dead key range, extract test config helper GPG Verifiedbnema
2b4d718test(input): add missing test coverage for routing and key classification GPG Verifiedbnema
0185904refactor(input): rewrite handleKeyPress with unified key routing GPG Verifiedbnema
801a8a3refactor(input): add KeyRoute enum and replace shouldBypass with routeKey GPG Verifiedbnema

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close