36

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.

no comments (yet)
sorted by: hot top controversial new old
there doesn't seem to be anything here
this post was submitted on 06 Oct 2024
36 points (100.0% liked)

ErgoMechKeyboards

5686 readers
1 users here now

Ergonomic, split and other weird keyboards

Rules

Keep it ergo

Posts must be of/about keyboards that have a clear delineation between the left and right halves of the keyboard, column stagger, or both. This includes one-handed (one half doesn't exist, what clearer delineation is that!?)

i.e. no regular non-split¹ row-stagger and no non-split¹ ortholinear²

¹ split meaning a separation of the halves, whether fixed in place or entirely separate, both are fine.
² ortholinear meaning keys layed out in a grid

No Spam

No excessive posting/"shilling" for commercial purposes. Vendors are permitted to promote their products/services but keep it to a minimum and use the [vendor] flair. Posts that appear to be marketing without being transparent about it will be removed.

No Buy/Sell/Trade

This subreddit is not a marketplace, please post on r/mechmarket or other relevant marketplace.

Some useful links

founded 1 year ago
MODERATORS