Files

Fenrir keyboard layouts

Both Linux console and X11 terminal modes use the TOML layouts in this directory:

The Fenrir key is Insert, Super/Windows, or keypad 0 with NumLock off.

Selecting and customizing a layout

Select a layout at launch:

./fenrir --keyboard-layout laptop
./fenrir -x --keyboard-layout /path/to/custom.toml

Or set the startup choice in settings.toml:

[keyboard]
layout = "laptop"

For a named layout, Fenrir searches the regular user's ~/.local/share/stormux/fenrirscreenreader/keyboard/, then /etc/fenrirscreenreader/keyboard/, then config/keyboard/ beside the binary. Root searches the system and bundled locations. The first existing layout is loaded as a complete file; layouts are not merged. Copy a bundled layout as the starting point for customization. Layout changes apply on the next launch.

Each binding has a label, a key chord, and a command ID:

version = 1

[[bindings]]
name = "Current word"
keys = ["FENRIR", "K"]
command = "current_word"
double_command = "spell_word"
triple_command = "phonetic_word"

This is a minimal example, not a complete replacement layout. Optional double and triple commands run on successive quick presses of the same chord; a triple command requires a double command. The default multi-press interval is 200 ms, configured by keyboard.multi_press_timeout_ms.

Put modifiers (FENRIR, CTRL, SHIFT, ALT) before the final key. Use key names from the bundled layouts, such as SPACE, RIGHT, KP8, and KPASTERISK. Chords outside the bare review keypad keys require FENRIR. Unsupported keys, unknown commands, and duplicate chords are rejected.

Validate a custom layout without opening devices:

./fenrir --keyboard-layout /path/to/custom.toml --check-config

Common shortcuts

Action Desktop Laptop
Previous / current / next line Keypad 7 / 8 / 9 Fenrir+U / I / O
Previous / current / next word Keypad 4 / 5 / 6 Fenrir+J / K / L
Previous / current / next character Keypad 1 / 2 / 3 Fenrir+M / Comma / Period
Read screen Fenrir+Keypad 5 Fenrir+Shift+K
Follow cursor Fenrir+Keypad Period Fenrir+Slash
Cycle cursor / table / highlight tracking Fenrir+Keypad Asterisk Fenrir+Y
Toggle progress tones Keypad Plus Fenrir+Shift+P
Set reading window; double press to clear Fenrir+Keypad Slash Fenrir+Control+8

Both layouts use Fenrir+F for settings, Fenrir+H or Fenrir+F1 for the tutorial, and Fenrir+Control+S to save settings. The tutorial describes loaded shortcuts and lets you browse unbound commands.

In table mode, word navigation moves between cells. Numeric tables can use visible headers automatically. Review starts at the first data cell when a recognized table is at or immediately above the application cursor. Fenrir+X selects the current row as headers, overriding automatic selection. Fenrir+Control+Shift+X clears headers and disables automatic selection until table mode is re-entered or the screen session changes. Outside table mode, Fenrir+X places a text-selection mark.

See the user manual for clipboard, reading-region, spellcheck, and menu workflows.