Files
twislaandClaude Opus 5.5 6b71aace4f
CI / build (pull_request) Successful in 2m22s
Site / build (pull_request) Successful in 10s
SSH client: a terminal on another machine (#2)
The SSH App opens one session to a shell, over libssh (LibSSH-ESP32 5.10.0)
on mbedTLS. A server is trusted the first time on its fingerprint, and a
changed key is a warning with Cancel selected. The password is typed each
time and kept nowhere; or the device makes itself an Ed25519 key, whose
public half is shown, written to /ssh/id_ed25519.pub and printed by
`ssh status`.

lib/term is the terminal: what a shell, less, top, nano and vim send, with
sixteen colours, scroll regions, the alternate screen and 100 lines of
scrollback. Five text sizes with Ctrl and + or -, from 60x20 to 26x8, told
to the far end. The session goes on when the App is left; SSH shows in the
Status Bar. `ssh user@host` in the Shell opens the App.

Also:
- Keys that aren't characters carry Shift, Ctrl and Alt. The terminal needs
  it, and it makes Ctrl+Fn+up/down in a note and Shift+Tab in Gemini work
  from the real keyboard.
- IRC doesn't try to connect under 60 KB free: started with a session open,
  its TLS handshake took the heap down to 236 bytes.
- libssh's own curve25519 is left out of the build (scripts/libssh_filter.py):
  libsodium's has the same names.

Costs 292 KB of flash and about 50 KB of heap while a session is open; not
started under 75 KB free.

Docs: guide page, how-to, FAQ, home page, Status Bar, SD card folders, the
memory how-to, README, glossary, N1 notes with Q254 to Q266 and the checks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT
2026-10-08 04:38:36 +02:00

1.3 KiB

+++ title = "User guide" description = "How to use each App on the Cardputer: the keys, what the screens show, and what is written to the SD card." template = "guide-index.html" sort_by = "weight" page_template = "guide-page.html" +++

This guide says what the firmware does today and nothing else. Start with the basics (the keys, the Launcher, the first start), then read the page of any App. On the device itself, Fn + h lists the keys of whatever screen you are on: nothing else on a screen names them. It describes the latest release; the numbers and key names come from the firmware's own source.

The mesh messenger is planned, not built. The LoRa Scanner listens to Meshtastic traffic and shows it, but the device sends nothing yet: that is the next milestone and waits for a second node to test with.

Three things work on every screen: Fn + h for the keys, Fn + p for a screenshot, and Fn + ` to go back to the Launcher.

Two things keep running when you leave their App: IRC stays connected, and an SSH session stays open.

Looking for a recipe or a quick answer? There are how-tos and a FAQ.

Something missing or wrong? Write to the issue tracker or to contact@roro9stack.net.