Wet paintVera is under heavy development. Try the code, just expect things to move.
Vera

Customize

Keyboard shortcuts

Use the common controls and remap supported actions.

Vera’s command palette and dialog footers show the controls available in the current screen. A picker may use a shortcut differently from the composer.

Common controls

KeyAction
Ctrl+POpen the command palette.
Ctrl+X, then MOpen Switch model. Release Ctrl before M.
Ctrl+X, then HShow or hide a card of the common keys. The composer keeps typing.
Ctrl+X, then BShow or hide the sidebar of running conversations.
Shift+TabOpen quick model, effort, access, and definition controls.
Ctrl+EOpen the conversation list.
Ctrl+FSearch the conversation on screen.
Ctrl+Shift+FSearch across conversations.
Ctrl+GChange focus between conversation panes.
Ctrl+\Cycle split and single-pane layouts.
Ctrl+CStop work, clear an idle draft, or exit with an empty composer.

Ctrl+C also exits when a stop is in progress. Other conversations can remain running after the TUI exits. See Saved conversations.

Remap an action

tui.json maps supported action IDs to key combinations. It does not define new actions or macros. For example:

{
    "keybindings": {
        "open_model_picker": ["shift+tab"],
        "dials.open": ["ctrl+d"]
    }
}

An empty list unbinds an action:

{ "keybindings": { "open_model_picker": [] } }

The help pane lists action IDs and shows the effective shortcuts after remapping.

What can be remapped

Supported remaps cover actions that open visible pickers and navigation inside them. Core controls such as interrupt, Enter, Escape, text editing, and scrolling remain fixed. Actions that change state without opening a screen cannot be remapped.

Key names

Use lowercase names with modifiers first, such as ctrl+shift+tab. Supported modifiers are ctrl and shift. alt, meta, and option are rejected because reporting differs between terminals.

Keys include tab, backtab, enter, esc, space, arrows, home, end, pageup, pagedown, delete, backspace, insert, f1 through f12, and single printable characters.

Ctrl+Shift+letter combinations require a terminal that supports the kitty keyboard protocol. Vera accepts them and shows a startup notice.

Fix a rejected binding

Invalid entries are ignored and named at startup. They do not prevent the TUI from starting. For example:

keybinding ignored: dials.opne: unknown binding id
keybinding ignored: interrupt: this binding cannot be moved

If two actions use the same chord in the same scope, both remaps are ignored and their defaults return. Correct the named entries rather than relying on one to take precedence.