Skip to main content

Claude Code profile in release 0.1.2

Release 0.1.2 includes the L2 command layer, deliberate interrupt hold, voice-lock gesture, and optional Claude Code keybinding installer.

Native mapping

Native mode works without changing Claude Code configuration. Ultragrip sends the following keyboard and scrolling inputs to the focused application. The left and right sticks keep their behavior while L2 is held; D-pad and left-stick directions repeat while held.

Controller Output Expected use
Cross / A Enter Submit input or confirm the selected option
Circle / B Backspace Correct the preceding character
Square / X: hold 350 ms Control+C Interrupt once; releasing early cancels the hold
Triangle / Y Tab Advance through completion or the active context
L1 / LB; R1 / RB Up Arrow; Down Arrow Move through input, options, or history
D-pad Arrow keys Navigate the active input or menu
Left stick up / down Page Up / Down Coarse vertical navigation
Left stick left / right Home / End Move to line start / end
Right stick up / down Vertical scrolling Scroll output; does not move the pointer
L3 Control+T Activity
R3 Control+O Review
Start / Menu; Select / View Unavailable No slash-command or file-mention text is injected
L2 / LT Command layer Hold while pressing another control; does not hold Control
L2 + Cross / A Control+J Insert a newline
L2 + Circle / B Escape Dismiss in the active context
L2 + Triangle / Y Shift+Tab Cycle permission mode
L2 + D-pad left / right Alt+Left / Right Move by word
L2 + D-pad up / down Home / End Move to line start / end
L2 + L1 / R1 Page Up / Down Page navigation
L2 + L3 Control+B Background the active task where supported
L2 + Start / Menu Ultragrip profile picker Open the profile selector in Ultragrip
L2 + X; L2 + R3; L2 + Select Unavailable No safe recovery, details, or shell-mode shortcut is emitted
R2 / RT macOS voice capture Hold to dictate; double-tap to lock, then double-tap to stop

Claude Code remains contextual

Up and Down can move within multiline input before reaching history. Escape and Control+C have different effects depending on whether input, a menu, a permission prompt, or a response is active. Test each action in the installed Claude Code version.

Current behavior is documented in the official Claude Code interactive-mode reference. A later Claude Code release can change how a synthesized shortcut is interpreted.

Optional optimized Claude Code bindings

Open Settings → Tool adapters, expand Exact binding preview for Claude Code, and choose Install optimized bindings. Installation requires a detected Claude Code version of at least 2.1.18 and no binding conflicts. It adds the following entries to ~/.claude/keybindings.json:

  • L2+A: Alt+Shift+N → chat:newline in the Chat context.
  • L3: Alt+Shift+T → app:toggleTodos in the Global context.
  • R3: Alt+Shift+O → app:toggleTranscript in the Global context.
  • L2+L3: Alt+Shift+B → task:background in the Task context.
  • L2+Y: Alt+Shift+M → chat:cycleMode in the Chat context.

The installer previews changes, blocks conflicts, backs up existing configuration, and validates the result before enabling optimized mode. Other controls keep their native behavior, including unavailable actions. If the configuration changes later, Ultragrip falls back to native mode. Settings offers Repair bindings and Remove UltraGrip bindings while preserving unrelated edits.

Voice and release limits

On macOS, hold R2 to dictate and release to stop, or double-tap to lock hands-free dictation and double-tap again to stop. Windows users can use the mappings without native voice capture. Neither platform has a released custom mapping editor.

Claude Code is the free-tier profile. Other profiles and hosted AI-enhanced dictation require trial or Pro access. See the full mapping reference for the other profiles and Terminal shell selection.

Help
UltragripSupport assistant