Runs on the keyboard. Connecting reads it; applying edits changes it.
The Keybard
user manual.
Connect your board, make your first change, and learn every part of Keybard.

Written against Keybard 8d01073. Screenshots use the bundled example and may show fewer behavior slots than current firmware. Connected hardware exposes additional controls. All screenshots can be enlarged.
Start with a keyboard—or an example
Keybard lets you configure your Svalboard, organize layers, create advanced bindings, and set up an on-screen trainer. You can explore the editor before connecting hardware. This guide starts with one ordinary key change, then builds toward reusable layouts and reliable backups.
Choose a starting point on the welcome screen:
| Choose | What happens | Use it for |
|---|---|---|
| Connect Keyboard | The browser asks which keyboard to open, then Keybard reads its configuration. | Editing your connected Svalboard. |
| Load File | A saved layout opens as an offline draft. | Inspecting a backup or continuing exported work. |
| QWERTY Example | A bundled example opens without a keyboard. | Learning the controls safely. |

Three places your work can live
May include unsaved changes. The layout you see is not always what the board runs.
A copy you keep. Export downloads it; import reviews which parts can be applied.
Take the five-minute tour
- Choose QWERTY Example.
- If only icons are showing, click the logo at the top of the left navigation rail to reveal its labels. Hovering an icon also identifies it.
- Open Standard Keys and drag a letter from the palette onto the position you want to change. Release it and check the new legend.
- Switch layer tabs to see how the same physical positions can carry different bindings.
- Choose Export Layout in the editor toolbar if you want to keep your experiment.
Demonstrations play automatically when visible. Autoplay is enabled even when your system requests reduced motion.
Most illustrations use the bundled offline example. Captions explicitly identify connected controls shown with controlled test-board data. No screenshot is presented as proof of a hardware write.
Connect and protect your starting point
Welcome → Connect Keyboard → browser device chooser
Use a desktop browser that supports WebHID, such as Chrome or Edge, and a USB data connection. The connection button is unavailable when the browser lacks the required API. Keybard's browser editor expects compatible Svalboard firmware; seeing a keyboard in a device chooser does not establish firmware compatibility.
- Connect your Svalboard by USB, open Keybard, and choose Connect Keyboard.
- Select the intended keyboard in the browser's chooser and grant access. With several keyboards attached, check which one you selected.
- Wait for the layout to load. Hover the connection/update controls to check the editing target before changing anything.
- Choose Export Layout. Keep the native .svil (Recommended) and Include Macros enabled, then choose Export.
- Name the downloaded file clearly—for example,
before-first-edit.svil—and keep it somewhere you can find again.

Coming from an older configuration tool
Keep your existing layout backup before changing firmware. You can open a legacy .vil file offline to inspect it, but Keybard blocks direct import of old-protocol layouts into connected Sval firmware when keycode migration is required. Renaming the file extension is not a conversion.
For Svalboard Vial-QMK v2025-11-01 with the vial keymap, the firmware can migrate supported configuration on first boot. Follow the firmware upgrade instructions, connect in Keybard, and verify layers, macros, modifier options, timing and pointing settings. Then export a fresh native .svil. Other old or custom builds are not covered; keep the old file as a reference and recreate anything not migrated. A supported firmware migration is different from importing a legacy file in the browser.
Understand the editing target
| State | Meaning |
|---|---|
| Editing keyboard | Changes can be written to the connected device. |
| Offline draft | Changes affect the loaded file or example in this session. Export to keep them. |
| Pending changes | The editor has changes waiting to be written; the displayed layout may differ from the board. |
| Not saved | A write failed. Some writes may already have succeeded; follow the retry guidance. |
Make and verify your first change

Start with one easy-to-recognize binding on a known layer. Keep the keys you need for navigation and switching layers intact until you are comfortable restoring changes.

Choose when changes reach the board
Live Updating is on by default. While connected, ordinary queued edits are saved as you make them. For a controlled first experiment, use the lightning control labeled Switch to Manual Updates. You can then review pending edits before applying them.
| Control | Effect |
|---|---|
| Live Updating | Edits are saved as you make them; watch for saving or error messages. |
| Apply N Changes | Writes the pending changes in Manual mode. |
| Discard pending edits | Discards the current unsaved edits. It does not reverse changes already applied. |
| Switch to Live Updating | Applies pending changes before enabling Live Updating. |
- Select the layer you intend to edit.
- Open Standard Keys.
- Drag the replacement key from the palette onto the target position and release. Alternatively, select the position first and click a palette key.
- Check the resulting legend. In connected Manual mode, Pending (N) counts the edits waiting to be written.
- Choose Apply N Changes and wait for saving to finish. Do not assume a changed legend alone means the board was updated.
- Deselect the key, switch to a text editor, activate the appropriate layer, and test the result.
- Export the verified configuration as a new file.


Dragging an existing layout key onto another position swaps bindings, including across layers. Use this deliberately: it is different from copying a palette key. If an Undo button appears, its tooltip identifies the operation it can reverse; do not treat it as unlimited editing history.
Build a layout you can navigate
A layer is another set of bindings for the same physical key positions. Editing a layer tab changes what you are looking at in Keybard; using a layer binding on the physical keyboard changes what the keyboard types.
| Term | Meaning |
|---|---|
| Base/default layer | The starting layer used when no higher active layer provides a binding. |
| Transparent key | Looks through to a lower active layer for its binding. |
| Blank key | Produces no action at that position instead of falling through. |
| Momentary layer key | Activates another layer while held. |
| Layer-tap key | Types one action when tapped and activates a layer when held. |
Open Layer Keys for layer bindings. Start with a momentary key leading to a small navigation or symbols layer. Keep the activation key usable while that layer is active; a transparent binding at the corresponding position is often appropriate.


Build a simple navigation layer
- Choose an unused layer, such as layer 3, and assign a small group of arrow keys from Standard Keys. Make the other positions transparent if they should inherit the base.
- Return to the base layer and select a spare position for entering navigation.
- Open Layer Keys, choose Momentary (MO), and assign the tile for layer 3 to that position.
- Review and apply the edits, then deselect the target. In a text editor, hold the new key and try the arrows. Release it and confirm normal typing returns.
For a tap action on the same key, assign its desired tap key first, select the position again if needed, then choose Layer Tap (LT) and its destination. The composer derives the tap action from the selected position.
| Layer Keys choice | When to use it |
|---|---|
| Momentary · MO | Activate a layer only while held. |
| Layer Tap · LT | Send a key on tap; activate a layer on hold. |
| Toggle Layer · TG | Turn a layer on or off with a tap. Keep a way to toggle it off. |
| Tap Toggle · TT | Hold momentarily, or tap the configured number of times to toggle. |
| One Shot Layer · OSL | Activate a layer for the next key. |
| To Layer · TO | Replace other active layers while retaining the default. Plan a return binding. |
| Default Layer · DF | Change the base for this power session. |
| Persistent Default Layer · PDF | Save the chosen base across power cycles. |
Name, inspect, and reuse layers



Click a layer name to rename it. Use its color control to make related layers easier to recognize. The layer's actions menu offers Copy Layer, Paste Layer, Make All Blank, Make All Transparent, and conversions between blank and transparent keys. Whole-layer operations affect many positions; check the target layer first.
Show Multiple Layers helps compare layers. 3D View changes their presentation. Hide All Transparent Keys helps inspect inherited bindings; it does not rewrite those transparent keys. Show All Layers reveals layers hidden by the transparent-layer filter.
- Open a layer's actions menu and choose Save Layer... to put a reusable copy in the local Layouts library.
- Open Layouts and expand a saved or imported layout.
- Drag the desired layer onto the destination layer in the editor.
- Read the replacement confirmation and confirm only when the destination is correct.
- Review and apply the resulting changes according to your update mode.

Start from a layout Svalboard provides
Layouts → sval-alt-alphas or sval-num-sym-layers
Besides your own saved layers, Layouts lists groups provided by Svalboard. Use any of their layers the same way as a saved one: drag it onto a layer in the editor.
| Group | Layers | What they are |
|---|---|---|
| sval-default | The stock layers | The standard Svalboard layout, for getting back to a stock layer. |
| sval-alt-alphas | Dvorak, Colemak, HD Promethium, HD Neu, Graphite | Base layers for alternative letter layouts. Each is the stock base layer with only the letters and that layout’s own punctuation moved, so your thumb keys and layer keys stay where they were. HD Promethium puts R on a left thumb key; Graphite adds Repeat on a right thumb key. |
| sval-num-sym-layers | Home-row numbers (default NavNAS), Left-hand tenkey + right-hand nav | Two numbers, symbols and navigation layers. The first is the factory NavNAS layer from the Svalboard firmware, with 1–0 on the center keys, shifted symbols above them and navigation below. The second puts 1–0 under the left hand as a tenkey, with arrows on the right home row. Their thumb keys are Transparent, so your base layer’s thumb keys keep working. |

- Export a backup first if you are changing a layer you rely on, such as your base layer.
- Select the destination layer in the editor. For a letter layout this is usually layer 0; for a numbers layer, the layer your NavNAS key opens (layer 1 in the stock layout).
- Open Layouts and type a name, such as Colemak or tenkey, in the search box.
- Drag the layer’s preview onto the destination layer’s name. Read the confirmation, which names both layers, and choose OK.
- The destination keeps its own name but takes the layer’s color; rename it if you like. Review and apply the changes according to your update mode.

To try a letter layout without giving up your current one, drag it onto a spare layer instead, and add a Default Layer · DF key for that layer from Layer Keys. DF changes the base until the board restarts. You can also drag single keys out of a preview onto a position in your layout. Deleting a Svalboard group from Layouts is not permanent; Keybard adds it back.

Transparent keeps the key underneath. Blank turns it off.
Suppose a position types A on your base layer. You hold a key to activate another layer. What should that same position do while you hold it?
Keep typing A
Set that position to Transparent on the upper layer.
Press this position → A
Make this position do nothing
Set that position to Blank on the upper layer.
Press this position → nothing
Release the layer key: you return to the base layer, so this position types A again in both cases. Blank disables it only while the upper layer applies.
If you assign a different key—such as 1—on the upper layer, the position types 1 while that layer is active.
Give a key more than one job
Special Keys groups additional actions such as media and system controls; Layer Keys and Mouse Keys have their own palettes. Use the same select-and-assign or drag-and-drop interaction as Standard Keys.
A normal assignment sends a key. A behavior can send a sequence, distinguish a tap from a hold, or recognize several keys together. Start with one small example, verify it in an empty document, and then build on it. The maintained Svalboard firmware provides 256 slots each for macros, tap dances, combos, overrides, alternate-repeat mappings, and leader sequences. Available entries depend on the firmware or file you have loaded.
Macros: send a short sequence
Macro Keys → edit a slot
A macro runs its actions in order. Begin with something harmless, such as the text “hello”. You can author a macro in an offline layout; executing it requires assigning it on a connected board.

- Open Macro Keys and edit an unused numbered entry. In the compact bottom-panel presentation, the plus control opens an empty entry.
- Add Text and enter
hello. Give the macro a useful name by clicking its title where renaming is available. - Close the editor. Select a spare position in your layout, then choose that macro’s numbered key tile, or drag its tile onto the position.
- Apply queued changes if necessary. Deselect the assignment and focus an empty document. Press the physical key once; it should type your text.
- Return to the editor to add actions only after the small example works. Export a fresh backup when you are happy with it.
Key Tap presses and releases a key. Key Down holds it, and Key Up releases it. Delay inserts a pause in milliseconds. For a chord, use a modifier down, a key tap, and a matching modifier up. Always balance held keys with releases. Macro storage is shared across entries, rather than a separate fixed allowance for each macro.
Text macros send keyboard input, not clipboard contents. The operating system’s keyboard layout affects the resulting characters; do not assume arbitrary Unicode text will work. Start with simple text and test punctuation in your actual OS layout. Avoid using passwords or other secrets as examples: a macro and an exported configuration are not a secure secret store.
Tap dances: tap, hold, or tap twice
Tap Dance Keys → edit a slot
A tap dance gives one physical position several outputs. A simple learning example is Tap: A and Double-Tap: B, with unused actions left empty. This makes the difference easy to see in a scratch document.

- Open an unused entry in Tap Dance Keys.
- Select the Tap slot and assign A. Select Double-Tap and assign B. Hold is a sustained press; Tap-Hold is a tap followed by a held press.
- Review the timing field and leave Enabled on. Avoid changing timing and every action at once.
- Close the editor and assign the entry’s tap-dance tile to a spare keyboard position. Apply queued changes.
- Deselect and test a single tap, then a quick double tap in an empty document. Adjust the timing if your deliberate double taps are being separated.
Release before editing. Release a held tap-dance key before changing its action. The launch firmware has a known edge case where editing a held dance can leave its previous output held.
Combos: press a small chord
Combos → edit a slot
A combo recognizes up to four input keycodes pressed within its timing window, and emits an Output. For example, A and B together can send Escape. These are keycode triggers, not a named pair of physical positions: consider where those assignments appear in your layers.

- Choose an unused combo. Fill the first two input slots with A and B and choose Escape for Output.
- Leave the remaining input slots empty and enable the entry.
- Apply changes. Deselect, focus a safe test window, and try each key separately before pressing them together.
- If the chord is difficult to catch, review Combo Timeout in the Combos panel while connected. Increase it cautiously: a generous window may catch ordinary typing rolls.
Choose combinations that are comfortable but uncommon in your normal text. After verifying the mechanics, replace the demonstration with your preferred inputs. There is no separate assignment step beyond having those input keycodes available on the keyboard.
Modifiers, mod-taps, and one-shots
Standard Keys → Modifiers → Mod, Mod-Tap, and One-Shot Mod
A modifier chord, a held modifier, and a mod-tap are different tools. A chord such as Ctrl+C sends a shortcut. A mod-tap can send A when tapped and hold Control when held. A one-shot modifier lets you tap Shift, release it, and then type a shifted key without holding both keys together.
- For the A/Control example, first assign A to the target position then select that position again if assignment cleared the selection.
- In Standard Keys, select Control under Modifiers. The constructed keys use the currently selected position’s base assignment.
- Choose the generated Mod-Tap tile. Do not choose the standalone modifier or one-shot tile by mistake.
- Apply changes, deselect, and test a tap in a scratch document. Then hold the key while pressing another key to verify the modifier behavior.
For a one-shot Shift, choose Shift and the generated one-shot tile instead. Test by tapping that key, releasing it, and typing a letter. Modifier controls include left/right choices; other composer presentations offer MEH (Control, Shift, Alt) and HYPER (those plus GUI). GUI is the Windows/Command-style modifier interpreted by your OS.
Use QMK Settings → One Shot Keys to review timeout and repeated-tap locking. Mod-tap decisions also depend on the Tap-Hold settings described below. Test typing rolls as well as isolated presses; a configuration that works slowly can feel different at speed.


Overrides: change an action under a modifier
Overrides → edit a slot
An override replaces a trigger when its modifier and layer conditions match. A useful example is Shift+Backspace producing Delete. It changes how an existing assignment behaves, so you do not place an “override key” in your layout.

- Set Trigger to Backspace and Replacement to Delete.
- In the Trigger modifier tab, select the Shift modifier you use. Review handedness if you use both Shift keys.
- Use Suspended for the triggering modifier you do not want included with the replacement. Negative specifies modifiers that prevent the override; leave it empty for this basic example.
- Select the intended Layers, enable the entry, and keep advanced activation options at their existing defaults unless you have a reason to change them.
- Apply, deselect, and test against expendable text: Backspace should retain its normal action, while the configured Shift combination should perform Delete.
Leaders: type an ordered sequence
Leaders → Leader key and sequence entries
A leader sequence is ordered input after a dedicated Leader key. Unlike a combo, its keys are typed in succession. For a harmless first example, Leader, A, B can trigger a macro that types “hello”.

- Create and test the simple text macro first.
- Open Leaders. Assign its Leader tile to a spare position.
- Edit an unused sequence. Set its first two keys to A and B, and its Output to your macro. Enable it. Sequences allow up to five keys.
- While connected, review Leader Timeout. Per-key timing resets that timeout after each key; otherwise the sequence shares its time allowance.
- Apply, deselect, focus a scratch document, and press Leader followed by A then B within the allowance.
Alternate repeat: associate two actions
Alt-Repeat → edit a mapping
Alternate repeat uses the remembered key to choose an alternate action. For exploration, map A to B and assign the alternate-repeat action to a spare position. After typing A, invoke alternate repeat and inspect the result in a scratch document.

- Choose an unused entry, set Trigger to A and Alternate to B, and enable it.
- Assign the alternate-repeat action from the panel to a physical position. Apply the changes and deselect.
- Test the simple mapping before exploring Bidirectional, Ignore mod handedness, or Default to alternate.
The launch firmware has known defects involving modifier matching and default-alternate behavior. Treat custom mappings as something to verify, especially with modifiers; do not depend on an untested mapping for a critical shortcut.
Set up your pointing devices
Pointing Devices
Connect the board to see its sensor-specific controls. A loaded file can supply assignable pointing keys through the picker, but offline previews cannot demonstrate sensor behavior. The controls and ranges depend on the installed pointer, so your panel may differ from the example.

- Start with ordinary pointer movement. Adjust the left or right sensitivity in small steps, applying queued edits as needed.
- Test scrolling and its direction. Review per-side scrolling controls, axis lock, and natural scrolling where available.
- Assign a Sniper hold key to try slower, precise movement. Boost does the opposite. The 2×, 3×, and 5× versions choose the factor; toggle versions stay active without holding the key.
- If you use automouse, confirm its target layer contains useful mouse bindings and a comfortable way back to ordinary typing. Check which pointer may activate it, then tune threshold, decay, and timeout one at a time.
- Verify normal movement, scrolling, and layer return before exporting a backup.
Mouse Keys are keyboard-generated mouse movement and button actions; they are not the same as physical sensor sensitivity. TrackPoint recalibration applies to TrackPoint hardware. Avoid copying a sensitivity number between different sensor types and expecting identical movement.
Known firmware edge cases include buffered scrolling, combinations of speed factors, and disabling an active automouse layer. Keep the first configuration simple and verify the behavior you actually use.
Settings, timing, and board identity
Settings → General → QMK Settings…


Settings has four sections: General, Fragments, Backups (see Automatic backups) and Developer. Browser choices include appearance, assignment behavior, and international palette selection. Choose a palette matching your OS keyboard layout; this does not change the OS layout itself. Settings → Fragments selects the finger and thumb assemblies used to draw your board. It describes the installed arrangement rather than rewiring it.
For timing, export a baseline first. Change one control, apply it, and test both slow deliberate presses and normal typing. Tapping Term influences tap-versus-hold decisions. Quick Tap Term affects repeated dual-role tapping. Permissive Hold (new), Hold On Other Key Press, and Retro Tapping (new) control how other presses and releases affect that decision. Chordal Hold uses the hand relationship between keys; Flow Tap can favor taps during rapid typing and is off at zero.
Tap Code Delay controls generated tap duration, Tap Hold Caps Delay handles generated Caps Lock taps, and Tapping Toggle controls TT’s tap count. Their launch defaults are 0 ms, 80 ms, and five taps; a stored toggle count of zero behaves as one. Grave Escape provides separate “Always send Escape” options for Alt, Control, GUI, and Shift.
A visible setting is not a guarantee that a firmware feature is enabled. Standard launch builds do not include Auto Shift, and some mouse-key settings have no runtime consumer. Use the launch notes for those limits rather than repeatedly adjusting an ineffective field.
Where supported, Board name changes how the keyboard appears to your computer. Save now writes immediately, even in manual mode; restart the keyboard for the USB name to change. Apply or export outstanding edits before restarting. Board identity is separate from a layout backup.
Settings → Developer → Scan Lab… is for advanced scanning, power, and firmware diagnostics. Its timing application and bootloader controls can affect hardware immediately. For a simple “does this switch register?” check, use Matrix Tester instead. Power estimates are not battery-life measurements, and longer idle intervals can delay the first response after inactivity.

Check every physical switch
Editor toolbar → Matrix Tester
- Connect the board and open Matrix Tester from the toolbar.
- Press each finger direction and each thumb key, holding briefly so the polling display can see it. Compare the highlighted position with the one you pressed.
- Use Clear Matrix to clear the visual test history and try again. It does not erase your layout or board settings.
- Exit Matrix Tester to return to editing.
This is a physical-switch check, not a monitor of the final text produced by macros, combos or tap dances. Very brief presses can fall between snapshots. If the matrix sees the switch but typing is wrong, inspect its layer and binding rather than assuming the switch failed.

Print a desk reference
Open Settings → General → Print Layers…. Review the non-empty layers and choose Print, then use the browser’s print dialog to print them or save a PDF. A printed diagram is a learning reference; export a .svil as well for an editable backup.

Back up and import with confidence
Keybard keeps two kinds of backup. Automatic backups are snapshots Keybard saves on its own while a board is connected. Exported files are copies you make yourself and keep wherever you like. Use both: automatic backups catch the change you forgot to save, and an exported file survives a new computer or a cleared browser.
Automatic backups
Settings → Backups
Nothing needs to be turned on. While a board is connected, Keybard saves a snapshot of its configuration:
- when the board connects and finishes loading, before you change anything;
- about 10 seconds after your edits stop;
- when you switch to another tab or close Keybard within those 10 seconds.
A snapshot holds the same information as an exported .svil file. If nothing changed since the previous snapshot, no new one is added.

Backups are grouped by board, with the connected board first. Keybard tells boards apart by their USB serial number (or, with older firmware, the keyboard’s ID), so two Svalboards keep separate histories even if they share a name. Each entry shows:
| Shown | Meaning |
|---|---|
| Date and time | When the snapshot was saved. |
| Connected or Edited | Saved when the board connected, or after you edited it. |
| Change summary | What changed since the previous backup of this board, such as 2 keys, 1 macro. The first backup of a board says As loaded. |
| Unsent (N) | The snapshot includes N edits that were still pending in Manual Updates. Restoring it brings those edits back, even though the board never received them. |
The newest eight backups of each board are shown; Show all lists the rest. Keybard keeps every backup from the last 24 hours, the latest backup of each day for 30 days, and after that the latest of each month. The most recent Connected backup is always kept.
Restore, download or delete a backup
- Restore opens the same Review layout import used for files. In Manual Updates, Stage import adds the differences to your pending changes; nothing reaches the board until you choose Apply N Changes. In Live Updating, Apply import writes them to the board straight away. Apply or discard pending edits before you restore.
- The download button saves the backup as a
.svilfile. - The delete button removes that backup after you confirm.

Keep a copy in a folder
Automatic backups live inside the browser. To also keep them as ordinary files, choose Choose backup folder in Settings → Backups, pick a folder, and allow Keybard to edit files there. This needs a browser that lets websites save to a folder, such as Chrome or Edge; elsewhere the button is unavailable.
- Each board gets its own subfolder, named after the board and its serial number.
latest.svilalways holds the newest backup. There is also one file per day with changes, named by date, such as2026-10-03.svil.- Dated files are kept for 30 days, then one per month. Keybard only deletes files it wrote itself; anything else you put in the folder is left alone.
- Renaming a board starts a new subfolder. The old one is left as it was.

Browsers ask again before a site may keep writing to a folder. When that happens, Settings → Backups shows Paused and a Resume backups button. Choose it, and if the browser offers Allow on every visit, choose that so later visits continue without asking. Backups made while paused are written when you resume. If the folder was moved or deleted, Keybard shows Folder not found; choose a folder again. Change folder switches to another folder, and Stop using folder stops writing files. Files already written stay where they are, and the browser's own backups continue.
.svil and keep it somewhere outside the browser.Export and import files
Editor toolbar → Export Layout or Import Layout
Use native .svil for your working backups. The legacy .vil export retains QMK settings, but does not preserve all Sval-specific hardware values and metadata, including names, colors, and cluster selections.
| Operation | What it preserves or changes |
|---|---|
| Export Layout | Downloads the editor's current configuration, including staged work. |
| Load File on welcome screen | Opens an offline draft; does not write a board. |
| Import Layout in editor toolbar | Reviews configuration changes for the current target. |
| Restore in Settings → Backups | Opens the same import review for an automatic backup. |
| Import in Layouts panel | Adds reusable layouts to the browser library. |
| Save Layer... | Saves one layer locally for reuse, not a complete device backup. |
Import a compatible backup onto a connected keyboard
- Connect the destination board and export its current configuration before making changes.
- Apply or discard pending edits before beginning an import.
- Choose Import Layout, select the file, and read Review layout import.
- Check the destination, counts, warnings, and errors. Back up current layout is available in the review.
- In Manual mode, choose Stage import, review pending changes, then Apply. In Live Updating, Apply import writes the changes. Offline, Open layout replaces the current draft.
- Check the imported bindings and test important actions before relying on them.

Import is not a complete device-image restore. The current importer keeps the board's alt-repeat entries, leaders, one-shot configuration, layer colors, and fragment state. It reports unsupported fields and settings. Entries beyond the incoming file's layers and tables are kept rather than erased.
A file may be rejected for mismatched matrix dimensions, too many layers or table entries, incompatible keycodes, unsupported macro content, or capacity limits. Read the specific message instead of forcing the file through. Native backups preserve information even when a particular field cannot yet be restored automatically.
Trainer and the desktop overlay
Trainer, directly below Layouts
Trainer previews the appearance and controls the optional desktop overlay. The browser is useful for choosing a style or reviewing an offline layout. Keybard Host supplies the native transparent window above your other applications and reads live board state directly. Its board operations are read-only.


Install and show the Windows overlay
- Select Download for Windows at the top of Trainer. Extract the ZIP and run Start-Windows.cmd.
- Allow the first launch to download its private runtime. It needs internet, but no administrator rights, system Python, or PATH changes.
- The app opens Keybard. Connect your keyboard normally and select Trainer. If needed, use Connect to Keybard Host and allow the browser’s local-device access request. The install panel also links to local Keybard when Host is running.
- Choose the board in the host selector and use Show overlay. Host remembers its selected board for reconnection.
- Drag the overlay into place. In Overlay, optionally enable Click through keyboard; the small handle remains available for moving or hiding it. Place at bottom provides a convenient starting position.
The companion stays in the system tray when you close the browser. Use Hide overlay or the overlay’s handle controls to get it out of the way. After editing the keyboard layout, choose Reload layout so the companion refreshes its cached copy. If reconnection fails, check the host board selection and USB connection rather than importing a different layout to mask the problem.
The Windows download is a portable preview, not a signed installer. Linux source launch is available, with Wayland limitations for placement, stacking, click-through, and modifier reporting. macOS remains unverified; equivalent validated packages for all platforms are not promised.
Choose what you can see
Start with an Appearance preset, then adjust Key fill, Outline, and Legend colors and opacity independently. Try Contrasting legend halo over busy backgrounds. Use Outline thickness for definition without making the fill more opaque. Hands and Overlay size are in Overlay.
In Feedback, choose Layer-change highlight: Off, Quick flash, or Short fade, and its duration. Enable Highlight held keys for a matrix-tester-like indication. Matrix polling can miss very brief taps and does not describe every generated macro or combo output. The preview’s Preview held keys button simulates a chord.
Current firmware reports active and default layers automatically, including changes during use. Older firmware may require Default layer (older firmware). For offline previews, choose Default layer and Preview layer. Layout source distinguishes a loaded snapshot, editor draft, example, imported trainer layout, and a live read-only board. Import for trainer changes the preview source; it does not write that file to the keyboard.


Practice recall without recording your typing

- Open Practice and enable Recall practice. Read the requested binding and hand, and decide where you would press.
- Choose Reveal, then Remembered or Again to advance. This is not an automatic typing test.
- For selective help, choose a key in the preview or the binding selector, click Mark familiar, and enable Hide familiar legends.
- Turn practice off to return to ordinary reference. Closing the temporary controls also returns the desktop overlay to reference mode.

Recall counts and familiar selections are temporary practice state, not a durable learning-history service. Appearance preferences are saved separately. When following the board, recall can also hide desktop legends; otherwise you are practicing against the selected preview layout.
Return to your work
After a refresh, Keybard intentionally returns to the welcome screen. Previously permitted keyboards can appear under or reconnect without the chooser. Select the correct device to read its saved state again.

Connected boards are also backed up automatically. If you forgot to export, open Settings → Backups: each board’s recent sessions are listed there, in this browser. See Automatic backups.
To continue offline work, choose Load File and reopen your exported draft. Browser preferences and the local Layouts library can persist, but they are not an automatic recovery copy of the current editor session.
Before each editing session, check the target, update mode, selected layer, and whether a key is selected. Use a small naming convention for backups: one before a major change, one after verification. Keep both until the new layout is comfortable.
Recover from common problems
I cannot connect
Check WebHID browser support, the USB data connection, the chosen device, and compatible firmware. Close other configuration applications if they are holding the device, then reconnect. A previously granted browser permission is not proof that the cable, firmware, or current device connection is working.
The layout changed, but typing did not
Check whether you are editing an offline draft or have pending Manual changes. Confirm the physical keyboard is on the layer you edited. Transparent keys may inherit a different binding, and a layer-tap key waits to distinguish a tap from a hold.
Typing unexpectedly changed a binding
Deselect the target and check Typing Binds a Key. In Manual mode, discard unwanted pending edits. If a change was already applied, explicitly restore the previous binding; discarding does not undo saved writes.
A save failed
Read the Not saved message. Pending edits remain, and some earlier writes may already have succeeded. If still connected, use Retry. If the device disconnected, export the retained draft before reconnecting. Reconnection reads the board again and may discard pending edits. An automatic backup saved after your edits also holds them, marked Unsent. Compare that state with your saved draft, then review an import if appropriate, observing the restore limitations above.
A name will not save
Layer, macro and tap-dance names have a 16-byte UTF-8 limit on supported firmware. Accented characters and emoji can use several bytes each. Shorten the name and read the error. A board’s USB name is a separate setting with its own limits.
Controls or layers seem missing
Expand the navigation rail, reveal Show editor controls if the toolbar is collapsed, or use Show All Layers. Some settings depend on firmware capabilities and attached hardware; an offline example cannot demonstrate every connected-device function.