Setup: "Colemax" - my extended configuration

I’d like to share my configuration, at least a quick overview.

My journey started before I even had a UHK. I switched over to a Colemak keyboard layout, went from full keyboard to TKL and to 60%, and started adding an ‘extend’ layer triggered by holding down CapsLock. I used AHK on Windows, and xkb on Linux to implement that layer.

When I got my UHK, I wanted to keep that setup – to keep it compatible with my muscle memory, and to be able to use the same layout even when I worked without the UHK, e.g. on my Laptop.

I called the keymap “Colemax” as it was a pimped-up version of Colemak :wink: Later I extended the “extend” layer, so it became “maxtend” :smiley:

I believe several of my ideas around “maxtend” are applicable without Colemak. Feel free to adapt it to Qwerty.

I have documented my full setup in my Maxtend Github repository (and I am still updating it), including all relevant macros.

Here’s a quick overview of the layers:

This looks like Qwerty, because I use a Colemak layout on the host OS. So the UHK needs to send US-QWERTY scancodes, which get converted on the host.

Alternate base with home-row mods:

Mod layer triggered by maxtend. Tapped on its own, maxtend works as Backspace.

Mouse layer with a few extra tweaks for browser tab navigation, Alt-Tab and Escape. You activate it by holding left Space.

The fn layer has media control, and some AltGr/Alt compatibility mappings (fn is easier to reach than AltGr/Alt).

fn2 contains a mirror map (experimental) so you can type text with only your left hand.

And finally, fn5 is a number pad. You get there by holding numtab. (Tapping works as a normal Tab key.) You can also lock/unlock this layer by holding Shift+numtab.

Find a semi-automated export of my macros here: readable version of macros

Enjoy! Let me know if it’s useful. I will keep updating the Github repo, but maybe not this post.

4 Likes

Note that I am constantly reworking and updating this config. Latest enhancements are a layer for numbers in the home row (activated by holding down right space), and some other tweaks. They will be committed to Github soon.

1 Like

Can you share your Typing Behavior settings for the secondary layer? I tried using this feature and it was unusable, even reducing the threshold.

I initialise them in $onInit so the settings in the Agent UI are irrelevant.

You can find my complete config in my Github including a text export of all the macros. I just committed and pushed the latest version a few hours ago.

1 Like

This looks like Qwerty, because I use a Colemak layout on the host OS. So the UHK needs to send US-QWERTY scancodes, which get converted on the host.

Guessing that’s so you’re not locked into UHK-verse alone?

fn2 contains a mirror map (experimental) so you can type text with only your left hand

Now this is something crazy niche and exciting. How proficient are you/are you actually using it?

Btw thanks for pointing out Kanata exists. Been using keyd thus far, glad to see there are other options out there.

Yes, I use Colemak on the host so that I can type on the Laptop keyboard as well, or any other input device, and still get Colemak layout.

I’ve given up on the mirror keymap. I thought it’d be cool, but turns out I really never used it or learned it in any meaningful way. I changed some of the layers and settings in the past months as I also built myself an ErgoTravel keyboard with a 40% columnar stagger ortho layout. So I had to add some layers for numbers and symbols, which I also replicated on my UHK layout - just so I stay compatible, and my muscle memory works mostly on all my keyboards in a very similar way.

It’s all in my maxtend github :wink:

Yeah, that was the same for me. I used keyd before (and it was not bad, and very easy to configure), but switched over to Kanata. It can do so much more.

Actually, I do use a mirror keymap. For serious writing it is not profficient. But it does a great job when:

  • typing first three or so letters of a url (I can control browser with a single hand without troubles)
  • reaching right half keys in applications that need to be controlled by right hand on an actual mouse while tapping keys with left - gaming, graphics software
  • in games it extends the number of mappable action keys that are easily reachable with the left hand
3 Likes

man i’m comparatively uncreative. The craziest thing I have is several macros in my fn layer that let me switch parent pc’s desktops even when in a citrix desktop session ( thank god for ctrl+alt+pause to take focus off )

The other thing I quite like is doubling my mouse button as a escape key on key up if I don’t press another key with it.

1 Like

Well, I no longer set them in onInit, so here is a screenshot from the relevant settings in Agent:

1 Like