FixControl is gebouwd voor operators op het toetsenbord. Elke lijstpagina, elk detail-pane en de globale shell delen één keymap. Druk overal op ? om de live help-dialog te openen — die toont wat geregistreerd is op de huidige pagina, en blijft daardoor altijd eerlijk.
Globaal
| Toetsen | Doet |
|---|---|
Cmd/Ctrl+K | Open het command palette (zoeken, navigeren, acties uitvoeren). |
? | Open de live shortcut-help. |
g dan i | Naar Issues. |
g dan n | Naar Inbox. |
g dan p | Naar Patches. |
g dan w | Naar Workspaces. |
g dan f | Naar Follow-ups. |
g dan k | Naar Knowledge. |
g dan a | Naar Agents. |
g dan r | Naar Runs. |
g dan d | Naar Dashboard. |
g dan s | Naar Settings. |
g-prefix chords negeren typing-context, dus ze schieten niet af terwijl je een veld bewerkt.
Tabellen (elke lijstpagina)
| Toetsen | Doet |
|---|---|
j / k | Actieve rij omlaag / omhoog (wrapt aan de randen). |
Shift+j / Shift+k | Page-jump van 10 rijen (clamps aan de randen, geen wrap). |
Enter | Open de actieve rij (split-pane bij Issues, detailroute elders). |
/ | Focus de search-input in de tabel-toolbar. |
x | Toggle selectie op de actieve rij; zet de range-anchor. |
Shift+x | Range-select van anchor tot actieve rij (Gmail-style, additief). |
Cmd/Ctrl+A | Selecteer elke rij op de zichtbare pagina. |
Esc | Wis selectie als die er is; anders blur het gefocuste element. |
Selectie overleeft pagineren, sortwissels en filterwissels — herfilter om zichtbaar te beperken, blijf rijen aanvinken, en pas één bulk-actie toe op de unie zodra je klaar bent.
Hover je met de muis over een rij, dan synct de actieve-rij-marker naar de hover — j/k na een hover loopt verder waar je keek.
Rij-acties (page-bound)
Lijstpagina's kunnen extra single-key acties binden op de actieve rij. De help-dialog (?) toont wat de huidige pagina heeft geregistreerd.
| Toetsen | Pagina | Doet |
|---|---|---|
a | Issues | Voer de primaire actie van de rij uit (open / approve / send). |
f | Issues | Run fix op de actieve rij. |
g dan o | Issues | Open queue (bucket-filter wissen). |
g dan r | Issues | Review-bucket. |
Page-bound row keys vuren niet tijdens typen.
Detailpagina's
| Toetsen | Doet |
|---|---|
[ | Vorig item binnen het filter+sort waarvanuit je kwam. |
] | Volgend item binnen hetzelfde filter+sort. |
De pager rendert alleen als er lijstcontext is opgenomen. Open een detail rechtstreeks (deeplink, fresh tab) en de pager verbergt zichzelf — niets om langs te lopen. De context overleeft een page reload omdat 'ie in URL-state op de lijstpagina leeft; de detailroute leest 'm terug.
Split view (Issues, Patches, Inbox, Follow-ups)
| Toetsen / gesture | Doet |
|---|---|
| Sleep divider | Verstel de split. Breedte wordt per operator onthouden. |
Focus divider, ← / → | Stap divider 16 px. |
Focus divider, Shift + ←/→ | Stap 64 px. |
Focus divider, Home / End | Snap naar max / min. |
De split klapt automatisch in op smalle viewports. Staat de pane uit, dan routen rij-activaties naar de standalone detailpagina.
Command palette (Cmd/Ctrl+K)
Het palette zoekt over navigatie, queues, recente entiteiten, saved views, en acties — alles wat een pagina registreert terwijl ze gemount is, verschijnt erin.
- Type om fuzzy te zoeken; pijltjes verplaatsen highlight;
Entervoert uit. - Acties die een pagina registreert vuren dezelfde handlers als de bulk-toolbar en row-buttons. "Approve issue ABC-12" werkt dus ook als ABC-12 niet in je huidige filter zit.
- Het palette reset zijn query bij sluiten — opnieuw openen begint schoon.
Voorbeelden out-of-the-box: go to issues, new issue, approve selected, delete selected, open recent: BIZ-29, en elke saved view op naam.
Wat overleeft een reload
- Tabel-state — pagina, page size, sort, search, filters, view — leeft in de URL, dus reload geeft exact terug wat je had.
- Selectie — overleeft pagineren, sort en filter; gewist door een expliciete
Esc, de Clear-knop in de bulk-bar, of door weg te navigeren. - Split-pane breedte + open-state — per pagina, per operator, opgeslagen in je browser.
- Saved views — per tenant, gedeeld tussen operators als zo gemarkeerd.
- Detail-pager-context — het opgenomen lijstfilter reist mee naar de detailroute, dus
[/]blijven werken na een reload van de detailpagina zelf.