As I'm using a dual boot setup, it's also pretty handy to have the mapping directly embedded in the keyboard firmware.
As I'm using a dual boot setup, it's also pretty handy to have the mapping directly embedded in the keyboard firmware.
Layout: https://1.bp.blogspot.com/-rRS_TOYuIQQ/XhRERox3moI/AAAAAAABE...
GergoPlex: https://www.gboards.ca/product/gergoplex
Depends on how you define 'build' here, I'm assuming you mean come to what would become the final design for GergoPlex. That took about a year and a half, my first two designs (Gergo and Georgi respectively) sought to improve on my issues with the ErgoDox (mostly size, PCB-forehead, height, thumb-cluster). After a year of using Gergo and diving into QMK and a failed attempt at picking up stenography, I came up with the idea for a more chord-orientated layout. It didn't take long to get working hardware (as it was a reduction of an existing design), but the layout took about two weeks before everything had settled into it's final place. I did a bit of a write-up over on the blog of how I ended up dailying GergoPlex from a full size 104 [1] and the slow descent into preprocessor madness [2] to make the Combo decorators work. The weird part was tuning QMK so combos like 'we' wouldn't misfire while typing and analyzing my Vim usage to find comfortable places for frequently used chords. (Such as JK for :, WE or UI for Esc, NM for Enter, XC for -, M< for _, etc)
>get used to the layout
At every transitional step I'd say maybe a week? The harder part was finding a keymap that worked for me. But I started with a Sun-Style layout on the ErgoDox and slowly adpated it as I moved to smaller boards. Control is on 'A' (and ';') on GergoPlex for that reason, and the symbols layers are fairly similar. Honestly, just using it in a active chat server for a few hours was enough to get me 90% of the way there.
Every users needs are going to be different, and their layout should match that (it's _why_ you get a programmable keyboard after all!). How you get there is a fiddly endeavour involving lots of flashing and tweaking, but you end up with something ergonomic and deeply personal!
[1] https://blog.gboards.ca/2020/01/weird-keyboards-programmable...
[2] https://blog.gboards.ca/2020/02/adventures-in-obscure-c-feat...
I'll definitely make the plunge at some point, just gauging expectations on how roughly much I should expect to invest time-wise before :)
Thank you for your work, I think it's hard to appreciate the contribution things like the ergodex is making for moving towards chorded and other more suitable text input interface for computers. Especially as we transition to VR.
No worries, we spend all day using these devices, the fact that we're not using them in a highly configurable fashion pains me. Make technology work for you, not the other way around
Had completely missed it, thanks for the pointer :)
In my case, I had some bad habits I was needing or wanting to get rid of at the same time: I typed "b" with the wrong finger, I always used my right pinky for shift, I always looked when typing numbers so I never really got to touch-typing them, sometimes I would also peek for regular letters or keys, just to make sure I was where I thought I was.
If you have fewer bad habits, it might take less time. If you have more... :-)
In fact, I got so addicted to keybindings that I tweaked the chording engine to make chords QMK-layer-dependent. The ability to do "modal chords" is just great.
Anyway, thank you for making these things -- I may never have heard of QMK if it wasn't for your boards!
https://github.com/luketurner/qmk_firmware/blob/master/keybo...
The forked engine (with very minimal changes) that's used in that keymap is here:
https://github.com/luketurner/qmk_firmware/tree/master/keybo...
The only change is that all the chording macros (PRES, KEYS, etc.) accept a QMK layer number as the first parameter, and will only activate when that layer is active. The end result is similar to the "sticky bits" functionality, but without the side-effect of masking the signal of those bits.
This is my first foray into embedded programming stuff, so I can't promise I didn't do anything dumb in there. It seems to work for me, though!
[0] https://qmk.fm/ [1] https://github.com/qmk/qmk_firmware/tree/master/keyboards/bp...
I have worked on Teensy 3.6 support for QMK, and plan to work on Teensy 4.x support as well.
Basically if you want to use this on your "standard" keyboards bought off the shelf, you have to either:
1. Open your keyboard, replace the keyboard controller with something that you can program via soldering etc.
or 2. Pray your keyboard doesn't use a mask ROM to store its firmware, and it has a powerful enough MCU as keyboard controller, then figure out how to reflash it and port QMK to it blindly.
https://www.1upkeyboards.com/shop/controllers/usb-to-usb-con...
Then there's Ergodox EZ, a company which makes the eponymous ortholinear split key (my daily driver), as well as a 40% keyboard called the Planck, and a new next-gen ergo keyboard called the Moonlander. These are designed from the get go to use layers, where each layer assigns its own meaning to keys, and that's where QMK gets really powerful.
There's a whole ecosystem of kits and group buys if you're looking to make a hobby out of it, but if you just want a keyboard you can program, these have you covered.
I've ordered two Redox from them by now (for work & home) and am very satisfied with the product so far.
It makes using those clunky web edit boxes (such as the one I'm typing this into right now) somewhat bearable.
Getting a fancy ergonomic programmable keyboards is one of the best decisions I've made over the past few years. It's so much more comfortable in the long run.
I'm also a big fan of "space cadet shift", which makes left and right shift input ( and ) when pressed on their own. I also have a dual-function caps lock: when pressed on its own it's Escape, when chorded with an other key it's control. You can do that in software with xcape for those who want to give it a try:
xcape -t 500 -e 'Shift_L=parenleft;Shift_R=parenright;Control_L=Escape'
You'll have to swap left control and caps lock using xmodmap or setxkbmap as well.And for those who are curious to see what a QMK config looks like, it's fairly straightforward (this one is a WIP, there are a few problems with it, but it gives you an idea):
https://github.com/simias/qmk_firmware/blob/372b71ca90df01b5...
That's of course assuming that your board is already supported, adding support for a new board is a bit trickier and requires some embedded C know-how.
I notice carpal tunnel pain in my wrists when I tension or release the tendons in my wrist that curl my fingers to move them up and down. Moving them from side to side doesn't hurt at all, so I'm skeptical that there's anything ergonomically wrong with the normal staggered layout. Split still seems like a good idea, though.
How infuriating are regular keyboards after getting used to Ergodox?