A QMK configurable keyboard

So, in my spare time I have been working on exactly¹ this². It’s been my daily driver for the past few months, and it seems to work great.

I’ve got one really big question though:

What does “QMK configurable” mean to you?

QMK is primarily a source code distribution, with hand-written and hand-tuned keyboard layouts developed in C. Consider nikchi’s frosty_flake customization, which is by no means unique in the qmk_firmware repository.

There are some graphical tools (open-source ones like config.qmk.fm and proprietary ones like ZSA’s Oryx), but each one of them produces a full flashable firmware image for your keyboard.

Since the keyboard on the Framework Laptop is controlled by the embedded controller, offering web-built full flash download seems very risky. The keyboard part of the firmware isn’t isolated and can’t be reflashed separately, so every time you change your keyboard layout you’re risking wearing out the flash or being left with an unbootable machine… and every keyboard layout change requires a full reboot of the laptop.

I have some thoughts (which I’m happy to go into) about how to proceed but before I do I’d love your take. What does it mean to you?

¹ It’s all in a branch of my fork of Framework’s EC code here, for those of you intrepid enough to try it.
² It has also been pulled out into its own separate repository.
³ The “stock” keymap represented in my fork is here; note how it resembles a QMK keymap.c.

7 Likes