Skip to content

Keyboard Shortcuts

Summary

All keyboard shortcuts in the 2Wee client. The client is keyboard-only — there is no mouse support.

Choosing your keys

Every action has a primary key and zero or more alternates. They do exactly the same thing. Pick whichever feels natural — some users prefer function keys, others prefer Ctrl combinations.

For example, to open a lookup on a field, any of these work:

KeyStyle
Ctrl+EnterPrimary
Shift+EnterAlternate
F6Alternate (function key)
Ctrl+OAlternate

The documentation uses primary keys when referring to shortcuts. The full list of alternates is in the tables below.

Ctrl vs Cmd

The client treats Ctrl and Cmd (Super) as identical modifiers. Cmd+S and Ctrl+S both save. However, the terminal emulator may intercept certain Cmd combinations before they reach 2Wee. If a Cmd shortcut does not work, use the Ctrl variant.

Command shortcuts

ActionPrimary KeyAlternate(s)Context
QuitQList, Card, Menu
SaveCtrl+SCard, Grid
RefreshCtrl+RAll screens
Close / BackEscAll screens
New recordCtrl+NF3, Ctrl+IList, Card
Delete recordCtrl+DF4Card
Open recordEnterList
Toggle edit modeF2Card, Grid
Copy field valueCtrl+CCard
Open lines gridCtrl+LAlt+L, Ctrl+Shift+LCard (HeaderLines)
Action pickerCtrl+AF8All screens
Key debug overlayF9All screens
Theme pickerF12All screens
Copy screen JSONCtrl+Shift+JAll screens
Copy screen URLCtrl+Shift+UAll screens

Context-dependent shortcuts

These actions share key bindings. The client resolves the action based on the focused field type.

ActionPrimary KeyAlternate(s)When
LookupCtrl+EnterShift+Enter, F6, Ctrl+OEditable field with lookup
Drill-downCtrl+EnterShift+Enter, F6, Ctrl+ONon-editable field with lookup
OpenCtrl+EnterShift+Enter, F6, Ctrl+OEmail, Phone, URL field
Option cycleSpaceOption field
Option selectCtrl+EnterShift+Enter, F6, F2Option field
Insert rowCtrl+NF3, Ctrl+IGrid overlay, Grid
Delete rowCtrl+DF4Grid overlay, Grid

How context resolution works

The same key can trigger different actions depending on what is focused:

  • On an editable field with a lookup: Ctrl+Enter opens the lookup list
  • On a non-editable field with lookup: Ctrl+Enter drills down to the related data
  • On an Email, Phone, or URL field: Ctrl+Enter opens the value in the system app (browser, dialer, email client)
  • On an Option field: Ctrl+Enter opens the option selection modal
  • In the grid overlay: Ctrl+N inserts a row (on a card, it creates a new record)

Select mode (field navigation)

KeyAction
Up / Shift+TabPrevious field
Down / TabNext field
Left / RightMove to adjacent column
HomeFirst field
EndLast field
EnterNext quick_entry field; falls back to next editable field if none ahead
F2Cycle: Select All → Cursor End → Cursor Start
Printable charClear field, enter edit mode, insert char

Edit mode (text editing)

KeyAction
LeftCursor left 1 char
RightCursor right 1 char
HomeCursor to start
EndCursor to end
Ctrl+Left / Alt+LeftWord left
Ctrl+Right / Alt+RightWord right
Alt+BWord left (Emacs)
Alt+FWord right (Emacs)

Selection

KeyAction
Shift+LeftExtend selection 1 char left
Shift+RightExtend selection 1 char right
Shift+HomeSelect to start
Shift+EndSelect to end
Shift+Ctrl+LeftExtend selection word left
Shift+Ctrl+RightExtend selection word right
Ctrl+ASelect all (in edit mode only — opens Action Picker in navigation mode; use F8 to avoid ambiguity)

Deletion

KeyAction
BackspaceDelete selection, or char before cursor
DeleteDelete selection, or char at cursor
Alt+Backspace / Ctrl+BackspaceDelete selection, or word backward

Mode transitions

KeyAction
EscRevert changes, back to select mode
EnterConfirm edit, advance to next quick_entry field
F2Cycle: Select All → Cursor End → Cursor Start (continues editing)
TabConfirm edit, move to next field (visits all fields)
Shift+TabConfirm edit, move to previous field

TextArea fields

TextArea is edited in the same mode but Enter and Ctrl+Enter behave differently:

KeyAction
EnterConfirm edit, advance to next quick_entry field
Ctrl+EnterInsert a newline at the cursor
F2Cycle: Cursor End → Cursor Start (no Select All)

Enter and Tab both confirm the edit, but differ in navigation: Enter follows the fast data entry path (skips fields with quick_entry: false). Tab visits every field. In select mode, Enter also navigates without entering edit mode. The server controls which fields Enter skips via the quick_entry property. This applies to both card fields and grid columns.

List screen

KeyAction
Up / DownMove between rows
EnterOpen selected record
Home / EndFirst / last row
PageUp / PageDownScroll page
Printable charType-to-search (filters as you type)
BackspaceRemove last search character

Lines overlay (HeaderLines)

KeySelect modeEdit mode
Arrow keysMove between cellsMove cursor in cell
EnterConfirm + advance to next quick_entry columnConfirm + advance to next quick_entry column
F2Enter edit modeCycle: Select All → Cursor End → Cursor Start
TabNext cell (wraps)Confirm + next cell
EscClose overlayRevert edit
Any charStart typing (replaces)Insert at cursor
Home / EndFirst / last column
PageUp / PageDownScroll page

Open the grid with Ctrl+L. Close with Esc.

KeyAction
Left / RightSwitch tabs
Up / DownMove between items
EnterOpen selected item
EscBack / quit

Boolean field

KeyAction
SpaceToggle between true and false
EnterAdvance to next quick_entry field

Option field

KeyAction
SpaceCycle to next option
Backspace / DeleteReset to first option
Ctrl+EnterOpen option list modal

Option modal

KeyAction
Up / DownPrevious / next option
EnterConfirm selection
EscCancel

Hint bar

Each screen shows relevant shortcuts in the bottom bar:

ScreenActions shown
MenuEscape
ListNew, View, Escape
List (searching)Same, but Escape label shows "Clear"
CardNew, Delete, Save, Escape
GridSave, Insert, Delete, Escape

When the screen has server-defined actions, Ctrl+A Actions is added to the hint bar.

Context-sensitive hints appear on the left side based on the focused field type (Lookup, Drill-down, Option).

Developer tools

These shortcuts are intended for developers and integrators — not end users. They are useful when diagnosing what the server is sending.

ShortcutAction
Ctrl+Shift+JCopy the current screen's JSON to clipboard
Ctrl+Shift+UCopy the current screen's URL to clipboard

Both shortcuts work on all screens. A confirmation appears briefly in the status bar after copying. Paste the result into a text editor or JSON formatter to inspect it.

Ctrl+Shift+J copies the full ScreenContract as pretty-printed JSON — exactly what the server sent. This is the fastest way to answer "what is the server actually sending?" when something looks wrong.