• You are not logged in.

    An Extension to Colemak Layout

    • Started by Wiesniak
    • 3 Replies:
    • Reputation: 0
    • Registered: 24-Nov-2012
    • Posts: 3

    I'd like to ask you what do you think of my idea.

    I write about 60% in English, 40% in Polish, about 95% on Kinesis Advantage, 5% on typical staggered keyboards. So I need a layout, which is not only optimal for English texts but also close to optimal for Polish texts and which is optimized for the Kinesis keyboard (lower ratio of vertical to lateral movement cost, Ctrl and AltGr combinations easily accessible in any position, additional thumb keys). I decided to use Colemak Layout with some modifications to adjust it to my needs. I implemented the layout by registry remapping (with SharpKeys) and all macros with AutoHotkey on my own computer and prepared another version as an AutoHotkey executable, which I can start from a pendrive on any computer. One of the modifications is that I assigned frequently used sequences of letters to rarely used keys, which are now activated with AltGr key (the underscore stands for space):

    • X = The_

    • AltGr+X = X

    • AltGr+x = the_ (0.08% single char vs. 1.12% 4-char word frequency, also reducing HE digraph frequency by 68%, what taking in account also low H usage in Polish, allowed me to keep H on its original (bad) position. All percentages are based on the analysis of my own past writings: 1,000,000 chars in English and 500,000 chars in Polish, where the frequencies differ from that presented in Wikipedia.)

    • AltGr+x = x

    • q = and_ (0.10% single char vs. 0.40% 4-char word frequency)

    • AltGr+Q = Qu (in English Q is always followed by u)

    • AltGr+q = qu

    • j = ing_ (0.15% single char vs. 0.38% 4-char word frequency)

    • AltGr+j = j

    • AltGr+J = J

    • ; = tion_ (0.12% single char vs. 0.35% 4-char word frequency)

    • AltGr+; = ;

    • . = ._ (only where after a letter, 1.30% frequency)

    • , = ,_ (only where after a letter, 0.72% frequency)

    As I calculated, the macros save me about 9% of keystrokes. While writing in Polish, I turn the macros off, but instead remap V (which is not used in Polish, but on the rare occasions of foreign names it can still be accessed with AltGr+W) to another Z (while retaining the Ctrl+V capability). The Z+Ż gives 6.21% in Polish. The sum of T+Z frequencies is about the same in English and Polish, so the load of the left index finger remains constant. But I had to swap D with F to compensate for 1.27% same finger for the left index alone in Polish, to make better finger load distribution and first of all to solve the problem of bad positions of H and D in Colemak layout. In my writing the frequency of D was: 3.40% EN (3.00% remained after introduction of the letter "and "), 3.22% PL and of H: 4.38% EN (3.27% remained after introduction of the letter "the ") and 1.36% PL (the average frequency of H in my writings is now 0.6*3.27%+0.4*1.36%=2.51% - fortunately not so high, so it may remain where it is) , of F: 2.24% EN and 0.45% PL.

    I also added additional Ł as AltGr+I, because reaching AltGr+L would be awkward on non-Kinesis keyboards.

    And below are the four layers of my layout in the following order: 1 - base English, 2 - English with AltGr, 3 - base Polish, 4 - Polish with AltGr



    base English layer

    base English layer



    English with AltGr layer

    English with AltGr layer



    base Polish layer

    base Polish layer



    Polish with AltGr layer

    Polish with AltGr layer

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

    Interesting.

    Why not remap the V directly to Ż in the Polish layer? Or the V to Z and Z to Ż?

    Could the more versatile 'the' trigram possibly be more useful than 'the '?

    If you want to write about the Qin, Qigong, faqirs or al Qaeda you have to disable your macros... but that's worth it I suppose. Still, your setup requires a sharp and focused mind I believe. But obviously you have that. ;)

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

    Offline
    • 0
    • Reputation: 0
    • Registered: 12-Dec-2012
    • Posts: 20

    Doesn't it get awkward having only one each of SHIFT, CTRL and AltGr? Looks like a nasty stretch to type CTRL-A?

    Love the trigraph idea!

    Last edited by debois (06-Jan-2013 19:49:40)
    Offline
    • 0
    • Reputation: 0
    • Registered: 24-Nov-2012
    • Posts: 3

    On the Kinesis keyboard pressing any letter key together with Ctrl, AltGr or Shift (which are pressed with thumbs) is very comfortable. No stretch at all. Therefore there is no need to duplicate these keys. Enter and space are duplicated, because in normal writing I use the right enter and space, but when I only edit the text (usually program source code) making lots of copy/cut/paste, then having additional enter and space on the left thumb allows me for keeping the right hand all the time on my mouse (without constantly moving it between mouse and keyboard) and perform all keyboard actions with the left hand.

    These are rather quadrigraphs than trigraphs. You press one key you get four chars.

    It's "the " and not "the" for two reasons.

    First, because I calculated, that there were (in the analyzed text):
    12480 occurrences of "the "
    15605 occurrences of "the"
    with "the " we have to press the key: 12480 + (15605-12480)*3 = 21855 times
    with "the" it would be: 15605 + 12480 = 28085 times

    Second, because it is faster to detect, that we are currently going to type a separate world "the " than that the next three letters will be t-h-e.

    About Z and Ż. (Z is about 5 times mere frequent than Ż). Placing Z in V position and Ż in Z position would be theoretically most efficient, because it wouldn't require pressing AltGr to get Ż. However, as I observed, I not always remember to press Z in the V position and sometime press Z in the old Z position. With the current configuration it is no problem, but after separating Z and Ż to two different keys it would be.

    Offline
    • 0