• 7 Posts
  • 18 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle







  • I used to have two Type Matrix boards long time ago. It got me into thinking about more ergonomic layouts and taught me first Dvorak and later Colemak. I agree with others’ comments about poor longevity. I also find that it’s not a very ergonomic layout in hindsight.

    Learning how to clone this layout in a custom mechanical keyboard is like jumping into the deep end. There may be other ways. E.g. get an XD75 or ID75 and make a layout that’s “close enough”. That takes PCB design and lots of firmware hacking out of the equation. But you’d still learn about different switches, layers, thumb keys, maybe home-row-mods if you want and ease you into more possibilities of firmware hacking. You may find a more ergonomic or efficient layout than the Type Matrix that way, as well.



  • Pink switches are very light. I bottom out pretty hard, so they’re probably wasted on me. It makes a nice percussive sound in the wooden case, though. But I do find them quite usable with these sculpted keys. I didn’t like them on a Cantor with MBK key caps as it was too easy to actuate two keys at once by accident.

    For me, Pro Red is probably the sweet spot for light linear switches.



  • I was not considering the press point. I was using the center of each key.

    In a column staggered layout I’m calling the distance between the centers of adjacent keys in the same column the row spacing. The column spacing is the distance of imaginary lines drawn along adjacent columns (through the key centres). I measure the shortest possible distance, which is at a right angle to those lines.

    In a row staggered point of view it’s the other way around.

    The different spacing comes from the hexagonal key shape. If you think of it as row staggered, the keys have 21.5mm horizontal (column) spacing and 18.6mm vertical (row) spacing. Rotate your point of view by 30° and this flips to a column staggered layout. Now the columns are spaced 18.6mm and rows are 21.5mm apart.

    Square keys don’t have the same hexagonal symmetry. When you look at it as row staggered, it’s normal MX spacing, 19x19mm. When you look at it as column staggered, you need to do some trigonometry. The column angle is atan(0.5) = 26.6°. the column spacing is 19mm × cos(26.6°). The row spacing is from Pythagoras sqrt(19^2 + (19/2)^2).



  • That’s a cool find. I had not heard of the Klacker BS. The exact spacing and hand angle will be slightly different but pretty close. Column-staggered hexagonal keys give you 18.6mm between columns and 21.5 between rows with a 30° angle. 0.5u row-staggered MX keys with 19mm spacing give you about 17mm between columns and 21.2mm between rows at 26.6°. Also the resulting column-stagger is not exactly 0.5u but about 0.45u.

    Klacker BS doesn’t eliminate the top inner index finger key. Moving that to the pinkies like Mantis does, would bring the hands 1u closer together.









  • With the right key mapping the hex grid naturally leads to hand rotation and column stagger. It also takes “1u distance from home” literally because there are no diagonal keys for the index fingers and pinkies that are 1.4u away. It allows keys to rotate in 60° steps rather than 90° steps. That allows for some interesting ways to exploit tilted key cap profiles.

    I may ask the opposite: why squares? That’s just as arbitrary, if you think about it. I learned typing on a mechanical typewriter that had round keys.


  • I wrote a SW a while ago that does an automated optimization of keyboard layouts for a given body of text. It only optimizes the base layer. Since I did this with small/custom keyboards in mind, it only considers the core 3x10 keys. You’d still need to create other layers for numbers, symbols, etc. Even with all the automation, it’s still hard to make a good layout. It depends a lot on the text you use to train it, and on the set of criteria you’re trying to optimize (heat map, rolls, same-finger bigrams, hand alternation, minimal finger movement, etc.). It also generates many layouts, so choosing one can be daunting. I added a ranking system that should make it easier.

    The project is dormant at the moment. I never quite got to the point where I was ready to commit to actually learning one of the auto-generated layouts. I want to pick it up again at some point, write some documentation and make an “optimal” layout for my Mantis keyboard. The code is on github: https://github.com/fxkuehl/kuehlmak