The “half-swept” version of Sweep does that already: https://github.com/davidphilipbarr/Sweep/tree/main/Sweep half-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.
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.
Nice. The world needs more hex keyboards!
Awesome! Thank you for sharing. I want to to try and use PCB assembly for the next version of my keyboard. I’ll bookmark this post for information and inspiration.
I had similar problems with a Cantor build, and I have pretty small hands. I think the problem was not necessarily the key spacing, but the flat key profile that makes it harder to feel the key positions and easier to press two keys at once. MX keys typically have larger gaps between the key tops, which makes orientation easier for me. Interestingly I also have no problem with chiclet keys on my laptop with 3mm gaps between keys.
I was hoping to try LDSA key caps to fix this, but they never came back in stock before I moved on from my Cantor. There are other sculpted key cap options to try. E.g. https://lowprokb.ca/collections/keycaps/products/ddc-choc-pbt-blank-keycaps, https://www.asymplex.xyz/product/cs-chicago-stenographer-profile or https://3dkeycap.com/products/klp-choc-keycap-set-low-profile-ergonomic-sculpted-keycaps.
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.
The keycaps are my own design, 3D printed at JLC. Their footprint matches these: https://fkcaps.com/keycaps/hex. They were the original inspiration for this layout and I used them on early prototypes.
I made a short demo video. Sorry about the bad audio: https://youtu.be/Rh3bqSVHcbg
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).
Yeah, I wasn’t really happy with the height and sharp edge of the taller keys. The latest version flattens that a bit. It still has the lower half a spherical dish facing the key well, but flattens out above that. This makes it more versatile as a thumb key as well.
https://github.com/fxkuehl/mantis/raw/main/assets/mantis-v0.3-leds.jpg
https://github.com/fxkuehl/mantis/blob/main/keycap/keycap-v3-28.stl
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.
Everything except the Y key you can get with a Perixx Periboard 535. It uses mechanical Choc switches.
The closest thing I’ve seen to moving keys to the other hand is keyboards with two B keys, so you can type it with either hand. I haven’t seen that for the Y key.
You didn’t specify whether you want row-stagger or column-stagger. Given that you don’t want to change your typing habits, I’m guessing row-stagger is what you’ll prefer. Transitioning to column-stagger would throw out a lot of your muscle memory and require some time to adjust, especially if you’re used to non-standard fingering. Typing Y with the right hand would be a minor change in comparison.