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:newlinein the Chat context. - L3: Alt+Shift+T →
app:toggleTodosin the Global context. - R3: Alt+Shift+O →
app:toggleTranscriptin the Global context. - L2+L3: Alt+Shift+B →
task:backgroundin the Task context. - L2+Y: Alt+Shift+M →
chat:cycleModein 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.