// XKB config file for a more-or-less US Dvorak keyboard with punctuation
// arranged as we prefer -- PMM 2006-07-09
// This is based on the US-dvorak part of /etc/X11/xkb/symbols/us
// To add this keyboard layout, copy it to /etc/X11/xkb/symbols/pmm
// and then add it to the lists in
// /etc/X11/xkb/rules/xorg.lst
// -- a line in the layout section reading:
// pmm PMM Dvorak
// /etc/X11/xkb/rules/xorg.xml
// -- a stanza in the layoutList like this:
//
//
// pmm
// PMM
// PMM Dvorak
//
//
//
// so it appears to X and Gnome.
// (for an xfree86 server, that's xfree86.{lst,xml})
partial alphanumeric_keys
xkb_symbols "pmm-dvorak" {
name[Group1]= "PMM - Dvorak";
// Alphanumeric section
// this doesn't actually work on a Japanese keyboard because the
// key left of 1 isn't TLDE but some input-method-related key.
// So we duplicate it in AE12 later
key { [ grave, asciitilde, dead_grave, dead_tilde ] };
// Let's see if this works: this is what that key is in jp106:
// Doesn't seem to, sigh.
key { [ grave, asciitilde, dead_grave, dead_tilde ] };
key { [ 1, exclam ] };
key { [ 2, at ] };
key { [ 3, numbersign ] };
key { [ 4, dollar ] };
key { [ 5, percent ] };
key { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
key { [ 7, ampersand ] };
key { [ 8, asterisk ] };
// shift-9 and 0 are [], not ()
key { [ 9, bracketleft, dead_grave] };
key { [ 0, bracketright ] };
// these keys to the right of 0 are different
key { [ numbersign, asciitilde ] };
// see note above about TLDE
// Unfortunately for the benefit of the Kinesis keyboard we have to
// map this to parenleft braceleft, because we've set the Kinesis capslock
// key to generate this keycode (because it won't do key repeat on the capslock
// keycode). Hohum.
//key { [ grave, asciitilde] };
key { [ parenleft, braceleft ] };
key { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] };
key { [ comma, less, dead_cedilla, dead_caron ] };
key { [ period, greater, dead_abovedot, periodcentered ] };
key { [ p, P ] };
key { [ y, Y ] };
key { [ f, F ] };
key { [ g, G ] };
key { [ c, C ] };
key { [ r, R ] };
key { [ l, L ] };
key { [ slash, question ] };
key { [ equal, plus ] };
key { [ parenleft, braceleft ] };
key { [ a, A ] };
key { [ o, O ] };
key { [ e, E ] };
key { [ u, U ] };
key { [ i, I ] };
key { [ d, D ] };
key { [ h, H ] };
key { [ t, T ] };
key { [ n, N ] };
key { [ s, S ] };
// parenright goes here
key { [ parenright, braceright ] };
key { [ minus, underscore ] };
// On a UK keyboard it's not AC12 but BKSL
key { [ minus, underscore ] };
key { [ semicolon, colon, dead_ogonek, dead_doubleacute ] };
key { [ q, Q ] };
key { [ j, J ] };
key { [ k, K ] };
key { [ x, X ] };
key { [ b, B ] };
key { [ m, M ] };
key { [ w, W ] };
key { [ v, V ] };
key { [ z, Z ] };
// This key only exists on JP pc106 keyboards (just left of rightshift)
key { [ backslash, bar ] };
// On a UK keyboard this is the key just right of leftshift
key { [ backslash, bar ] };
};