> The model of flashing firmware to change the key layout also seems crazy to me, in an era where you can easily enumerate as a flash drive and just drag a JSON-encoded keymap onto it to adjust the layout. (Or just edit it live, a la CircuitPython.)
Are there any keyboards that have that functionality? I know Logitech allows you to save macro key info to the hardware. However, last I saw that was only for specific macro keys, not all keys like QMK.
QMK does already save some things into "EEPROM" (more realistically, flash on the MCU), like whether you've enabled NKRO, which LED pattern is selected, etc. Because it's opaque, it ends up just being another trap for the inexperienced. "I pressed a key and now my keyboard doesn't work." Yup, that can happen thanks to the magic of persistent storage.)
I think the reason QMK doesn't use flash for keymaps is because it was simply designed before that was within the capabilities of the hardware it ran on. My Ergodox firmware just barely fits in the 32k of available flash on the 32u4, for example. But a STM32F103 has twice or 4x that much flash, so there is much more room to breathe and add creature comforts.
(You can also use USB mass storage to flash devices, see UF2: https://github.com/microsoft/uf2. It's so much better than DFU or all the hacks Arduino uses.)
I think TEX are innovating bigtime here. Have a look at the TEX Kodachi web configurator for example - their keyboards use exactly this mechanism for layout adjustment.
Are there any keyboards that have that functionality? I know Logitech allows you to save macro key info to the hardware. However, last I saw that was only for specific macro keys, not all keys like QMK.