Patches for QMK for custom layouts for various keyboards I own
  • C 70.3%
  • Shell 29.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-18 21:25:15 +01:00
keymaps/keychron/v10_max/iso_encoder/graphite Add Keychron V10 Max Graphite keymap and QMK helper scripts 2026-10-18 21:25:15 +01:00
scripts Add Keychron V10 Max Graphite keymap and QMK helper scripts 2026-10-18 21:25:15 +01:00
README.md Add Keychron V10 Max Graphite keymap and QMK helper scripts 2026-10-18 21:25:15 +01:00

keebs

Custom keyboard layouts and helper scripts for patching into QMK without vendoring the full qmk_firmware repo.

Supported keyboards and layouts

  • Keychron V10 Max ISO Encoder (keychron/v10_max/iso_encoder)
    • graphite

What this repo contains

  • keymaps/keychron/v10_max/iso_encoder/graphite/keymap.c

    • Graphite keymap adapted for V10 Max ISO Encoder.
    • Includes Graphite punctuation behavior:
      • ' / _
      • - / "
      • , / ?
      • / / <
    • Dual-B handling customized:
      • left B physical key -> v
      • right B physical key -> ~
      • k preserved by shifting the row.
  • scripts/apply-keymap.sh

    • Copies keymap(s) from this repo into an existing QMK tree.
  • scripts/build.sh

    • Compiles the keymap from a QMK tree (expects qmk in PATH, or ../.venv/bin/qmk).
  • scripts/build-nix.sh

    • Compiles using nix-shell toolchain + your qmk venv.
  • scripts/flash-wait-dfu.sh

    • Waits for DFU and flashes the built firmware with dfu-util.
  • scripts/flash-wait-dfu-nix.sh

    • Same as above, but runs dfu-util via nix-shell.

Usage

1) Apply keymap into your QMK checkout

./scripts/apply-keymap.sh /path/to/qmk_firmware

2) Build

Option A (normal):

./scripts/build.sh /path/to/qmk_firmware

Option B (NixOS-friendly):

./scripts/build-nix.sh /path/to/qmk_firmware /path/to/.venv/bin/activate

This builds:

  • keyboard: keychron/v10_max/iso_encoder
  • keymap: graphite

Expected output firmware:

  • /path/to/qmk_firmware/keychron_v10_max_iso_encoder_graphite.bin

3) Flash (waits for DFU)

./scripts/flash-wait-dfu.sh /path/to/qmk_firmware/keychron_v10_max_iso_encoder_graphite.bin
# or
./scripts/flash-wait-dfu-nix.sh /path/to/qmk_firmware/keychron_v10_max_iso_encoder_graphite.bin

Then put keyboard into bootloader mode (wired mode, then bootloader/reset sequence). The script waits until a DFU device appears and flashes immediately.

Notes

  • This repo intentionally does not include the full QMK tree.
  • Use Keychron's QMK fork for best compatibility with Max boards.