Skip to content

Keymap Editor

The Layout Editor in PolyKybdHost lets you remap any key on any layer directly, without recompiling or reflashing firmware. Changes take effect immediately and are stored in the keyboard’s flash memory.

The PolyKybdHost Layout Editor: both halves of the split72 drawn on their case plates, each with its 0.96 inch status panel lit, layer tabs named Qwerty, Stag!, ColemkDH, Neo, Workman, Fn, Numpad and Utility across the top, and a keycode picker below

Right-click the PolyKybdHost tray icon → Configure Keymap.

The editor draws the keyboard, not just a grid of keys: each half sits on its own case plate in the same shape and stagger as the hardware, so a key is where your finger expects it. The two 0.96” status panels are drawn too, and they follow the tabs: pick Fn and both panels read layer 5, Fn. On the keyboard that line names the active base layout; in the editor it names the layer you are editing, which is the more useful of the two while you are remapping.

Host 0.19.0+the case plates and status panels
  1. Select a layer using the layer tabs at the top of the editor window. All key labels update to reflect the selected layer.

    The tab labels come from the keyboard itself, so they name what each layer actually is — Qwerty, ColemkDH, Fn, Numpad and so on. Older firmware doesn’t report them, and the editor then falls back to a list shipped with the host, which shows the shorter internal names instead.

    Firmware protocol v14+layer names reported by the keyboard
  2. Click a key to select it. The key is highlighted.

  3. Choose a new keycode from the keycode browser panel.

  4. The change is written immediately to the keyboard over HID. The key label updates on both the editor and the physical key display.

Three buttons in the top-right corner of the editor decide what a key shows — Symbol, Preview and Real:

  • Symbol is the default: every key shows its keycodeQ, NUBS, GRV. Precise, but it does not look like your keyboard.
  • Preview draws each key the way the keyboard itself draws it: the same fonts, the same layout, the same legends — letters in the language you have selected, the modifier and arrow symbols, the PolyKybd setting keys, and your macros with their labels.
  • Real puts that same picture through a simulation of the OLED: the cool white the panels actually emit, on true black, with the slight bloom of lit pixels.

The same six keys drawn three times: as keycodes, as keycap previews, and through the OLED simulation

Preview makes a layer far easier to read at a glance, and it shows you what a remap will actually look like on the key before you commit it. Real answers a narrower question — how legible a legend will be on the hardware — and the difference only shows up close, as above; across the whole board the two look much the same.

Host 0.18.0+Symbol / Preview / Real; previews alone since 0.14.11

If a button is greyed out, hover it — the tooltip says what could not be loaded. It also names where the legends were read from, which is worth a look if a preview ever disagrees with the physical key.

Dual-function keys (tap one thing, hold another)

Section titled “Dual-function keys (tap one thing, hold another)”

The keycode browser has a behaviour section for keys that do two different things depending on how long you press them — a mod-tap (MT) taps a normal key but acts as a modifier when held, and a layer-tap (LT) taps a key but switches layer when held. Pick the behaviour from the dropdown, tick the modifiers (or choose the layer), pick which key it taps, and choose whether the modifier is the left or the right one.

A classic use is turning a home-row key into a modifier you never have to reach for: MT + Shift + A gives you a on a tap and Shift on a hold.

The key still shows its tap letter as the normal legend — that’s what you get when you press it, so it stays the main thing on the display. The modifier is only what holding does, so it appears as a small mark in the bottom-right corner, using the same symbols the dedicated modifier keycaps use:

Four keycaps, each with its letter as the main legend and a small modifier mark in the bottom-right corner: control, shift, alt and the Windows logo

The GUI mark follows whichever operating system the keyboard has detected, exactly as the real GUI keycap does:

The same key shown four times, with the corner mark changing between the Windows logo, the macOS command symbol, the Linux penguin, and a neutral diamond when the OS is unknown

If you assign more than one modifier, the marks fill a small grid that grows up and to the left from that corner, so a single modifier always sits in the corner and the letter always has room:

The same key with one, two, three and four modifiers: the marks fill the bottom-right, then the bottom row, then a second row above it

PolyKybdHost uses the QMK ID_DYNAMIC_KEYMAP_SET_KEYCODE protocol to write individual key assignments directly to the keyboard. It does not write a full layer — only the changed key is updated, making it instant.

The dynamic keymap stored in the keyboard persists across power cycles and across a normal firmware reflash — it lives in the keyboard’s EEPROM, a separate flash region from the firmware image. It only reverts to the compiled defaults if a firmware update changes the on-keyboard EEPROM layout, or you explicitly clear the EEPROM. To make a remap the shipped default, edit the firmware source — see Edit the Keymap.

  • The editor cannot add new layers beyond those defined in the firmware
  • Tap-dance assignments require firmware changes (see Firmware Development). Macros do not — write them in the editor’s own Macros tab and assign them like any other keycode; see Macros
  • The behaviour picker covers the common composed keycodes — layer switching, mod-tap, layer-tap, one-shot modifiers, modified keys. Anything outside that set can still be entered as a raw keycode