• You are not logged in.

A Kmonad-based 6-layer keyboard configuration

  • Started by stevep99
  • 47 Replies:
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978

I have been using Kmonad (on Linux) for the last week or two, evaluating it as a possible replacement for using XKB for my keyboard configuration needs. Although I previously looked at it a few months ago but decided to stick with XKB at that time, I've now decided to make the switch and use Kmonad.

My typing setup, which has evolved over the years, these days amounts to this:
- Main layer (plus shifted) - Colemak-DH alpha keys
- Extend layer - for navigation, based on DreymaR's
- Symbols layers - to bring non-alphabetic characters to the 30-key main body.
- Function key layer (when using my small-form factor Atreus board)

All of this is implementable in KMonad. What has really swung it for me though, is the ease with which you can move around keys (including modifiers), have arbitrary layers, and different layer selection mechanisms. While you can do some of this stuff in XKB, it's just a bit cumbersome and awkward. But Kmonad also has some QMK-like features that XKB doesn't have. For example, a couple of weeks ago I put in a request to implement sticky (one-shot) modifiers with timeout, and - kudos to the Kmonad guys - they have duly implemented it. This feature is a game-changer IMO! The one thing XKB remains better for - unicode characters support - is not too big a deal, as Kmonad does at least support for automated compose key strings, which is good enough (for me anyway).

To mark this occasion, I have written up my new Kmonad configuration and given it a name (Seniply) - although in reality it's pretty close to my previous XKB-based setup I've been using for a while now. I've fully adopted the minimalist ergo layout style, similar to Miryoku, but able support both standard(-ish) and 40% boards, since I use both. In my case though, the layer selection is done using thumb keys and there are no dual-role home-key modifiers. So far it is working great!

Last edited by stevep99 (11-Apr-2021 17:41:15)

Using Colemak-DH with Seniply.

Offline
  • 1
  • Reputation: 1
  • Registered: 20-Mar-2021
  • Posts: 10

Looks neat! I may try this on my Atreus.

May I ask, do you find the single thumb-shift key comfortable? I, personally, couldn't do it without opposing shift keys, even as thumb-shift keys.

Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978

The single thumb-shift is super-comfortable. For modifier thumb keys that combine with keys on both sides of the keyboard, like Shift, it helps to have them in the more central, inner positions, which is why Shift is positioned where it is. From there you can easily hold shift with your thumb and your hand still has freedom to reach any key - especially on a minimal board designs.

Where I think your have a fair point, is when commonly needed modifiers are in the outer positions and then combine with alpha keys on the same side. I have previously experimented with shift on the outer thumb key (i.e. switching Shift with Extend),  and it's certainly not as nice, especially for reaching inner alpha keys like G and B for example. It's still OK for the less frequent combos though: Extend-G and Extend-B are much less common than Shift-G and Shift-B after all.

Basically the solution to that issue is to design the outer modifiers and layers so that the most frequent keys they combine with are either on the opposite side, or at least, not on the inner-part of the same side.

Last edited by stevep99 (12-Apr-2021 15:07:14)

Using Colemak-DH with Seniply.

Offline
  • 0
  • Reputation: 4
  • Registered: 27-May-2016
  • Posts: 7

Looks cool. I’ll definitely be looking over it. It bears some resemblance to my current layout (in that there are layers, the thumbs are active, and there’s little reaching). I’m curious, what does the R do? What’s a Super?

Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978

> Super

It's the Windows key, I should update the text to make that clearer.

Using Colemak-DH with Seniply.

Offline
  • 0
  • Reputation: 3
  • Registered: 04-Aug-2019
  • Posts: 12

Steve this looks great! Nice write up of all the layers too! I've ordered a new keyboard. When it arrives I'm going to base my main layers on your base, extend, and symbols layers.

I'm already using DH and extend, but I've never had a keyboard with reasonable thumb keys, so I'm looking forward to getting my thumbs more involved and easing the load on the fingers.

I need a numpad on the left side of the keyboard (I need access to the numpad while my right hand is on the mouse), so I was thinking I'll just flip your symbols layer horizontally.

What do you think of dual-role keys for the thumbs? For example - space/shift/enter on tap, activate layer on hold. I currently use caps lock key as backspace on tap, extend layer on hold with no issue.

Thanks for posting this configuration!

Last edited by AlexP (13-Oct-2021 15:15:57)
Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978

Glad you like the look of it - I'm still using this configuration as my daily driver and it's working well for me!  Having a good selection of thumb keys (min 4 but ideally 6) is the.. umm.. key to reaching to reaching keyboard nirvana!

Can't see any problem with flipping the symbols layer, except maybe that people usually use numpads (pin entry, phones, etc) with their right hand, so left might feel a bit unnatural at first, unless you're naturally left handed.

I haven't done much with dual-role keys. I once tried dual space/shift, but it didn't work out. I don't think space is a natural fit for dual role because it's too common, but other options might be viable. I quite like modifiers as OSM/sticky, which precludes using them as dual role.

What kind of keyboard will you be getting?

Using Colemak-DH with Seniply.

Offline
  • 0
  • Reputation: 3
  • Registered: 04-Aug-2019
  • Posts: 12

Hi Steve, thanks for the reply. It's interesting you said "min 4 but ideally 6" as a good section of thumb keys. As Seniply uses 4. Out of interest - If using a board with 6 thumb keys. What would you assign to the other two keys?

I understand why you placed the numpad on the right, it makes sense to be there for familiarity for most people. It's good to know that you can't see any problem with flipping the symbols layer.

Also I've always used left thumb for space, so I was thinking of moving that to the left thumb key with shift moving to the right. Do you foresee any issue with switching the space and shift thumb keys?

I'm getting a Kyria!

Last edited by AlexP (14-Oct-2021 07:22:05)
Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978

Seniply uses 4 as a minimum, but I think I say somewhere that you can use a third thumb key on each hand as an alternative for the Function and Symbols2 layers, rather than using the two-simultaneous-thumbs method. I kept it to 4 to maintain compatibility with standard(-ish) hardware, where you can just about get 4 usable thumb keys, especially with a split-space (but otherwise traditional) board.

My Matias Ergo Pro (which I was originally using Seniply on) failed a while back, so I am exclusively using Ergo boards these days. This means I always have 6 thumb keys, and have started to rely on them. Probably most people who would consider Seniply or something like it are using Ergo boards too, so maybe I'll update it at some point to make the 6 thumb-key option more prominent.

There may be some minor issues with having space on the left:
- assuming you keep Extend on the left also, Extend-space (for enter) won't be nice. You could remap it though - but I have to say, Extend-space is one of my favourite mappings!
- on standard hardware you'd need to remap the Function and Symbols2 layers as well since those combos are chosen to not conflict with space. On a Kyria should be OK though.

Last edited by stevep99 (16-Oct-2021 16:37:09)

Using Colemak-DH with Seniply.

Offline
  • 0
  • Reputation: 3
  • Registered: 04-Aug-2019
  • Posts: 12

Ah yes. You do mention using extra thumb keys for those layers. I must have missed that.

Regarding having space on the left - I can imagine that extend-space is super nice! When working I do use space and enter (holding extend on caps and pressing space for enter) with just my left hand while using the mouse with my right, so I'll have to figure something out for those.

Steve, thanks for your response.

Last edited by AlexP (15-Oct-2021 06:10:46)
Offline
  • 0
  • Reputation: 11
  • Registered: 06-Jun-2013
  • Posts: 560

How would one achieve Ctrl-Shift n using seniply (on an atreus)?

More generally, how does one make use of the Ctrl-Shift key on the extend layer?

I have to press Extend - < to get Ctrl - Shift, but then how do I get the n while I'm in the Extend layer?

I'm probably being daft, but I can't see how you do it!

Last edited by bph (20-Nov-2021 17:16:22)
Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978

I actually use that exact shortcut (Ctrl-shift-n) quite a lot!

(Extend down) (tap s) (tap t) (Extend up) (tap n)

It works because in Extend mode, Control and Shift are also sticky keys.
Might seem a bit tricky at first but it's quite fast and easy when you're used to the pattern.

Last edited by stevep99 (20-Nov-2021 18:37:42)

Using Colemak-DH with Seniply.

Offline
  • 1
  • Reputation: 11
  • Registered: 06-Jun-2013
  • Posts: 560

Many thanks! That did the trick.

I can see how sticky keys (is that one and the same as one shot modifiers or OSM) allow you to use final keys in the base layer, but how do you use a non sticky key like the C+Shift on the extend layer below the down arrow key? Can you only use that with other keys also on the extend layer?

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,363

Sticky Ext modifiers sound nifty, but I haven't got that in EPKL (yet). Does it sometimes get ... sticky?

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978

I find it works well. The only sticking point is the timeout - might be less than ideal if you type Extend-T, and then forget. QMK can be configured with a timeout but I don't think it's currently possible in Chrysalis.

Apart from that minor issue, I quite like using the sticky Extend modifiers! It's the special sauce which makes 34 and 36 key layouts viable.

Last edited by stevep99 (23-Nov-2021 17:25:18)

Using Colemak-DH with Seniply.

Offline
  • 0
  • Reputation: 11
  • Registered: 06-Jun-2013
  • Posts: 560

Ctrl-Alt-t (new term) - how do I do it?

(Extend down) (tap a) (tap t) (Extend up) (tap t)

would have been my best guess, but it doesn't seem to work.

Last edited by bph (07-Dec-2021 22:52:59)
Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978

Yes, that looks right. If I do (using Ubuntu):

(Extend down) (tap a) (tap t) (Extend up) (tap t)

I get a new terminal pop up.

Is that definitely the right shortcut mapping on your system?

Last edited by stevep99 (10-Dec-2021 17:51:29)

Using Colemak-DH with Seniply.

Offline
  • 0
  • Reputation: 11
  • Registered: 06-Jun-2013
  • Posts: 560

Yep, its a curious one.

Key 40 is the extend, shift to layer 2 key, i.e. key under 'v'

Key 12 is OneShot Alt on layer 2, the 'a' key

Key  15 is OneShot Left Control on layer 2, the 't' key

but extend, a, t then extend up and t definitely doesn't do anything for me.

If I hit the straight ctrl, alt, t all from layer 0 then I get a term as expected.. curious..

I wonder whats different for me over what you have?

Last edited by bph (12-Dec-2021 20:59:09)
Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978

Can't really explain it. Different versions of Chrysalis? Or different behaviour in the OS - maybe there is a sensitivity on timings on key up/down events for certain operations. Mysterious.

Using Colemak-DH with Seniply.

Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978

I've also been experimenting with some amendments to my symbols layers. I've been wanting to get some of the more frequent characters from Symbols2 into the main symbols layer, especially as some of these keys are single-tap on normal keyboards (e.g. backslash).  So, I've demoted the shifted-number characters - these now occupy their equivalent number key in Symbols2. I've kept ! and " in Symbols1 though, the quote characters in particular is important enough to have a good place. Shift-2 isn't ideal, although of course on US mappings it's on Shift-apostrophe anyway. This is my current working symbols config:

Symbols1:
seniply_uk_matrix_symbols1.png

Symbols2 (UK mapping):
seniply_uk_matrix_symbols2.png

Last edited by stevep99 (16-Dec-2021 12:36:47)

Using Colemak-DH with Seniply.

Offline
  • 0
  • Reputation: 11
  • Registered: 06-Jun-2013
  • Posts: 560

ooh, interesting! Is the chrysalis stuff on github up to date with this?

Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978

It is indeed.

Using Colemak-DH with Seniply.

Offline
  • 0
  • Reputation: 11
  • Registered: 06-Jun-2013
  • Posts: 560

Steve, you don't happen to have an image of the prior arrangement do you (symbols 1 & symbols 2 before your rearrange)? I'm trying to figure out what's different. Also, how are you making these nice images? Have you got a tool to automatically produce them?

Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978

Old versions are in github
https://github.com/stevep99/seniply/blo … mbols1.png
https://github.com/stevep99/seniply/blo … mbols2.png

The images are generated using this Android app I made:
https://play.google.com/store/apps/deta … _companion

Last edited by stevep99 (14-Jan-2022 12:20:10)

Using Colemak-DH with Seniply.

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,363

I don't find all those symbol mappings intuitive, but thay may just be me?

Do you ever use the not symbol (¬)? Mine just sits there in my AltGr+Shift layer, gathering dust since 2009 or so. Heh.

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0