luckybipedal

joined 1 year ago
 

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.

[–] luckybipedal@lemmy.world 6 points 3 months ago (1 children)

The "half-swept" version of Sweep does that already: https://github.com/davidphilipbarr/Sweep/tree/main/Sweep%20half-swept

The easiest way to make the board flippable if to mount the controller upside-down on one side. Half-swept uses solder jumpers for all the pads of the controller footprint, which does basically the same thing as flipping the controller.

[–] luckybipedal@lemmy.world 2 points 4 months ago (1 children)

BTW, not sure if you're aware of my Mantis keyboard design. It was inspired by the same hexagonal key caps but has since evolved to my own 3D printed sculpted hexagonal key profile, which is a lot more comfortable for typing: https://github.com/fxkuehl/mantis

My v0.1 prototype resembled your keyboard. But your PCB is much prettier. And I haven't designed anything with an integrated controller. Kudos! I bet this is not your first PCB design.

I'm guessing your layout uses 2 keys for each pinky, 5 for each index finger and 2 for each thumb.

[–] luckybipedal@lemmy.world 4 points 4 months ago

Nice. The world needs more hex keyboards!

 

I finally finished writing a build guide for my Mantis keyboard and taking all the pictures to make it easy to follow. Hope it helps someone ...

2
submitted 8 months ago* (last edited 8 months ago) by luckybipedal@lemmy.world to c/ergomechkeyboards@lemmy.world
 

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 ...

[–] luckybipedal@lemmy.world 0 points 1 year ago

IME, to use git effectively, and make sense of the man-pages, you have to know a lot of the internals of how git works. I found it helpful to read "Git from the bottom up" when I had to start using it professionally: https://jwiegley.github.io/git-from-the-bottom-up/