Soft Key Bars and Keycodes
Customizable on-screen soft key bar with tactile key modes (Press, Latch, Toggle), keycode chording, modifier latching, and 32 preset navigation keys.
Desktop Key Capabilities on Mobile Touchscreens
Touchscreen keyboards lack dedicated Function keys (F1–F12), Escape (⎋), Tab (⇥), Arrow keys (▲▼◀▶), and hardware modifier keys (Ctrl, Alt, Shift). Casshper's Soft Key Bars provide an ultra-responsive, fully customizable toolbar docked directly above the software keyboard or at the bottom of your terminal viewport, giving you instant access to all essential command-line keys.
Soft key bindings dispatch directly to the Ghostty terminal core with zero input lag, supporting one-shot modifier latching, persistent toggles, command text macros, and multi-bar switching.
Operational Key Modes
Every key binding on a soft-key bar can be configured with one of three distinct operational modes:
- Press (Momentary): Dispatches immediately upon touch-down and releases on touch-up. This is the default mode for standard navigation keys like
Esc,Tab,Return,Backspace, andArrowkeys. - Latch (One-Shot / Sticky): Arms a modifier key or prefix action for the very next keystroke. While armed, the button highlights with an active visual state. As soon as you type the next key (for example, tapping latched
Ctrlthen typingCto sendCtrl+C), the engine automatically consumes the modifier and clears the latch. - Toggle (Persistent Switch): Locks the modifier or action state continuously active until you tap the button a second time. This is ideal for prolonged modifier workflows, multi-key navigation, or locking custom state.
Preset Keys and Custom Keycodes
Casshper includes a comprehensive catalog of 32 pre-configured preset keys and allows arbitrary keycode definitions. Keystrokes, modifiers, and chording (such as Esc, Tab, Ctrl+C, and arrow keys) are handled via Keycode (KEYCODE) bindings, while freeform command macros (such as git status, :w) are handled via Text (TEXT) bindings—not action bindings:
- Navigation and Control:
Esc (⎋),Tab (⇥),Return (↵),Space (␣),Backspace (⌫),Delete (⌦),Page Up (⇞),Page Down (⇟),Home (↖),End (↘), andArrows (▲▼◀▶). - Hardware Modifiers and Chording:
Ctrl (Left/Right),Alt (Left/Right), andShift (Left/Right)with support for Press, Latch, and Toggle modes. Chord with any character (e.g.Ctrl+C) without opening a keyboard. - Function Keys: Dedicated presets for
F1throughF12. - Custom Keycodes and Modifier Bitmasks: Configure custom ASCII hex keycodes with simultaneous
Ctrl,Alt, orShiftmodifier bitmasks in the Key Editor forKEYCODEbindings. - Preset Keys and Custom Key Selection: Easily choose from 32 preset keys or define custom ASCII hex keycodes to match your workflow requirements.
- Raw Bytes and Bypass XKB Mode: Toggle raw byte mode on keycode bindings to stream escape codes and byte sequences directly into the PTY session, bypassing XKB layout translation.
- Text Snippets and Command Macros (
TEXT): Send multi-character command strings and shell snippets directly into the active session without keyboard entry.
Action Bindings and Terminal Commands
In addition to dispatching standard keycodes and text command macros, buttons on any soft-key bar can be configured as Action Bindings (ACTION). Action bindings are strictly reserved for application-level lifecycle and session operations directly without typing commands or sending raw key events into the shell:
- Core Action Triggers: Toggle the virtual keyboard on/off, switch between active background sessions (Next, Previous, New, Close), open the session drawer, copy selection, and paste clipboard.
- Pro Admin Triggers: Open the Sneaky Input scratchpad overlay, launch the in-session Theme Picker, or trigger soft-key bar swapping and cycling.
For a complete breakdown of every supported action, signal, and controller trigger, see our dedicated guide: Action Bindings and Terminal Commands Documentation.
Expanding to Multi-Soft Key Bars (Pro Admin)
While the Core edition includes a single fully customizable soft-key bar with 32 presets, tactile modifier modes, arbitrary keycodes, and support for 0 active bars (hiding the bar completely for full-screen workflows), Casshper Pro Admin enables unlimited custom toolbars, simultaneous multi-bar vertical stacking, and dynamic toolbar swapping or cycling.
To learn how to configure specialized toolbars for tmux, Git, and debugging, see our dedicated guide: Multi-Soft Key Bars Documentation.
Creating additional custom soft-key bars, multi-bar stacking, toolbar duplication, and dynamic swapping/cycling require a Casshper Pro Admin lifetime license.
Configuring the Soft Key Bar
- Open Casshper and open the sidebar menu to select Settings.
- Navigate to the Soft Key Bars section.
- Select your soft-key bar to open the layout preview.
- Tap on any key button to open the Key Editor dialog.
- Set your preferred Label (supports text and emojis like
⎋,⇥,💥,⚡). - Choose the Binding Type (Keycode, Text, or Action) and select your desired key preset or command.
- Select the Key Mode (Press, Latch, or Toggle) and toggle options such as Haptic Feedback or Auto-Repeat.
- Tap Save Key, then tap Save Settings to apply your configuration immediately!
Set Ctrl and Alt buttons to Latch mode so you can tap Ctrl once with your thumb, and then tap any letter on your regular keyboard to send the chord. For fast access, you can also bind key sequences directly to Custom Gestures with zero-latency immediate execution.