Some people want fully programmable where they can rebind each key
Some people only care about a few dedicated macro keys being programmable
Some people don't like programmable keyboards and would rather just have a simple keyboard.
Where do you folks fall on this spectrum?
On a TKL or full size keyboard, I find that I don't need much programmability.
On a 60% (or around that size), full programability is really needed: many keys are missing and so their functions must be accessible thru some kind of "Fn key" and "Fn layers". There is absolutely no consensus on this, which means everyone would like to do it his own way.
The keyboard must be fully programmable so nothing needs to be installed on the computer.
By fully programmable I mean something like what Hasu's firmware offers. You can do almost anything with it. No offense intended to other available firmware like Soarer's, which I have not tried yet: they may be suitable as well.
The required Atmega controller is cheap, Hasu's firmware is open source and has been proven time and time again.
I understand a manufacturer may be reluctant to allow their users to reflash their keyboards (it's not a fool proof operation), so at this time they just allow limited remapping, like on the Poker II. It's a step in the right direction, but it's not enough.
With some efforts, they could provide a set of preprogrammed layouts for Hasu's firmware, with an editor allowing for simple changes in the layout. This could be OK for the average user. Just select your base layout, adapt it a little bit and reflash your keyboard. They need to provide a reflash tool for Windows, Mac and Linux. It may not be really straightforward, but I believe open source utilities exist for all these platforms, so it could be done without the manufacturer having to pay license fees.
The advanced user could, at his own risk, use Hasu's source code and make any change, implementing very advanced layouts. For me that would be the perfect solution.
The extreme and simplest solution would be this, and it can be done now:
- The manufacturer creates a keyboard based on the Atmega controller (one that is supported by Hasu's firmware).
- The keyboard is sold with a fixed layout. This does not even require that it has Hasu's firmware.
- The manufacturer releases the technical data needed to create a variant of Hasu's firmware for it.
- The user can, out of warranty, reflash the keyboard with Hasu's firmware and do whatever he wants.
That's what Tex should do with their new "Yoda" keyboard, instead of releasing it with a broken layout. Aha, too late, they have already designed a PCB that includes a non-programmable controller. What a waste!