Keyboard Shortcuts
This content is for the 1.0.0 version. Switch to the latest version for up-to-date documentation.
This page covers keyboard input in PocketCmd: the shortcuts for a hardware keyboard, how to change them, the key row above the on-screen keyboard, key repeat, voice input and selecting text in the terminal. Shortcut settings live in Settings › Keyboard. Press F1 anywhere to see the shortcuts that apply with your current settings.
The superkey
Section titled “The superkey”App shortcuts use one modifier, the superkey. Every other key combination goes to the terminal, so Ctrl+C, Ctrl+R and Alt word motions reach the shell unchanged.
| Platform | Default superkey |
|---|---|
| macOS, iOS, iPadOS | Cmd (⌘) |
| Windows, Linux, Android | Ctrl+Shift |
Change it under Settings › Keyboard › Superkey. The choices are Cmd (⌘), Ctrl+Shift, Alt and Ctrl. Choosing Alt takes Alt-based word motion away from the shell while a terminal has focus. Choosing Ctrl takes every Ctrl shortcut (Ctrl+C, Ctrl+D, Ctrl+R) away from the shell.
In the tables below, Primary stands for the superkey. With the Ctrl+Shift superkey, a chord that would need a second Shift uses a different key instead; those cases are listed separately.
Shortcuts
Section titled “Shortcuts”Global
Section titled “Global”| Action | Primary = ⌘ | Primary = Ctrl+Shift |
|---|---|---|
| Command palette | ⌘K | Ctrl+Shift+K |
| New connection | ⌘N | Ctrl+Shift+N |
| Next session | Ctrl+Tab or ⌘] | Ctrl+Tab or Ctrl+Shift+] |
| Previous session | Ctrl+Shift+Tab or ⌘[ | Ctrl+Shift+Tab or Ctrl+Shift+[ |
| Go to session 1–9 | ⌘1 to ⌘9 | Ctrl+Shift+1 to Ctrl+Shift+9 |
| Close tab or session | ⌘W | Ctrl+Shift+W |
| Close session | ⇧⌘W | Ctrl+Shift+Q |
| Session switcher | ⌘E | Ctrl+Shift+E |
| Cycle pane focus | ⌘O | Ctrl+Shift+O |
| Settings | ⌘, | Ctrl+Shift+, |
| Keyboard shortcuts help | F1 | F1 |
| Back / dismiss | Esc | Esc |
Close tab or session closes the innermost thing that is open: the current editor tab when the focused pane is a workspace with open tabs, otherwise the session. Close session always closes the session. Ctrl+Tab and Ctrl+Shift+Tab switch sessions whatever the superkey is, and terminals never receive them.
Terminal
Section titled “Terminal”| Action | Primary = ⌘ | Primary = Ctrl+Shift |
|---|---|---|
| Copy selection | ⌘C | Ctrl+Shift+C |
| Paste | ⌘V | Ctrl+Shift+V |
| Increase font size | ⌘= | Ctrl+Shift+= |
| Decrease font size | ⌘- | Ctrl+Shift+- |
| Reset font size | ⌘0 | Ctrl+Shift+0 |
Paste uses bracketed paste when the remote program has turned it on.
Editor and files
Section titled “Editor and files”These apply in the text editor and in workspaces.
| Action | Primary = ⌘ | Primary = Ctrl+Shift |
|---|---|---|
| Find | ⌘F | Ctrl+Shift+F |
| Save | ⌘S | Ctrl+Shift+S |
| Undo | ⌘Z | Ctrl+Shift+Z |
| Redo | ⇧⌘Z | Ctrl+Shift+Y |
| Go to line | ⌘G | Ctrl+Shift+G |
| Toggle line comment | ⌘/ | Ctrl+Shift+/ |
| Quick open file | ⌘P | Ctrl+Shift+P |
| Search in files | ⇧⌘F | Ctrl+Shift+H |
| Toggle file sidebar | ⌘B | Ctrl+Shift+B |
| Close editor tab | ⌘W | Ctrl+Shift+W |
| Next editor tab | Ctrl+PageDown | Ctrl+PageDown |
| Previous editor tab | Ctrl+PageUp | Ctrl+PageUp |
The editor also handles Ctrl+S or Cmd+S (save) and Ctrl+F or Cmd+F (find) on its own. Those two bindings stay active even if you remap Save or Find.
With the Alt or Ctrl superkey, the same tables apply with Alt or Ctrl in place of ⌘.
Remapping shortcuts
Section titled “Remapping shortcuts”Every shortcut in Settings › Keyboard › Shortcuts can be remapped except Next session, Previous session, Go to session 1–9 and Back / dismiss, which are marked Fixed shortcut. Remapped entries show Customized.
- A chord already used by another action is refused with a message naming that action.
- A chord without the superkey would be taken away from the terminal. The app warns with Shortcut conflicts with the terminal and binds it only after you choose Bind anyway.
- Reset all to defaults restores the platform’s default superkey and removes every custom binding.
Key row
Section titled “Key row”When the on-screen keyboard is open, a row of extra keys sits above it, in terminals and in the editor. The default profile contains:
| Key | Type | Sends |
|---|---|---|
| ESC | Instant | Escape |
| CTRL | Modifier | Applies Ctrl to the next key |
| SHIFT | Modifier | Applies Shift to the next key |
| TAB | Instant | Tab |
| SPACE | Modifier | A space prefix before the next key |
| ↑ ↓ ← → | Instant | Arrow keys, encoded for the terminal’s current cursor mode |
Edit the row under Settings › Terminal › Keyboard Toolbar:
- Profiles. Keep several toolbars and switch between them. Create one with New Profile; rename or delete it from its menu.
- Add Key. Pick keys from the catalog (Modifiers, Special, Navigation, Function, Letters, Digits, Symbols) and choose a type:
- Instant sends one key, with any modifiers you selected applied to it. The catalog includes Home, End, PgUp, PgDn, Ins, Del and F1 to F20.
- Macro sends a sequence. Modifiers apply to the key that follows them, so
Ctrl,B,Dsends Ctrl+B and thend(detach in tmux). - Modifier adds a key that modifies the next key you type: Ctrl, Shift, Alt, Fn, Super, Meta or Space.
- Every key needs a Button label. Drag keys to reorder them, and tap one to edit or remove it.
The row stays visible when the keyboard is hidden while Sticky keyboard toolbar is on (the default). Toggle it in the Session settings sheet under Keyboard or in Settings › Terminal.
Compose bar
Section titled “Compose bar”Compose mode is on by default: you type a full command in the compose bar above the keyboard and send it with Enter. Turn it off in the Session settings sheet under Compose. Sticky compose bar, also on by default, keeps the bar visible when the keyboard is hidden. Attach in the compose bar sends photos and files and requires Pro.
Key repeat
Section titled “Key repeat”Settings › Keyboard › Key repeat sets how a held hardware key repeats in terminal sessions, with Delay before repeat (100–1000 ms, default 400 ms) and Repeat rate (20–200 ms between repeats, default 45 ms).
| Platform | Behavior |
|---|---|
| iOS, iPadOS | iOS does not repeat held keys on its own, so PocketCmd always generates the repeats with these timings. |
| Android, macOS, Windows, Linux | Your system’s timing applies until you turn on Use custom repeat timing. Android does not let apps change its own key-repeat settings, so this switch is the only way to change the timing there. |
Reset to defaults restores the timings without touching your shortcuts.
Voice input
Section titled “Voice input”Turn on Microphone button in the Session settings sheet under Floating buttons to show a floating microphone over the terminal. It is off by default. Tap it and speak; the recognized text is typed into the session. With Auto-enter after voice (under Voice, off by default) the app presses Enter after the text.
Dictation uses the device’s speech recognition service from Apple or Google, which may process audio on their servers. The app explains this the first time you use it and asks before continuing.
The Session switcher button under Floating buttons adds a floating button that opens the session switcher. It is also off by default.
Selecting text
Section titled “Selecting text”Long-press in the terminal to start a selection. After you lift your finger, two handles remain at the ends of the selection so you can adjust it instead of starting over.
- Dragging a handle to the top or bottom edge scrolls through the scrollback while the selection grows.
- The handles work inside tmux, vim and other programs that use mouse reporting. The selection is local and sends nothing to the remote program.
- A selection stays attached to its text while output arrives. Text that scrolls out of the scrollback buffer loses its highlight.
When you scroll up while output is arriving, the view stays on the rows you are reading instead of following the new lines.
Clearing the terminal
Section titled “Clearing the terminal”Both actions are in the Session settings sheet and, on desktop, in the right-click menu:
| Action | Effect |
|---|---|
| Clear screen | Clears the visible screen. |
| Clear scrollback | Deletes the scrollback history and leaves the visible screen as it is. |