Skip to content

Repository files navigation

IXKB ZMK firmware

Firmware for the IXKB nRF52840 keyboard, built against a pinned upstream ZMK revision.

The default ixkb//zmk target includes the key matrix, encoder, USB and Bluetooth keyboard reports, battery monitoring, analog X/Y axes, and the dedicated joystick HID reports over both USB and Bluetooth.

Build

Docker is the only local prerequisite:

./scripts/build.sh

The build uses an ignored west workspace under .workspaces/ and writes exactly two files:

artifacts/ixkb.uf2
artifacts/settings-reset.uf2

GitHub Actions builds the same two entries from build.yaml.

Flash

Flash ixkb.uf2 for normal use.

To clear stored Bluetooth profiles and settings, flash settings-reset.uf2, allow it to boot once, and then flash ixkb.uf2 again.

Machine-local macros

The upper-right key provides two local macro slots:

  • Pressing it alone invokes local_macro_1.
  • Pressing it with either Shift key invokes local_macro_2.

Without a local configuration, these slots retain the existing F13 and Shift+F13 behavior. To define private sequences for local builds:

cp config/ixkb.local.overlay.example config/ixkb.local.overlay

Edit the copied overlay, then run ./scripts/build.sh. The live overlay is ignored by Git and rejected by the build if it becomes tracked or stops being ignored. GitHub Actions never receives this local file.

Do not store passwords, tokens, or recovery codes in firmware macros. Generated firmware and debug data can expose the configured sequences.

About

ZMK firmware for the IXKB60 keyboard

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages