Continuing the discussion from Colemak layouts, I’m taking this opportunity to talk about some firmware things.
Easy things first:
Prog is hardwired to the top-left key, and my understanding is that you need to hold it during keyboard boot, to put the hardware into a program mode, to be able to upload a new firmware, with a different layout. This functionality is only available during keyboard boot, and the key works as any other key once booted. (Source)
The Any and Butterfly keys do nothing in the current firmware, to encourage user customization. (Source)
The current firmware assumes a QWERTY layout on the host system. I believe that the other layouts will assume a QWERTY layout too, and do the remapping in the firmware. Thus, the layout will be portable across systems without having to set anything up on the host.
Thus, customisation is not bound to any one platform or software, it is all in the keyboard. The current firmware can already do a lot of things, and I’m working on my own too, in parallel. The official firmware is much more novice friendly, mine has more features (at least for now). The official actually works, mine was never tried on real hardware yet.
So, as you can see, the keyboard is fully programmable, to the extent that you can completely replace the firmware. I don’t think that will be something people will often desire, but it is a possibility too. And that is great.
Thanks for putting this down, I was getting a little confused about how the layout was being done in terms of OS vs firmware.
How does this work for, e.g. writing non-QWERTY characters? Would one have to just have the keys send some unused scancode & have some custom handler (xdb or karabiner or whatever) turn that into whatever fancy character?
For the default firmware, I’m really hoping to do everything we can on the keyboard. (We’d like to work as well as we can without any special host-side anything.)