My keyboard (Truly Ergonomic + Dvorak)

The problem with standard keyboards is that they are crap. Key layout is crap. It's just that people are so used to it that most haven't even once thought that layout might be different. Just look at this thing (most likely) lying in front of you. Men have only ten fingers and two of them (thumbs) are exclusively operating just one key - space-bar. One of the easiest keys to reach is a useless Caps-Lock (misuse to use ratio of about a hudred). While with pinky stretched good enough one might be able to reach backspace, arrow-keys are impossible press while typing. I would compare typing on a standard keyboard to pissing in a toiled with falling lid (with lid hitting your parts when you accidentally hit Caps-Lock).

Fortunately there are companies where someone actually thinks about how a proper keyboard might look like. The downside is that it's not mass production and keyboards they manufacture are quite expensive. But they are usually quality-build and can last probably until USB is outdated anyway.

The most popular are Kinesis, Typematrix and of course Maltron. My keyboard of choice is Truly Ergonomic (Maltron being too expensive).


Notable features:

Since qwerty layout is also crap (I'll post about in another time) I use Dvorak layout modified to fit my needs.

my layout


This is entry I added to /usr/share/X11/xkb/symbols/pl:

// Polish Dvorak keymaps - math friendly
// by Michal Rawlik <>

// Basic Polish keymap (without Polish quotes)
partial alphanumeric_keys
xkb_symbols "dvorak_math" {
    include "pl(dvorak)"

   name[Group1] = "Poland - Dvorak, math friendly";

    key <AD01> { [         apostrophe,    quotedbl,     parenleft,      dead_diaeresis  ] };
    key <AD02> { [         comma,         less,         parenright,     Ccedilla        ] };
    key <AD03> { [         period,        greater,      bracketleft,    dead_caron      ] };
    key <AD04> { [         p,             P,            bracketright,   Odiaeresis      ] };
    key <AD05> { [         y,             Y,            braceleft,       Udiaeresis     ] };
    key <AD06> { [         f,             F,            braceright,      slash          ] };
    key <AC04> { [         u,             U,            plus,            degree         ] };
    key <AC05> { [         i,             I,            minus,           Iacute         ] };
    key <AC07> { [         h,             H,            braceleft                       ] };
    key <AC08> { [         t,             T,            braceright                      ] }
    key <AB01> { [         z,             Z,            zabovedot,       Zabovedot      ] };
    key <AB02> { [         q,             Q,            zacute,          Zacute         ] };
    key <AB03> { [         j,             J,            asterisk,        Adiaeresis     ] };
    key <AB04> { [         k,             K,            slash,           OE             ] };
    key <AB05> { [         x,             X,            equal,           equal          ] };
    key <AB10> { [         semicolon,     colon,        backslash,       degree         ] };

    include "kpdl(comma)"

    // this to allow writing ALL CAPS with a Shift key
    include "level3(ralt_switch)"

    // use one of compose:* options to choose Multi_key, if you will,
    // or layout +level3(ralt_switch_multikey) to revert standard behaviour

It took me about two months to switch to Dvorak layout (that was still on a standard keyboard). Minor adjustments (swapping 'z' with '-', moving arithmetic symbols) take something like two hours to adopt to. Switching to Truly Ergonomic keyboard took less than a week.

And now typing feels proper.