Author Topic: Self-introduction: TLDR - Learning Colemak-DHm, split ortho, QMK, KMonad + WTB!  (Read 2184 times)

0 Members and 1 Guest are viewing this topic.

Offline OwariDa

  • Thread Starter
  • Posts: 0
  • Location: Limassol, Cyprus
    • ClevCode
Hello!

My journey started with self-taught qwerty on traditional row-staggered keyboards (originally the C64 :D), and I was pretty happy with that until about 3 years ago when I started feeling some occasional wrist pain. I had already been using decent mechanical keyboards for a while (my favorite at the time was a custom WASD V2 88-Key with black/blank keycaps and MX Blue switches), but at this point I started looking into more ergonomical options, mainly various split orthogonal keyboards, including Ergodox, KeyboardIO M01 and the Kinesis Advantage 2.

My qwerty speed was around 100 wpm at the time, even though most of my typing was done with 4 fingers with my self-taught technique. I decided that I wanted to learn a more ergonomical layout as well though, and chose Colemak-DHm after some period of research into this.

To avoid confusing my muscle memory I decided that I would only use Colemak-DHm on orthogonal split keyboards and only qwerty on traditional row-staggered ones, and this has worked great. So far, I have zero muscle memory confusion and automatically use qwerty on row-staggered keebs while using colemak-dhm on ortho split ones.

I think it probably helped that I've never done "traditional touch-typing", so I really had to re-train all my muscle memory to use ortho split keebs anyway. Doing it with qwerty would still likely have been a bit faster, but I really like how much time is spent on the homerow with colemak and think that from an ergonomical standpoint it's the right choice.

Unfortunately, after a period where I was practicing colemak quite intensely I switched back completely to qwerty with row-staggered keyboards (always planning to come back to colemak and ortho split at some point though, and now that time has come!). To be honest, regular typing was not the most frustrating part, it was rather how inefficient and disabled I felt with the ortho split keyboards whenever I was in vim, tmux and i3 (tiling window manager) and even bash, all the shortcuts and sequences of keystrokes that had been deeply ingrained into my muscle memory to achieve maximum efficiency were suddenly gone.

Instead, I started using exclusively trackpoint-based keyboards, including the TEX Shinobi and the ThinkPad Compact USB, and finally settled on the ThinkPad TrackPoint Keyboard II, and started working mostly leaned back in a recliner chair with the keyboard in my lap. Being able to just keep my hands on the keyboard at all times was/is liberating, and I started growing very fond of using trackpoints as pointing devices in general (especially when the trackpoint in question is on the homerow..). Also, having the keyboard in my lap with my shoulders back and elbows resting against the back of the recliner chair is very comfortable and relaxing. I try to do as much as possible from the keyboard, including using the vimium chrome extension to be able to do most of my browsing with the keyboard as well, but the trackpoint is an excellent fallback.

A couple of weeks ago, I finally came back to give my ortho split keyboards a try again, and ended up feeling the most comfortable with the Kinesis Advantage 2. I've also been spending a lot of time on customizing my layout, initially with KMonad which works surprisingly well, and then with QMK using the USB-to-USB converter by Hasu that I had already bought a couple of years before but never got around to using until now.

KMonad is easier to get started with and handles most things well, and there's no concern about firmware size, but things like MOD_TAP_INTERRUPT and custom tap dance handlers etc (and mouse keys!) are easier to implement in QMK (I'm manually developing my keymap.c and tweaking things in the code rather than using any graphical configurator) + my plan is to start using keebs with native QMK/ZMK-support anyway.

One thing I noticed the first time I was trying to start using ortho split keyboards was that some keys are pretty hard to reach, including most thumbkeys (Keyboardio M01 got it mostly right though, thumb arcs are great). I decided to try to stick to a 34-key based layout, which required me to get a bit more creative to ensure that I can still do everything I need to do and that toggling / switching between layers is intuitive.

My thumb keys right now are bspc & esc on the left hand and ent & spc on the right hand (bspc/spc are the "home keys" for the thumb in this case). I want to be able to type any printable character without interrupting my "flow", so I have shift by holding space and a symbol layer by holding backspace (double tap & hold on the second tap still gives me key-repeat on space/backspace if I want that). CTRL-{C,Z,R,A,E} etc that I use in the shell are also important to have within easy reach, so holding enter gives me ctrl. Finally for esc I have a custom tap dance handler giving me alt if I double tap and hold on the second tap, moving to the base layer if I double tap, and a base layer with homerow mod keys enabled if I hold (and of course single tap is esc).

I tried using homerow mod keys on the regular base layer as well, but regardless of what settings I use I just can't get it to work well enough for me even with tweaked timers and MOD_TAP_INTERRUPT enabled. I really really don't want to risk accidental modifier activations, since that can include shortcuts to forcibly close the active window and other things that can have consequences I'd rather avoid. Having the homerow keys available on a separate layer works well enough though.

I have:

a navigation layer that is activated by pressing both "home" thumb keys at once, where I have arrow keys on the good old hjkl-based positions (for a vim user like me) and home/pgdn/pgup/end on the row below, as well as numbers on the top row and homerow mods on the left side.

A separate navigation layer that is activated by pressing both "non-home" thumb keys at once, where I can navigate between my i3 panes on the right homerow (super+hjkl based), starting a new terminal with the pinky (mapped to super+enter), corresponding tmux+vim bindings (alt+hjkl, alt-enter) on the row below, workspace switching from 1..10 on the entire top row, alt-p/alt-n for prev/next tab in vim/tmux on left index+middle finger on the home row, alt-c/alt-v on the row below for a split horizontal/vertical in vim/tmux (my vim and tmux bindings were already customized this way, so that's what I'm using on a "regular" keyboard).

Once any of the navigation layers are active I can then switch between them with the right "home" thumbkey (i.e. mapped to space on the base layer) and always activate the base layer with a double tap on esc. I can also activate the mouse layer with a tap on the other right thumb key (mapped to enter on the base layer).

Not having to hold a modifier while navigating panes/workspaces etc is actually liberating. :)

The mouse layer can be activated from the navigation layers, as previously described, but it can also be directly activated from the base layer by tapping bspc+ent (i.e. the left thumb keys on both sides). From the mouse layer I can jump to either of the other navigation layers with the thumb keys on the right side. The mouse layer uses traditional hjkl positions for left/down/up/right and corresponding scroll wheel triggers on the row below, and left/right clicks on either the middle+index finger below home row on the left hand, or the pinky home row / row below on the right hand. Changing mouse acceleration between slow/regular/fast on the homerow index/middle/ring finger.

The modifier layer that is activated by holding the "non-home" thumb key on the left side is just like the base layer, but with homerow mod keys enabled, and the symbol layer activated by holding the "home" thumb key on the left side currently has numbers on the top row (since shift is activated by holding the "home" thumb key on the right side, I have easy access to the symbols corresponding to the shifted versions of the numbers as well). I also have homerow mod keys enabled for the symbol layer, so I can apply arbitrary combinations of modifiers for any of the special characters as well.

I also have combos enabled for easy access to shift+ctrl+c/shift+ctrl+v (i.e. copy/paste in terminal/browser etc), by tapping s/d (i.e. middle finger on the home row + index finger on the row below, where v is located on qwerty) for paste and t/c (i.e. index finger on the home row + middle finger on the row below, where c is on both qwerty and colemak) for copy. I have the timeout for tapping both keys at once to just 20ms to avoid doing it by mistake when typing fast, which seems to work well enough. I would avoid binding any really common bigrams/ngrams to combos just in case though.

Really like the current layout so far, but there's definitely room for some improvements. Unfortunately, there's very little room until I've reached the max firmware size for the Hasu USB to USB converter I'm using at the moment though :D So might try to build one with the AT90USB1286 instead (as suggested by Hasu).

Now, to the WTB / Want to Buy part :D

Last but not least, although I really like the comfort of the Kinesis Advantage 2, and the mouse layer I've implemented with the converter+QMK, I still miss having the trackpoint from time to time. So, if any keyboard builder would be willing to build a custom split ortho trackpoint-based keeb, hit me up :D I'm more than willing to pay quite a decent amount for a custom build.

I'm in line for the Santoku, which looks awesome: https://kbd.news/Santoku-Gen-2-842.html - but time is money, so if there's any chance of getting something similar and custom made before this one is available, I'm very interested.

I like the idea of a uniblock keeb, since I usually have the keeb in my lap and it's more stable if it's in one piece, but the typing angle is quite bad on split ortho uniblock keebs in general when you're having the keyboard close to your body in your lap and with the elbows rested against the back of the recliner chair. So, I would either need a wider typing angle than usual, or the split being bigger.

In the Santoku case it is possible to use it in both split and uniblock mode (another awesome feature with that one, tye is really doing a great job with it!), so it can be worked around. Perhaps the best solution for stable "in-lap" typing is to just make a custom base that I keep on the lap and attach the split sides on anyway, so I think maybe a regular split ortho might be better than a uniblock after all. Preferably with low profile keys, and probably choco sunset and choco spacing if it's a custom build. But, any split ortho with a trackpoint is potentially interesting.

Anyway, I'm happy to have found this forum and community! I'm also lurking on ErgoMechKeyboards etc on reddit and a bunch of keeb related discords.