SolarOS

SolarOS 4.16.30 manual · concept

Navigation and keys

SolarOS accepts input from keyboards, board buttons, wheels, and trackballs. Use the common keys below, or find your device's built-in controls in the target tables. These tables describe the default mappings; custom keyboard profiles can change them.

Alt+Enter means hold Alt, press Enter, then release both keys. A tap means press and release a key. A hold keeps a modifier or layer active while you press another key.

Basic navigation

KeyAction
Up / DownMove between menu items or scroll, depending on the app.
Left / RightMove across the launcher grid; move the cursor or change a value where supported.
EnterSelect an item, open it, or confirm a prompt.
EscapeGo back or cancel; exits apps that support Escape.
Page Up / Page DownMove a page at a time where supported.
Home / EndMove to the start or end where supported.
Alt+EnterToggle full screen in shared text menus. Small menus start in full screen automatically.

Run launcher for the graphical app grid, or type an app's command name at the shell prompt. App-specific controls appear in the app's help and the Application reference. Escape is handled by each app; use the app-close shortcut below when you need to close the foreground app.

Sessions and app shortcuts

ActionLocal display keyboardPort terminal (USB CDC, UART, Telnet)
Close the foreground appCtrl+Alt+DelCtrl+]
Next retained sessionAlt+Tab or Alt+RightCtrl+Z suspends a resumable app and returns to the prompt; use fg to resume it.
Previous retained sessionAlt+LeftUse fg ID to resume a specific retained app.
Move local keyboard focus to another displayCtrl+Alt+ArrowRun session focus TARGET.

Either Alt key works for session switching and display focus, including AltGr on compact keyboards. Switching sessions retains resumable apps; closing an app returns to its display's shell or resumes its parent app. Use session list to see session IDs and Sessions for more controls.

At the shell prompt

KeyAction
EnterRun the typed command.
Up / DownBrowse command history.
Left / RightMove the insertion cursor.
Backspace / DeleteDelete before / at the cursor.
EscapeClear the typed command without running it.
TabComplete a command, subcommand, or path.
Tab twiceList matching completions; at an empty prompt, list commands.

LilyGO T-LoRa-Pager (T-Pager)

ControlAction
Wheel clockwiseDown — next menu item or scroll down.
Wheel counterclockwiseUp — previous item or scroll up.
Press wheelEnter — select/open; emitted when the wheel is released.
Keyboard EnterEnter.
Hold Space + EnterEscape — back/cancel; exits apps that support Escape.
Tap SpaceType a space.
Hold Space + another keyType its symbol; Q–P give digits 1–0.
Hold the Caps-labelled keyShift — use with another key for its shifted character.
Hold AltAlt modifier.
BackspaceDelete the character before the cursor.

The default keyboard profile has no Left, Right, Tab, or Ctrl mappings. The wheel supplies Up/Down, so it cannot move across launcher columns. Use a custom keyboard profile or a compatible external keyboard for those keys, horizontal launcher navigation, and the usual session-switch and app-close combinations. You can also launch apps by typing their command names. Space+Enter remains Escape rather than the universal app-close key.

LilyGO T-Deck Plus

ControlAction
Roll trackball up / down / left / rightOne arrow key in the dominant direction after movement stops.
Tap trackballEnter — select/open by default.
Hold trackballSuspend by default.
Keyboard EnterEnter.
Tap microphone-icon key (Mic)Tab on release — complete a shell command or argument; tap twice to list matches.
Shift + microphone-icon keyCtrl — keep Mic held while pressing the other key.
Sym + microphone-icon keyType 0.
Shift + trackball arrowsExtend the text selection in the editor.
Shift + Mic + trackball left / rightMove the cursor one word left / right.
Alt+CEscape — back/cancel where supported.
Alt+QClose the foreground app.
Alt+BToggle the keyboard backlight for the current boot; the shortcut does not type a character.
Alt + trackball up / downPage Up / Page Down.
Alt + trackball left / rightPrevious / next retained session on the focused display.
Alt + MicNext retained session on the focused display.
Alt+EnterToggle full screen in shared text menus.
Hold Sym + another keyType the symbol from the keyboard's symbol layer.
Hold Shift + another keyType its shifted character.

The trackball press uses the system KEY settings. Change a tap with setterm powerkey short <action> and a hold with setterm powerkey long <action>, or edit the two rows in setterm. Saved choices override these defaults. Any KEY press wakes suspend or sleep; the wake press is consumed until release. Deep-sleep wake starts a fresh boot.

Trackball movement is evaluated in fixed 80 ms windows. The first evaluation presses an arrow; continued rolling keeps it held, using setterm keyrate for repeat. Changing direction releases the old arrow before pressing the new one. The key is released after 80 ms without movement events. Short rolls that meet the minimum vector length produce a press and release. The direction follows the greater net horizontal or vertical movement within each window; opposite movements cancel. Equal diagonals use the most recently moved axis. Each evaluation uses the modifiers from its last movement pulse.

The board attaches the trackball expansion driver as trackball0 and starts the pointer-arrows job. The driver owns the four direction pins and publishes relative pointer movement. The job consumes that source and converts movement to the arrow gestures described above. To use relative pointer input directly:

job stop pointer-arrows

Restore arrow navigation with:

job start pointer-arrows source=trackball0

To reduce sensitivity, stop the job and restart it with, for example, job start pointer-arrows source=trackball0 min-vector=4. min-vector accepts 1..65535 and defaults to 2. Higher values require a longer net movement vector within each 80 ms window. Movement below the minimum releases the arrow and does not accumulate into the next window.

The push switch continues using the system KEY settings in either case. The board starts arrow navigation again at boot; a startup script can stop the job to select relative pointer input, or stop and restart it with a tuned min-vector, on every boot.

For Ctrl, hold Shift and Mic in either order, then press another key or roll the trackball. Shift selects the Ctrl chord and is consumed, so this does not also select text. Shift can be released while Mic continues acting as Ctrl; releasing Mic releases Ctrl. A plain Mic emits Tab on release, allowing the Ctrl chord to be recognized without triggering completion. Sym+Mic retains its digit 0 mapping.

Keyboard keys report their actual presses and releases, supporting held controls in foreground apps. Trackball arrows also report presses and releases; setterm keyrate controls repeat for typing and held trackball arrows.

The keyboard light starts disabled on every boot, retaining its saved brightness. Alt+B toggles the light for the current boot. Suspend and light sleep turn it off temporarily, then restore the user's on/off choice on wake. An explicit setterm backlight level or follow applies that setting for the current boot. Use setterm backlight 0 to turn off the keyboard light, or setterm backlight 100 for full brightness. Values from 0 to 100 set it independently of display brightness; setterm backlight follow makes it track the display. Alt+B does not save changes across reboots. When the configured brightness is zero, toggling on uses 50%. The setterm backlight query shows the configured brightness, including while the light is toggled off.

CL-32

ControlAction
Arrow keysCorresponding arrow key.
OKEnter — select/open.
CancelEscape — back/cancel where supported.
Hold FileLeft Alt modifier.
Hold MenuLeft Ctrl modifier.
File + Left / RightPrevious / next retained session on the focused display.
File+OKToggle full screen in shared text menus.
Tap Shift or FnCycle that modifier through one-shot, locked, and off.
Fn active + keypad 1–9 / 0F1–F9 / F10.
Fn active + Up / DownPage Up / Page Down.
Fn active + Left / RightHome / End.

One-shot Shift or Fn applies to the next key. Locked Shift or Fn remains active until you turn it off.

ODROID-GO

ControlAction
D-padCorresponding arrow key, when ADC D-pad support is included in the firmware.
AEnter — select/open.
BSpace.
SELECTEscape — back/cancel where supported.
MENUClose the foreground app.
VOLUMEToggle audio mute.

The built-in buttons do not provide a text keyboard or Alt/Ctrl modifiers. Use a compatible external keyboard or a port terminal for typing commands and combinations that need those keys.

See Boards for target capabilities and Input for input sources and keyboard layout settings. To customize a supported keyboard profile, use the website's Tools → Keyboard configurator.

Quick reference

Arrows navigate, Enter selects, and Escape goes back where supported. Close a local display app with Ctrl+Alt+Del; in a port terminal use Ctrl+]. Alt+Tab or Alt+Right selects the next local session; Alt+Left selects the previous one. Ctrl+Z suspends a resumable port app; fg resumes it. T-Pager: wheel is Up/Down, press is Enter, Space+Enter is Escape, held Space selects symbols, and held Caps is Shift. Its default profile lacks Left, Right, Tab, and Ctrl. T-Deck Plus: trackball supplies arrows and Enter, Mic is Tab, Shift+Mic is Ctrl, Alt+C is Escape, and Alt+Q closes the app. CL-32: OK is Enter, Cancel is Escape, File is Alt, and Menu is Ctrl. ODROID-GO: D-pad supplies arrows, A is Enter, B is Space, SELECT is Escape, and MENU closes the app.