Now playing: Don’t stop believing by Journey

I updated my left-hand Dvorak Mirrorboard layout!

You might remember my last post on the topic, with the basic use cases and reasons why I bother.

This is an updated version of the layout, which I’m using now, with a couple of changes from the previous version:

  1. Different number keys
  2. Dead diaeresis/umlaut (öäëüï) on Shift+Mod+Tab (I need to type German from time to time, strictly for personal use).
  3. Fixed bug with []{} near the “real” backspace key, now they work!

2017-07-27-174355_372x331_scrot

How to read the image above:

key_with_explanations

 

 

 

The image of the layout was done with the absolutely excellent http://www.keyboard-layout-editor.com/.

// Dvorak MirrorBoard v2, based on MirrorBoard one-hand keymapping

// Original keymap: https://blog.xkcd.com/2007/08/14/mirrorboard-a-one-handed-keyboard-layout-for-the-lazy/
// Changes and details: https://www.pchr8.net/blog/2017/02/02/dvorak-mirrorboard-layout-based-randall-munroes-mirrorboard/

default  partial alphanumeric_keys modifier_keys
  xkb_symbols   "dvorak-mirrorboard" {

// Using L-Alt as modifier instead of Caps lock.

// Additionally, it's a Latch key, not a Shift one, so pressing it once activates the group. 
    key <LALT> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ ISO_Level3_Latch ] };

// Mod+Space is return

// Tilde is Backspace by itself, 
// Mod+Tilde is Return 
    key <SPCE> { [ space, space, Return ] };
    key <TLDE> {  [     BackSpace,    asciitilde, Return, asciitilde  ]   };

// Mod+Tab gives a slash, which I use often (searching etc.) 
// Mod+Shift+Tab gives an umlaut on the next character

    key  <TAB> {  [ Tab,  ISO_Left_Tab, slash, dead_diaeresis]    };

    key <AD01> { [  apostrophe,   quotedbl, l, L] };
    key <AD02> { [    comma,  less,   r, R] };
    key <AD03> { [      period,   greater, c, C] };
    key <AD04> { [        p,  P, g, G     ]   };
    key <AD05> { [        y,  Y, f, F     ]   };

    key <AC01> { [        a,  A, s, S         ]   };
    key <AC02> { [        o,  O, n, N     ]   };
    key <AC03> { [        e,  E, t, T     ]   };
    key <AC04> { [        u,  U, h, H     ]   };
    key <AC05> { [        i,  I, d, D     ]   };

    key <AB01> { [   semicolon,   colon,z, Z] };
    key <AB02> { [        q,  Q, v, V     ]   };
    key <AB03> { [        j,  J, w, W     ]   };
    key <AB04> { [        k,  K, m, M     ]   };
    key <AB05> { [        x,  X, b, B     ]   };

    key <AE01> {  [     1,    exclam,     0,  parenleft   ]   };
    key <AE02> {  [     2,    at,     9,  parenright  ]   };
    key <AE03> {  [     3,    numbersign, 8,  asterisk    ]   };
    key <AE04> {  [     4,    dollar,     7,  ampersand   ]   };
    key <AE05> {  [     5,    percent,    6,  asciicircum ]   };

    key <AD06> { [        f,  F       ]   };
    key <AD07> { [        g,  G       ]   };
    key <AD08> { [        c,  C       ]   };
    key <AD09> { [        r,  R       ]   };
    key <AD10> { [        l,  L       ]   };
    key <AD11> { [    slash,  question    ]   };
    key <AD12> { [    equal,  plus        ]   };


    key <AC06> { [        d,  D       ]   };
    key <AC07> { [        h,  H       ]   };
    key <AC08> { [        t,  T       ]   };
    key <AC09> { [        n,  N       ]   };
    key <AC10> { [        s,  S       ]   };
    key <AC11> { [    minus,  underscore  ]   };

    key <AB06> { [        b,  B       ]   };
    key <AB07> { [        m,  M       ]   };
    key <AB08> { [        w,  W       ]   };
    key <AB09> { [        v,  V       ]   };
    key <AB10> { [        z,  Z       ]   };

    key <BKSL> { [  backslash,  bar             ]       };


    key <AE06> {  [     6,    asciicircum ]   };
    key <AE07> {  [     7,    ampersand   ]   };
    key <AE08> {  [     8,    asterisk    ]   };
    key <AE09> {  [     9,    parenleft   ]   };
    key <AE10> {  [     0,    parenright  ]   };
    key <AE11> {  [     bracketleft,  braceleft   ]   };
    key <AE12> {  [     bracketright, braceright      ]   };

  };

Raw JSON of the layout:

Later on, when I will have time / will get inspired, I will write a general outline of my heavily modified keyboard layout, with a couple additional modifier keys, a couple of remapped keys, and how it al plays nicely with the i3 windows manager.

Up next, sometime, I should do a right-hand version. A bit less useful (still have to learn to eat with my left hand), but much more flexible in terms of functionality. I can reach much more keys with my right hand.

Over and out!

(У)