Repository navigation
vRC2 — Release candidate 2
Pre-releaseHuman release notes from @ claussen
I am thrilled to announce the launch of Svalboard QMK, a plain QMK fork that is dedicated exclusively to Svalboard, integrating the substantial learnings of the past few years, and a new version of Keybard, now a fully-dedicated GUI configurator for Svalboard.
Svalboard QMK is available on Github as an alpha release at: https://github.com/svalboard/qmk
The initial Release Candidate (RC2) is here – the usual flashing procedure applies: https://github.com/svalboard/qmk/releases/tag/vRC2
Keybard, the GUI, lives at https://keybard.svalboard.com/
The original keybard repo has been moved to a preservation repo at: svalboard/keybard-legacy
Please note: Svalboard QMK does NOT support Vial or Via configurators.
svalboard/vial-qmk will be preserved, and you can always use it.
If you want a GUI for svalboard-qmk
Svalboard is a unique device and system – sophisticated dual pointing support with lego-style mix-and-match pointing device firmwares for different hardware options is something nobody else really seems to be doing – and it’s weird enough that there’s simply no point in trying to upstream it into QMK.
As such, I’ve made the decision to push farther away from mainline QMK in favor of new features for Svalboard users to accelerate development and product opportunities.
Opinionated decisions:
A new protocol layer on top of Via – allows multiple bidirectional communication channels within the RawHID stream, for new kinds of host-side app coordination. This protocol design by @ ilc is a real achievement – it enables a bunch of things nobody else has really given serious consideration, and is a genuinely elegant bit of embedded protocol design work.
No more Vial GUI or Via GUI support, ever. If you want to use those tools, you can always use svalboard/vial-qmk – it’s not going away, and is considered the stable version for anyone who needs maximum reliability and support.
No AVR support, ever. ARM only, and currently RP2040 only, with a minimum of that amount of RAM, and a bunch of extra flash memory just because.
We aren’t removing all the other stuff (like a thousand irrelevant board definitions) from the QMK repo, solely because it makes maintenance hellish, but nothing I’m building here will ever target non-ARM processors or other boards again. ARM is both cheaper than AVR and universally better.
Beyond that, as a user, there isn't much that's changing on the firmware side. You'll see tons of crazy new capabilities show up in Keybard, of course, and that’s where progress belongs – facing you, the user.
Buckle up. It’s gonna be a fast ride. 🙏
The rest of the release notes are AI-generated, with occasional human edits:
Svalboard QMK vRC2 (release candidate 2)
Svalboard QMK is the firmware behind Keybard, the browser-based configuration tool for Svalboard. Your layout, behaviors and pointing settings are stored on the keyboard, so they keep working after you close the editor.
Full guide: Make Svalboard your own with Keybard · What Svalboard QMK adds beyond Vial · The Sval protocol
New since vRC1
- Timing settings now take effect. Tapping term (global and per tap dance), combo term (global and per combo), quick-tap term, permissive hold, hold on other key, retro tapping, and one-shot timeout and tap toggle change key behavior as soon as you save them. Values you saved on an earlier release candidate start working after you update, so check them.
- Chordal Hold and Flow Tap, settable in Keybard. Chordal Hold replaces Vial's Achordion and, like it, is on by default: a mod-tap rolled with another key on the same hand types both letters instead of a shortcut. Turn it off in Keybard's settings if you prefer.
- Protocol guide: a diagram of how apps get, use and renew their identity with the keyboard.
Tested on hardware with the on-board key-event harness: every timing setting changes behavior on and off as expected.
Beyond Vial
Everything Svalboard's Vial firmware could do (editing tap dances, combos, key overrides, alternate-repeat keys, macros and QMK settings; DPI, scroll and Sniper keys) carries over. Svalboard QMK adds:
- More room: 256 entries each for tap dances, combos, key overrides, alternate-repeat keys and macros (Vial: 30–50), and more macro storage.
- Leader sequences, editable in Keybard.
- Settings that survive updates: a compatible layout no longer resets with each new firmware build, and supported Vial setups migrate automatically on first boot.
- Board identity: a saved board name and a serial number that stays the same through updates.
- More pointing control: Sniper toggles, Boost keys, per-pointer automouse with threshold and decay, natural scrolling.
- Layer colors in Keybard: choose each layer's lighting color in the editor.
- Idle power saving: lower scan rates, sensor rest modes and processor sleep while the keyboard is unused.
- Host layer access: companion apps can read the keyboard's active and default layer state and control which layer is active.
Which file to flash
Pick the file matching the sensor family and side of the half you're updating:
| Hardware | Files |
|---|---|
| Base board | svalboard_left_sval_vRC2.uf2, svalboard_right_sval_vRC2.uf2 |
| PMW3389 trackball | svalboard_trackball_pmw3389_{left,right}_sval_vRC2.uf2 |
| TrackPoint | svalboard_trackpoint_{left,right}_sval_vRC2.uf2 |
| Azoteq | svalboard_azoteq_{left,right}_sval_vRC2.uf2 |
| Empty base-board layout | svalboard_{left,right}_blank_vRC2.uf2 |
| PMW3360 trackball (deprecated: only for the few units shipped with this sensor) | svalboard_trackball_pmw3360_{left,right}_sval_vRC2.uf2 |
- Export a
.svilbackup in Keybard first. - Double-tap reset within 500 ms. The half appears as a drive named RPI-RP2.
- Copy the matching UF2 to that drive. Repeat for the other half.
Coming from Vial: Theoretically, at least, automatic migration supports svalboard/vial-qmk v2025-11-01 with the vial keymap. It brings across your layout, macros, programmable behaviors and supported settings. Older firmware may start with default settings. After upgrading, check your modifier preferences, timing and macros.
Current limitations
- Settings without effect: tapping toggle count, tap-code delay, tap-hold Caps Lock delay and the Grave Escape override are saved but don't change behavior yet.
- Auto Shift: not enabled in the standard firmware.
- Alternate repeat: modifier conditions and the default-alternate option have known matching problems. Check the output of custom mappings.
Technical findings and test results: firmware review.