simpleigh.com

Miscellaneous - Dvorak Keyboard - 2

The Dvorak Keyboard - 2

I've put together a Windows keyboard map based on the UK keyboard (e.g. with " above 2 rather than the US @). The layout uses Ctrl+ key combinations (e.g. Ctrl+Z for undo) which revert to their standard qwerty keyboard locations, which makes cut/copy/paste a lot easier. I've also added in a whole host of special characters. This second version places much of the punctuation characters back in the right places, making learning the layout simpler and slightly improving the keyboard for programmers, as can be seen below:

Shift

AltGr (or Ctrl+Alt)

Shift+AltGr

Download - 254KB .zip

I've now implemented the core of this keyboard map for X (tested on Xubuntu). Add the following code at the bottom of the /usr/share/X11/xkb/symbols/gb file.

partial alphanumeric_keys
xkb_symbols "dvorakuk" {

    include "gb(dvorakukp)"

    name[Group1]="English (DvorakUK)";

    key <AE00>  { [ grave,      notsign,     brokenbar,      dead_grave      ] };
    key <AE01>  { [ 1,          exclam,      onesuperior,    exclamdown      ] };
    key <AE02>  { [ 2,          quotedbl,    twosuperior,    onehalf         ] };
    key <AE03>  { [ 3,          sterling,    threesuperior,  threequarters   ] };
    key <AE04>  { [ 4,          dollar,      EuroSign,       onequarter      ] };
    key <AE05>  { [ 5,          percent,     VoidSymbol,     VoidSymbol      ] };
    key <AE06>  { [ 6,          asciicircum, VoidSymbol,     dead_circumflex ] };
    key <AE07>  { [ 7,          ampersand,   VoidSymbol,     VoidSymbol      ] };
    key <AE08>  { [ 8,          asterisk,    VoidSymbol,     multiply        ] };
    key <AE09>  { [ 9,          parenleft,   VoidSymbol,     VoidSymbol      ] };
    key <AE10>  { [ 0,          parenright,  degree,         VoidSymbol      ] };
    key <AE11>  { [ minus,      underscore,  VoidSymbol,     VoidSymbol      ] };
    key <AE12>  { [ equal,      plus,        plusminus,      VoidSymbol      ] };
    key <AD01>  { [ semicolon,  colon,       VoidSymbol,     dead_diaeresis  ] };
    key <AD02>  { [ comma,      less,        guillemotleft,  VoidSymbol      ] };
    key <AD03>  { [ period,     greater,     guillemotright, VoidSymbol      ] };
    key <AD04>  { [ p,          P,           registered,     paragraph       ] };
    key <AD08>  { [ c,          C,           ccedilla,       Ccedilla        ] };
    key <AC01>  { [ a,          A,           aacute,         agrave          ] };
    key <AC02>  { [ o,          O,           oacute,         ograve          ] };
    key <AC03>  { [ e,          E,           eacute,         egrave          ] };
    key <AC04>  { [ u,          U,           uacute,         ugrave          ] };
    key <AC05>  { [ i,          I,           iacute,         igrave          ] };
    key <AC09>  { [ n,          N,           ntilde,         Ntilde          ] };
    key <AC11>  { [ apostrophe, at,          VoidSymbol,     dead_acute      ] };
    key <AC12>  { [ numbersign, asciitilde,  VoidSymbol,     dead_tilde      ] };
    key <AB01>  { [ z,          Z,           VoidSymbol,     VoidSymbol      ] };
    key <AB03>  { [ j,          J,           copyright,      VoidSymbol      ] };
    key <AB04>  { [ k,          K,           ae,             AE              ] };
    key <AB05>  { [ x,          X,           oe,             OE              ] };
    key <AB06>  { [ b,          B,           ssharp,         VoidSymbol      ] };
    key <AB07>  { [ m,          M,           mu,             VoidSymbol      ] };
    key <AB10>  { [ slash,      question,    VoidSymbol,     questiondown    ] };

    include "level3(ralt_switch)"
};

In order for this to be recognised by Gnome you may well need to add appropriate entries to /usr/share/X11/xkb/rules/evdev.{lst,xml}.