From d3f18ddcf2a3517cff3bb8dd066e277ae52efa1c Mon Sep 17 00:00:00 2001 From: Fabrice Mouhartem Date: Sun, 27 Jul 2025 14:29:24 +0200 Subject: [PATCH] feat(image generation): add yaml + makefile to generate images --- img/Makefile | 16 ++++++++++++ img/keymap.yaml | 66 +++++++++++++++++++++++++++++++++++++++++++++++++ img/readme.md | 12 +++++++++ 3 files changed, 94 insertions(+) create mode 100644 img/Makefile create mode 100644 img/keymap.yaml create mode 100644 img/readme.md diff --git a/img/Makefile b/img/Makefile new file mode 100644 index 0000000..499cf0a --- /dev/null +++ b/img/Makefile @@ -0,0 +1,16 @@ +all: Layer-0.svg Layer-1.svg Layer-2.svg + +.venv: + uv venv + +.venv/bin/keymap: .venv + uv pip install keymap-drawer + +Layer-0.svg: keymap.yaml .venv/bin/keymap + uv run keymap draw keymap.yaml -s Base > $@ + +Layer-1.svg: keymap.yaml .venv/bin/keymap + uv run keymap draw keymap.yaml -s NavNum > $@ + +Layer-2.svg: keymap.yaml .venv/bin/keymap + uv run keymap draw keymap.yaml -s FunMouse > $@ diff --git a/img/keymap.yaml b/img/keymap.yaml new file mode 100644 index 0000000..92dbf34 --- /dev/null +++ b/img/keymap.yaml @@ -0,0 +1,66 @@ +layout: {qmk_keyboard: ferris/0_2/bling, layout_name: LAYOUT_split_3x5_2} +layers: + Base: + - [Q, W, E, R, T, Y, U, I, O, P] + - - {t: A, h: LGUI} + - {t: S, h: LALT} + - {t: D, h: LSFT} + - {t: F, h: LCTL} + - G + - H + - {t: J, h: LCTL} + - {t: K, h: RSFT} + - {t: L, h: LALT} + - {t: ;, h: LGUI} + - [Z, X, C, V, B, N, M, ',', ., /] + - - {t: SPC, h: NavNum} + - {t: ENT, h: FunMouse} + - {t: ESC, h: RALT} + - {t: TAB, h: NavNum} + NavNum: + - ['/', '7', '8', '9', '`', HOME, PGDN, PGUP, END, PSCR] + - [':', '4', '5', '6', '0', '←', '↓', '↑', '→', BSPC] + - [',', '1', '2', '3', '.', PLAY, VOL DWN, VOL UP, MUTE, DEL] + - - '' + - '' + - '' + - '' + FunMouse: + - - F5 + - F6 + - F7 + - F8 + - LSFT + RSFT + - PWR + - SLEP + - WAKE + - {t: Base, h: toggle} + - MS WHLU + - - F1 + - F2 + - F3 + - F4 + - {t: Compat, h: toggle} + - MS LEFT + - MS DOWN + - MS UP + - MS RGHT + - MS WHLD + - - F9 + - F10 + - F11 + - F12 + - {t: Gaming, h: toggle} + - MS BTN4 + - MS BTN1 + - MS BTN3 + - MS BTN2 + - MS BTN5 + - - '' + - '' + - '' + - '' +combos: + - { p: [30, 33], k: FunMouse, l: [Base], a: "top", w: 50, o: -.1} + - { p: [31, 33], k: Compose, l: [Base] , a: "bottom", o: 1., w: 50} + - { p: [30, 32], k: Compose, l: [Base] , a: "bottom", o: .5, w: 50} diff --git a/img/readme.md b/img/readme.md new file mode 100644 index 0000000..33bbe70 --- /dev/null +++ b/img/readme.md @@ -0,0 +1,12 @@ +# Keymap image generation + +## Prerequisites + +- `uv` to manage python package +- `make` + +## How to generate images + +`make` will locally install +[`keymap-drawer`](https://github.com/caksoylar/keymap-drawer) +in `.venv` using `uv` and compile the different layers in separate files.