After working on it for more than a year, I’m starting to see the finish line of this project. So it seemed like a good time to share an update and some renders on my GitHub development branch. If I don’t hit any major snags, I expect to build the first prototypes in March or April and publish the final design and a build guide later this spring.
- 4 Posts
- 2 Comments
After a few years of tinkering and learning I’m finally ready to share the result of my work. Meet Kühlmak. What started out as my attempt to create the perfect keyboard layout morphed into a project to make a flexible and fast analyzer and optimizer. The feature highlights:
- Command line interface
- Information-rich, text-based layout overview and stats
- Support for different types of physical keyboard layouts and fingerings (row-staggered, angle-mod, column-staggered and more)
- Extremely fast analyzer that enables simulated annealing
- Multi-threaded annealing to find many optimized layouts quickly
- Multi-objective fitness function with soft targets for individual objectives
- Multi-objective ranking system to identify the best trade-offs out of many generated layouts
- Metrics that naturally favour finger and/or hand balance for effort, travel and n-grams
- Finger travel distance weighted by speed (inspired by Semimak)
- Comprehensive same-hand bigram, disjointed-bigram and same-hand 3-gram scoring system
- Support for affinity of Space to one thumb or both
- Optional constraints to enable steering certain layout features (e.g. preferred positions of punctuations and shortcuts)
The terminology and metrics are partially inspired by and partially adapted to The Keyboard Layouts Doc (2nd edition). However, I made some deliberate design choices and probably introduced more subtle biases that deviate from some of those definitions. There is lots more information in the README.
At this point I consider it ready enough to finally optimize a layout for my Mantis keyboard and see if it works as well as I hope it will.
Nice. The world needs more hex keyboards!
I’ve been busy building a few Mantis v0.3.3 builds for friends and family. It took me way longer to build these than I had planned, and I still have a few more builds to go before I work on the next version of the design. But I’m getting better at this, and very happy with how these turned out. It’s nice to try out different switches. On these boards I used Choc Sunset, Pro Red and Pink switches. They all work great with the sculpted key caps.

The two keyboards in the front use clear acrylic case plates and key caps made of two different resin materials to highlight the home keys. They are translucent enough for the backlight. The one in the back is made with birch plywood plates, painted with 3 coats of shellac to bring out the wood grain and lightly sanded for a matte finish. The key caps are grey nylon. The small holes in the skirts work great for letting the backlight shine through those opaque keys.

I used KB2040 controllers from Adafruit for all these builds and loving the extra space for building the firmware with Vial support. My old v0.3 prototype with a ProMicro also works with Vial, but I had to disable some features and lighting effects to squeeze it in.
kbd.news is running their Advent Calendar for the second year and I’m honoured they chose my article about Mantis and hexagonal keys in ergo keyboards for opening it. Enjoy the read and have a happy holiday season …




A bit late but I found this an interesting project: https://www.youtube.com/watch?v=HTKbrcy7GT0