Helm Keyboard
Modify Helm Design
Applied
Gamepad Simulator
Virtual controller
Use this panel to test without physical hardware.
Joystick
X 0.00 · Y 0.00
D-pad (B12-B15)
Mapped buttons
These follow current Gamepad mapping settings.
Simulator ready.
⌬

Settings

◉

Sailor Mood

Glossaries

Glossary JSON format: {"name":"...", "description":"...", "words":["term","multi word note", ...]}

How it works?

Quick User Guide (Non-Technical)

What is Helm Keyboard?
A radial-first writing app for keyboard, mouse/air-mouse, and gamepad workflows. It helps you write faster with suggestions, variants, and adaptive learning.
Fast start
Type in the editor, click suggestion chips to complete words, and use radial modes for letters/numbers/symbols/emojis.
Example: type "pro" and pick "project" from suggestions.
Learning behavior
The app learns from your writing and can learn bigrams (next-word pairs), including suggestion-driven learning if enabled.
Example: repeated "machine learning" increases chance of "learning" after "machine".
Save, backup, restore
Save notes to history, export backups as JSON, and restore your data later.
Recommended: backup periodically from Menu > Backup.
Public docs for GitHub
Two Markdown docs are included for publication: user-oriented and deep technical reference.
README.md · README-TECHNICAL.md

Technical Reference (Complete)

Architecture
Single-file SPA (HTML/CSS/JS) with an IIFE runtime, direct DOM updates, and localStorage persistence. Main layers: UI surfaces, input handlers, suggestion/learning engine, settings subsystem, import/export pipeline.
Goal: deterministic behavior with local-first data and no backend dependency.
State and persistence
Core stores: settings, userDict, history, bigrams (pair+meta), glossaries, presets, sailor palettes, draft text, backup timestamps. All stores use normalization helpers for backward compatibility and safe defaults.
Pattern: load -> normalize -> mutate in memory -> saveJSON -> targeted rerender.
Input engine
Supports keyboard shortcuts, pointer selection, optional dwell activation, and optional gamepad control. Radial navigation uses ring/segment targeting and utility focus states.
Gamepad mapping is fully configurable (buttons, deadzone, repeat, axis mode).
Suggestion engine
Multi-source ranking: user dictionary frequency + active glossary entries + bigram next-word candidates in PREFIX_NEXT mode. Supports case/diacritics normalization toggles and class-based letter filtering.
Modes: PREFIX (current token) and PREFIX_NEXT (current token + previous-word prediction).
Learning and bigrams
Words are learned from delimiters/copy/save/manual flows. Bigrams are case-sensitive and track metadata provenance (text, suggestion, manual, mixed). Suggestion-click learning can be toggled.
Bigram panel updates live when learning occurs.
Radial + variants subsystem
Modes: LETTERS, NUMBERS, SYMBOLS, EMOJIS. Letter variants include accents and optional extra forms. Symbols use smart spacing rules. Crown/center actions vary by context and settings.
Directional and encapsulated navigation improve accessibility workflows.
Gamepad implementation notes
Navigation supports dpad and axis traversal (circular/coordinates). Runtime includes press-edge detection and repeat timing. Utility focus can switch between radial and suggestion/variant targets.
Settings, presets, and themes
Supports built-in and custom presets, import/export, sailor mood palettes, layout controls, typography scaling, and behavior toggles for all major systems.
Normalization keeps imported/outdated payloads compatible.
For complete recreation
Use README-TECHNICAL.md for full implementation-level documentation, including component boundaries, data contracts, runtime flows, and behavior expectations for AI-assisted rebuilds.
Open technical reference

Support

Backup JSON

File

Filename
Default uses the current backup naming format. You can customize it before export. The .json extension is added automatically.
Reminder rule
Only complete backups (all sections selected) update Backup Reminder memory. Partial backups are user exports and do not reset reminder tracking.
Complete backup selected.

Select Sections

Restore JSON

Important

Overwrite warning
Selected sections overwrite current local data unless the corresponding merge option is enabled for that section.
Use merge for additive restore where available. For duplicate counters (User entries and Bigrams), merge keeps the highest value and does not sum.

Backup Metadata

backupVersion
Schema version of the selected backup file.
-
exportedAt
Original export timestamp from the selected backup file.
-

Select Sections