vmux
Input

Keyboard & Shortcuts

Hardware keyboard support, shortcuts, and key mappings.

Hardware Keyboard

vmux has full hardware keyboard support. Connect a Bluetooth or USB keyboard to your Apple Vision Pro and type directly into the terminal. Keystrokes appear instantly — local echo renders your input in under 16ms, before the server even confirms it.

App Shortcuts

These shortcuts work across the app, regardless of what's happening in the terminal.

ShortcutAction
Cmd + TNew tab
Cmd + NNew window
Cmd + WClose tab/window
Cmd + DSplit vertical
Cmd + Shift + DSplit horizontal
Cmd + ,Open settings
Cmd + Shift + PCommand Palette
Cmd + +Zoom in (increase font size)
Cmd + -Zoom out (decrease font size)
Cmd + 0Reset font size to default
Cmd + Shift + RToggle CRT effect
Cmd + ]Next pane
Cmd + [Previous pane
Cmd + KClear scrollback
Cmd + CCopy selection
Cmd + VPaste from clipboard

Cmd Key Readline Mappings

When you use Cmd with navigation keys, vmux translates them into standard readline shortcuts that work in shells and terminal editors.

ShortcutReadline EquivalentAction
Cmd + BackspaceCtrl + UDelete line before cursor
Cmd + DeleteCtrl + KDelete line after cursor
Cmd + LeftCtrl + AJump to beginning of line
Cmd + RightCtrl + EJump to end of line

Option as Meta

Default: On

When enabled, the Option key acts as the Meta (Alt) key for terminal applications. Pressing Option + a key sends an escape prefix followed by the character, which is how terminal apps like vim, emacs, and tmux interpret Alt key combos.

  • Option + Left Arrow sends the "backward word" command (readline ESC b)
  • Option + Right Arrow sends the "forward word" command (readline ESC f)
  • Option + Backspace sends "delete previous word"

You can toggle this in Settings.

One-Shot Virtual Modifiers

A modifier bar appears below the terminal with Ctrl, Alt, Shift, and CapsLock buttons. These are one-shot toggles:

  1. Tap a modifier button to arm it
  2. Press your next key — the modifier is applied
  3. The modifier automatically deactivates after that keypress

CapsLock is the exception — it stays active until you tap it again (persistent toggle). This is especially useful with VKeyboard or when you don't have a physical keyboard connected.

Custom Keybindings

You can remap defaults and assign shortcuts to any command from the shared command catalog in the keybinding editor (open from Settings).

The list is flat and includes:

  • App/palette commands (for example, app.new-window, settings.font-size)
  • Direct input commands (for example, input.gamepad.ctrl-c)

Command IDs are namespaced and unique, so there are no overlaps.

This includes management commands like Close Window (Keep Session Running) and Terminate Session, so you can choose quick detach vs explicit shutdown.

If you assign a keybind to a parameterized command (slider/picker), triggering that keybind opens the command palette directly in that command's editor.

If you create a binding that conflicts with an existing trigger, vmux warns you before saving.

Assigned keybinds are also shown inline in the Command Palette next to each command.

Gamepad Support

vmux supports game controllers for basic terminal navigation.

ButtonAction
AEnter
BEscape
XTab
YBackspace
D-padArrow keys
Left ShoulderCtrl + C (interrupt)
Right ShoulderCtrl + D (EOF)
Left TriggerPage Up
Right TriggerPage Down

Gamepad bindings are customizable in the keybinding editor.