Skip to content

Interactive Widgets Cheat Sheet

Edit this page

A quick reference of all keyboard shortcuts and interactive features for every focusable widget.

Tip

F6 / Shift+F6 cycle focus between widgets in any application. See Focus Management for details.

Bracketed Paste

When you paste text into a terminal (Cmd+V on macOS, Ctrl+Shift+V on Linux), most modern terminals use a protocol called bracketed paste mode. The terminal wraps the pasted content between two special escape sequences so the application can tell the difference between text you typed and text you pasted.

Why does it matter? Without this protocol, pasting a multi-line block into an editor would be indistinguishable from typing each character one by one. Every newline would trigger the "submit" action, every Escape character would cancel, and so on. With bracketed paste, the application receives the entire block as a single paste event and inserts it at the cursor without triggering any shortcut.

Both InputWidget and EditorWidget support bracketed paste. The details are noted in each widget's section below.

InputWidget

Single-line text field with horizontal scrolling and paste support.

Keyboard:

Key Action
Enter Submit
Escape, Ctrl+C Cancel
Left, Ctrl+B Move cursor left
Right, Ctrl+F Move cursor right
Alt+Left, Ctrl+Left, Alt+B Move word left
Alt+Right, Ctrl+Right, Alt+F Move word right
Home, Ctrl+A Move to start of line
End, Ctrl+E Move to end of line
Backspace, Shift+Backspace Delete character backward
Delete, Ctrl+D, Shift+Delete Delete character forward
Ctrl+W, Alt+Backspace Delete word backward
Ctrl+U Delete to start of line
Ctrl+K Delete to end of line

Paste:

  • Bracketed paste is supported. Pasted text is inserted at the cursor; newlines are stripped since this is a single-line widget.

EditorWidget

Multi-line text editor with word wrap, scrolling, undo/redo, kill ring and autocomplete.

Keyboard:

Key Action
Enter Submit
Shift+Enter Insert newline
Escape, Ctrl+C Cancel (or close autocomplete)
Tab Trigger autocomplete
Shift+Space Insert a space
Up Move up (start of first line)
Down Move down (end of last line)
Left, Ctrl+B Move cursor left
Right, Ctrl+F Move cursor right
Alt+Left, Ctrl+Left, Alt+B Move word left
Alt+Right, Ctrl+Right, Alt+F Move word right
Home, Ctrl+A Move to start of line
End, Ctrl+E Move to end of line
Page Up Scroll up by page
Page Down Scroll down by page
Ctrl+] Jump forward to a character
Ctrl+Alt+] Jump backward to a character
Backspace, Shift+Backspace Delete character backward
Delete, Ctrl+D, Shift+Delete Delete character forward
Ctrl+W, Alt+Backspace Delete word backward
Alt+D, Alt+Delete Delete word forward
Ctrl+Shift+K Delete entire line
Ctrl+U Delete to start of line
Ctrl+K Delete to end of line
Ctrl+- (minus) Undo
Ctrl+Shift+Z Redo
Ctrl+Y Yank (paste from kill ring)
Alt+Y Yank pop (cycle kill ring)

Autocomplete (when the dropdown is open):

Key Action
Up Previous suggestion
Down Next suggestion
Page Up Page up through suggestions
Page Down Page down through suggestions
Enter Accept suggestion
Escape Close dropdown

Paste:

  • Bracketed paste is supported. Pasted text is inserted at the cursor with newlines preserved.
  • Large pastes (more than 10 lines) are collapsed into a compact marker; the full content is available via getPasteMarkers().

SelectListWidget

Scrollable list with single-item selection.

Keyboard:

Key Action
Up Move selection up (wraps)
Down Move selection down (wraps)
Page Up, Left, Ctrl+B Page up
Page Down, Right, Ctrl+F Page down
Enter Confirm selection
Escape, Ctrl+C Cancel

SettingsListWidget

Navigable settings panel with value cycling and submenus.

Keyboard:

Key Action
Up Move selection up
Down Move selection down
Page Up Page up
Page Down Page down
Enter, Space Activate (cycle value or open submenu)
Right, Ctrl+F Cycle value forward
Left, Ctrl+B Cycle value backward
Escape, Ctrl+C Cancel

CancellableLoaderWidget

Animated spinner that can be interrupted by the user.

Keyboard:

Key Action
Escape, Ctrl+C Cancel the operation
This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.
TOC
    Version