@pi-unipi/input-shortcuts
Keyboard shortcuts for stash/restore, undo/redo, clipboard, and thinking toggle — chord-based overlay system
Package details
Install @pi-unipi/input-shortcuts from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@pi-unipi/input-shortcuts- Package
@pi-unipi/input-shortcuts- Version
0.1.2- Published
- May 1, 2026
- Downloads
- not available
- Author
- neuron-mr-white
- License
- MIT
- Types
- extension
- Size
- 41.5 KB
- Dependencies
- 1 dependency · 2 peers
Pi manifest JSON
{
"extensions": [
"src/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@pi-unipi/input-shortcuts
Keyboard shortcuts for Pi's input box. Stash and restore text, undo/redo, clipboard operations, thinking level toggle, and tab insertion — all via a vim-style chord overlay triggered by ALT+S.
Press ALT+S, a small overlay appears with key hints. Press a key, the action runs. The overlay closes automatically after 300ms or on ESC.
Shortcuts
| Chord | Action | Description |
|---|---|---|
ALT+S → S |
Stash/Restore | Save input to stash register, or restore it |
ALT+S → U |
Undo | Pop from undo buffer |
ALT+S → R |
Redo | Push current text forward, restore previous |
ALT+S → Y |
Copy | Copy input to system clipboard |
ALT+S → D |
Cut | Copy to clipboard, then clear input |
ALT+S → T |
Toggle Thinking | Cycle: off → low → medium → high → xhigh → off |
ALT+S → A → [0-9] |
Append Register | Append from numbered register 0-9 |
ALT+S → A → S |
Append Stash | Append from stash register |
ALT+I |
Tab Insert | Insert literal tab character |
Commands
| Command | Description |
|---|---|
/unipi:stash-settings |
Open settings TUI for keybinding customization |
Special Triggers
Input-shortcuts is a standalone package. It doesn't register with other packages or trigger coexists behavior.
Every action shows a brief success or error message in the status bar via ctx.ui.setStatus().
How It Works
Registers
- Stash register: 1 register for quick save/restore
- Numbered registers: 10 registers (0-9) for stored text snippets
- Persistence: Saved to
.unipi/config/input-shortcuts.json(per-project, atomic writes)
Undo/Redo
- In-memory ring buffer, max 50 snapshots per session
- 500ms debounce on snapshot creation (prevents noise from rapid typing)
- 1s throttle on undo (prevents rapid-fire undo)
- Redo buffer cleared on new snapshot
- Not persisted across sessions
Clipboard
Cross-platform clipboard detection with automatic fallback:
| Platform | Read | Write |
|---|---|---|
| Linux (X11) | xclip -selection clipboard -o |
xclip -selection clipboard |
| Linux (alt) | xsel --clipboard --output |
xsel --clipboard --input |
| macOS | pbpaste |
pbcopy |
| Windows | powershell Get-Clipboard |
clip / powershell Set-Clipboard |
Detected tool is cached after first use. Returns graceful error if no clipboard tool is available.
Thinking Toggle
Cycles through Pi's thinking levels: off → low → medium → high → xhigh → off.
Configurables
Run /unipi:stash-settings to customize keybindings:
- Chord trigger key — default
alt+s - Tab insert key — default
alt+i
Both cycle through available ALT key combinations, excluding known conflicts (alt+e = cursorWordRight).
Config persisted to ~/.unipi/config/input-shortcuts-config.json (global).
License
MIT