Author Topic: My new keyboard layout - Kaehi  (Read 2750 times)

0 Members and 1 Guest are viewing this topic.

Offline Elliot George

  • Thread Starter
  • Posts: 3
    • elliotgeorge.net
My new keyboard layout - Kaehi
« on: Wed, 21 November 2018, 23:33:52 »
Hey all, for a few months now I have been working on a new keyboard layout, and itís finally complete! I got sucked into the layout wormhole after I started learning Colemak and just wasnít finding it comfortable. To find this layout I created a scoring system that favoured movements I found to be comfortable, and used randomisation and a simple genetic algorithm to find high scoring layouts. There was also a long period of trialing and tweaking to get it just right.

The qualities I considered important are - low single finger bigrams (of course), a high inwards roll : outwards roll ratio (I don't like outwards rolls that much), avoiding particularly bad rolls like pinky -> middle finger and keeping particularly good rolls such as adjacent finger rolls and pinky -> index finger rolls. Low travel distance was favoured, but not too highly - it's trivial to beat qwerty by almost 50% on this metric, but it's not worth a lot of attention due to diminishing returns.



and for comparison,
Colemak -


and QWERTY -


Patrick Gillespie's popular web based analyser rates my layout pretty highly -


I've been using this layout full time for almost two months. I wrote a detailed article on my blog about the process of creating this layout for those interested - https://elliotgeorge.net/2018/11/22/the-kaehi-keyboard-layout/

Offline stevep

  • Posts: 23
    • Colemak Mod-DH
Re: My new keyboard layout - Kaehi
« Reply #1 on: Thu, 22 November 2018, 10:02:54 »
Ah what fun, another Colemak variant! I can see the logic behind most of your choices, and I see you prefer to have all your vowels together (almost Dvorak style!).

The placement of A does lead to new same-finger bigrams like AY and FA though. If I were going for all vowels together, I think I'd be inclined to have A on the far right (Colemak O position) and then have I where you put A, as there are fewer bigram collisions involving I compared to A.

I see in your blog post you considered Mod-DH, but I don't understand why you say the "the HE bigram is not much more comfortable". It could hardly be more comfortable, those two keys are a natural rolling pair! Well, unless your typing technique is very different from mine. In your layout it corresponds to the FE bigram, which I'd imagine you are finding quite comfortable?

To avoid splitting up ZXCV, I'd recommend trying the right-hand side only of Mod-DH, and on the left hand side, a simple D>P>G rotation. This gives D in the same place you have it and reverts G to its Qwerty spot.

« Last Edit: Thu, 22 November 2018, 10:10:35 by stevep »

Offline Elliot George

  • Thread Starter
  • Posts: 3
    • elliotgeorge.net
Re: My new keyboard layout - Kaehi
« Reply #2 on: Thu, 22 November 2018, 19:47:50 »
Hi Steve, you're right, mod-DH is a big improvement over vanilla colemak for the 'HE' bigram, I might have understated that. However, making it a ring -> middle finger roll instead is an even bigger improvement, and I think that's important for the second most common bigram in English.

I would also say that I didn't really choose to put all vowels together, that was the work of the algorithm, as soon as you value lowering outwards rolls, the A key has to move from its qwerty/colemak position.
In terms of swapping I and A on my layout, it actually leads to more single finger bigrams (depending a little on the corpus used) -


As well as a lower inroll : outroll ratio. This layout is heavily optimised, you can't really improve the single finger stat without a significant rework. Colemak is very optimised for single finger, so I knew I wouldn't beat it on that stat, but you can see that my layout is not too much worse on this, its other qualities make up for that to me.

edit - also, swapping I and A would make 'IF' a single finger bigram, which, as a coder, would not be fun at all :P
« Last Edit: Thu, 22 November 2018, 20:07:51 by Elliot George »

Offline stevep

  • Posts: 23
    • Colemak Mod-DH
Re: My new keyboard layout - Kaehi
« Reply #3 on: Fri, 23 November 2018, 03:52:02 »
Yes, a simple I-A swap would be problematic as you say. I should've been clearer that I meant those vowel positions would then be the basis to build on. The F would certainly need to also move in that case.

I think index-middle are the best possible rolls as they are the two strongest fingers - for example, ST is perfect!  For me ring-middle combos are not quite as good, but I guess it depends on the relative strength of your ring finger.
« Last Edit: Fri, 23 November 2018, 03:58:58 by stevep »

Offline oneproduct

  • Posts: 857
  • Location: Montreal, Canada
  • @Ubisoft
Re: My new keyboard layout - Kaehi
« Reply #4 on: Sat, 08 December 2018, 00:56:47 »
It bears a fair resemblance to a layout I came up with several years ago as well. The NRST on the left hand, the EO together and the AEIH on the right jumped out at me, as well as the LDWG all being on the top row of the left hand.

I made a post about mine here: https://geekhack.org/index.php?topic=67604.0 but there's an updated version of the layout lower down in post 25 https://geekhack.org/index.php?topic=67604.msg1610847#msg1610847





Heuristically, my layout is quite good in terms of alternation, in/out roll ratio (but I didn't consider the comfort of the different types of rolls), hand balance, and same finger (I didn't count double letters). It's #1 if you look over here for layouts using the Keyboard Layout Analyzer scoring version and #4 if you use Den's scoring version. https://keyboard-design.com/best-layouts-interactive-explorer.html

However, I think there's more to be said about these layouts that aren't quite captured by the heuristics I used personally (different from the websites) or the ones from the websites. I tried learning mine for a bit and while there's a lot of things I like about it, there's a few things I don't. Notably, I think that alternation is good up to a point, but too much is a bad thing. We discussed that a bit in the thread I linked (I think) and talked about how it might be better to optimize for the number of consecutive key presses on the same hand (but not the same finger) being two rather than one (i.e. nearing 100% alternation would actually be a bad thing).

For now, I'm still using Colemak and quite enjoy it, but every now and then I think about learning another layout. If I did though, it would probably be a layout that uses the second thumb for a letter, probably E.
« Last Edit: Sat, 08 December 2018, 01:13:51 by oneproduct »
Layout: Colemak
Fastest typing speed: 131 WPM on typeracer, 136 WPM on 10fastfingers.
Daily driver: Filco Tenkeyless MX Brown with ergonomically weighted, lubed springs.
Ergo keyboards: Truly Ergonomic, Kinesis Advantage, Ergodox

Offline Elliot George

  • Thread Starter
  • Posts: 3
    • elliotgeorge.net
Re: My new keyboard layout - Kaehi
« Reply #5 on: Fri, 28 December 2018, 00:25:55 »
That is very similar, but I guess I shouldn't be surprised. The NRST and vowel clusters seem to be an inevitable result of valuing inrolls and homerow frequency.
Your layout has much better stats, my layout lost a lot of statistical efficiency in order to keep the ZXCV cluster, the punctuation, and overall comfort. Earlier iterations had higher stats, but a lot of manual comfort tweaks slowly eroded that. But I think that's ok, the single finger bigrams are reasonably low, the inroll-outroll ratio is reasonably high, but most importantly, the comfort is super high imo.
I agree with you about alternation as well, I would prefer the alternation to be a little lower, but I don't think that's really possible without moving some vowels and therefore gaining a lot of outrolls.

Online Sintpinty

  • Posts: 186
  • Location: A can of beans in the cupboard
  • AKA Bitba_t. Loves keebs and Quora.
    • My promotion link
Re: My new keyboard layout - Kaehi
« Reply #6 on: Mon, 04 March 2019, 11:59:54 »
Nice!
Sent from a trash bin.

Bitba_t

My keeb :P