Discover the magic of the internet at Imgur, a community powered entertainment destination. Lift your spirits with funny jokes, trending memes, entertaining gifs, inspiring stories, viral videos, and so much more from users like fxkuehl.
I've done something like that with a multmatrix transformation. There is an example of doing a skew transformation like that in the OpenSCAD user manual. This works with any 3D shape, not just extrusions. So you could transform a cube into a parallelepiped.
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
I don't work for PCBWay. They liked the design and reached out to offer to support the project in return for some favourable mentions.
Mantis v0.3 hatched
I teased Mantis v0.3 with two previous posts. I finally finished building it over the weekend and updated the QMK firmware including RGB Matrix support. I've been typing on it all day and it's a joy to use. The layout and keymap are mostly the same as what I had on v0.2 before.
Shout-out to PCBWay for sponsoring the manufacturing of the first batch of prototype PCBs and key caps. The acrylic case plates were made locally in Toronto at Hot Pop Factory.
The design and firmware are mostly up-to-date on GitHub (still need to finalize some minor tweaks to the case plates). Here are some more pictures.
I need to spend more time with the RGB Matrix features in QMK. For now I'm using the ALPHAS_MODS mode
I fell into this rabbit hole when looking into all the options available when ordering an Ergodox EZ. I discovered the Iris keyboard and really liked its compact shape. I ended up not placing the order for that Ergodox and built myself an Iris v4 instead.
Iris turned out to be a good way to ease myself into the world of DIY split ergo boards. It's affordable, easy to assemble and has enough keys to ease the transition from full sized keyboards. It's a good starting point for experimenting with layers and other features that eventually may lead you to 40% or smaller layouts.
The little holes are for the LEDs to shine through because I wasn't sure how opaque the 3D printed material would be. Turns out that the holes are probably not needed.
My layout for v0.2 is here (I'm using the Colemak version): https://github.com/fxkuehl/qmk_firmware/blob/mantis-v0.2/keyboards/mantis/keymaps/default/keymap.c
After receiving the PCBs and 3D printed key caps from PCBWay, I assembled everything with the case plates I picked up last week for a first fit-check and sound-check.
I'm really happy with how everything fits, feels and sounds. Thanks to PCBWay for sponsoring the PCB and key cap production for this prototype.
The next step is soldering all the electronics and finishing the firmware. If all goes well I'll post more pictures with RGB backlight in a few days.
I've used QMK configurator to sketch out keymaps before. You can download your keymap as JSON file and later upload it again to make more changes, or save a few different versions. It can even compile your firmware, but I've not used that feature. No programming required if you only use basic QMK features. It supports Piantor with a 3x5 layout: https://config.qmk.fm/#/beekeeb/piantor/LAYOUT_split_3x5_3
Mantis v0.3 parts are ordered
I'm excited to use my first post on Lemmy to share an update about the design and some renders of the next version of my Mantis keyboard. I ordered the PCBs, plates and 3D-printed key caps this week. I'm hoping to assemble the first prototype within the next two weeks.
Lots of firsts for me: 3D printing, laser cutting, RGB LEDs. I'm really hoping that I didn't make some big mistake that can't be fixed with a drill and some bodge wires ...
[edit: picture to save you a click and a length read]
Check out lowprokb.ca. Their excellent sunset switches are on sale right now. They have other choc switches, too. And they ship from Canada.
I find it easier to maintain two layouts (QWERTY and Colemak DH) if I use them on physically different keyboards. QWERTY on standard row-staggered, Colemak on ergo keyboards. When I was mixing both layouts on standard keyboards, I found it harder to switch and made more mistakes.
Nice write-up! Out of the Choc switches I've tried, Sunsets are my favourites, too. I agree that Pinks are too light. I lubed mine and don't find them wobbly, though. Pro-Reds are borderline for me. I think part of the problem is the flat MBK key profile that makes the edge of the next key too easy to hit by accident. Too bad LDSA key caps never came back in stock.
I find the Sunsets are more scratchy when I hit them off-center. If I hit them just right, they feel smoother than MX Clears and more satisfying than MX Browns I have on other boards.
I need to fix the position and angle of split keyboards. If the halves move too easily, I lose accuracy. Therefore I prefer non split keyboards. If they have angled halves that allow the wrists to be comfortable, that's the best of both worlds for me.
I constantly switch between an ergo keyboard with Colemak DH and standard keyboards with QWERTY at work. Somehow they feel different enough that I can keep the muscle memories separate and switch easily.
There are keyboard matrices that can accommodate more keys with fewer pins. E.g. https://kbd.news/Square-or-round-robin-matrix-1400.html. This one can do 12 keys with 4 pins. But needs some careful component choices to avoid ghosting.
On my 34-40 key layouts I put all the symbols typically used together in programming on the same layer, including symbols that usually require Shift, along with all the numbers. This makes it comfortable to type whole formulas without leaving the symbol layer and without needing Shift. Important bigrams that I can type without switching layers in the middle include <= >= != += -= = /= %= &= |= -> / / => := :) ;) . I also optimize the layer so that none of these are same-finger bigrams. Because = appears in so many bigrams, I found it convenient to map it on a thumb key.
I make sure all the mods are comfortable to use and in the same place on all my layers, either as bottom row mod-taps or on opposite side thumb keys or worst case as a oneshot mod. I don't need Shift on my symbol layer, so one less mod to worry about.
Probably my favourite feature for a programming key map is _ on a base layer thumb key. That makes typing snake_case_names a breeze.