Keyboardio Model 100 with German QWERTZ: Keycaps, Chrysalis, and OS Layout Explained
Two separate problems, one keyboard
Switching to a German layout on a Model 100 that shipped with QWERTY keycaps means dealing with two distinct things: the physical labels on the keys, and what the keyboard actually sends to your computer. They’re solved differently. Mixing them up leads to a situation where the key you press doesn’t match what appears on screen — confusing and fixable, once you know to treat them separately.
Official QWERTZ keycaps — from Keyboard.io’s own shop
The concern about third-party caps not matching the board’s look is fair. Keyboard.io sells an official QWERTZ keycap set for the Model 100 directly in their shop. These are molded specifically for the Model 100 — they don’t fit the older Model 01, and generic third-party caps won’t fit the Model 100 either. Material is thick ABS with UV-resistant coating, same design language as the default set. No aesthetic mismatch.
Stock has been known to come and go. The set has appeared as sold out at various points, so check availability and consider a restock notification if needed.
Swapping the keycaps
No tools. The keycaps pull off by hand. Rearrange to QWERTZ positions and the physical layer is done.
Making the keyboard actually type German
Keycaps are just labels. The firmware sends USB HID keycodes to your OS, which interprets them according to whichever layout is currently active. You can handle the translation at the OS level, at the firmware level, or split the work between both. All three approaches work.
Option A: Switch the OS to German QWERTZ
Windows, macOS, and Linux all let you add a German keyboard layout in system settings. Once active, the OS remaps incoming keycodes automatically. The classic QWERTZ Y/Z swap gets handled entirely in software — no firmware changes needed. Fast to set up.
The gap: a standard German ISO keyboard has dedicated positions for ü, ö, ä, and ß that the Model 100 doesn’t replicate one-for-one. The board has 64 keys and a different physical shape than a full ISO German board. Those characters are reachable via the built-in function layer or by reassigning keys you rarely use — Page Up and Page Down are common candidates. The Keyboard.io community forum has worked through several mapping schemes in detail.
Option B: Remap in Chrysalis, keep the OS on QWERTY
Chrysalis is Keyboard.io’s graphical configurator. It runs as a web app in Chromium-based browsers via WebSerial and WebUSB, connects to the Model 100 over USB, and lets you reassign keys visually. No code required.
One thing worth understanding: Chrysalis assumes a US QWERTY layout on the host OS side when it labels keycodes in the interface. If you also switch your OS to QWERTZ, some characters get remapped twice and produce wrong output. The cleanest setup is to keep the OS on QWERTY and do all the translation inside the firmware. Your keyboard then behaves consistently on any machine without needing per-computer OS configuration changes.
The trade-off: German-specific characters like ü, ö, ä, and ß don’t have standard HID keycodes of their own. You reach them via compose key sequences, AltGr combinations, or Unicode entry methods — still configured at the OS level, even when the base layout stays QWERTY. More upfront work, but the result is a self-contained keyboard that just works wherever you plug it in.
A practical path for most people
For someone who wants to get typing without a deep firmware project:
- Get the official QWERTZ keycap set from the Keyboard.io shop and swap the caps by hand
- Switch the OS input language to German (QWERTZ)
- Open Chrysalis and reassign any keys that still land wrong — especially to get umlauts and ß onto convenient spots
This hybrid is the fastest path to a working setup. The OS handles the main letter and number remappings; Chrysalis fills the gaps. Keeps the firmware changes minimal.
If you regularly switch between machines and don’t want to configure German input on each one, doing everything at the firmware level is cleaner in the long run. More setup once; no OS configuration needed anywhere after that.
The Kaleidoscope layer underneath
Chrysalis handles what most users need. For deeper customization — macros, multiple key layers, tap-vs-hold behavior, custom LED effects — the underlying firmware is Kaleidoscope, built on Arduino. You edit it in code, compile, and flash. The Model 100 hardware documentation is well-maintained. Not required to get German typing working, but useful to know it’s there when you want it.
Sources
- shop.keyboard.io
- shop.keyboard.io
- shop.keyboard.io
- github.com
- github.com
- kaleidoscope.readthedocs.io
- github.com
- cdwilson.dev
