// $XdotOrg: xc/programs/xkbcomp/symbols/dvorak,v 1.2 2004/04/23 19:54:52 eich Exp $
// $Xorg: dvorak,v 1.3 2000/08/17 19:54:42 cpqbld Exp $

// symbols definition for a very simple dvorak layout.
// It has basically the alphanumeric keys, punctuation, 
// one shift key, one control key and caps lock. It 
// uses the punctuation keys configurations common on PC 
// keyboards (e.g. key <ABO9> is { [ period greater ] })

// $XFree86: xc/programs/xkbcomp/symbols/dvorak,v 3.10 2003/08/08 06:27:09 dawes Exp $

partial default alphanumeric_keys
xkb_symbols "basic" {

    include "srvr_ctrl(xfree86)"

    name[Group1]= "Dvorak";
    key <ESC>  {	[ Escape			]	};

    // Alphanumeric section
    key <TLDE> {	[       grave,	asciitilde	],
			[  dead_grave,	dead_tilde	]	};

    key <AE01> {	[	    1,	exclam 		]	};
    key <AE02> {	[	    2,	at		]	};
    key <AE03> {	[	    3,	numbersign	]	};
    key <AE04> {	[	    4,	dollar		]	};
    key <AE05> {	[	    5,	percent		]	};
    key <AE06> {	[	    6,	asciicircum	],
			[ dead_circumflex, dead_circumflex ]	};
    key <AE07> {	[	    7,	ampersand	]	};
    key <AE08> {	[	    8,	asterisk	]	};
    key <AE09> {	[	    9,	parenleft	],
			[  dead_grave			]	};
    key <AE10> {	[	    0,	parenright	]	};
    key <AE11> {	[ bracketleft,	braceleft	]	};
    key <AE12> {	[ bracketright,	braceright	],
			[  dead_tilde			]	};
    key <BKSP> {
	type="CTRL+ALT",
	symbols[Group1]= [ BackSpace,	Terminate_Server ]
    };

    key  <TAB> {	[ 	  Tab,	ISO_Left_Tab	]	};
    key <AD01> {	[  apostrophe,	quotedbl	],
			[  dead_acute,	dead_diaeresis	] 	};
    key <AD02> {	[	comma,	less		],
			[ dead_cedilla,	dead_caron	]	};
    key <AD03> {	[      period,	greater		],
			[ dead_abovedot, periodcentered ]	};
    key <AD04> {	[	    p,	P		]	};
    key <AD05> {	[	    y,	Y		]	};
    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 <RTRN> {	[ Return			]	};

    key <CAPS> {	[	Caps_Lock		]	};
    key <AC01> {	[	    a,	A 		]	};
    key <AC02> {	[	    o,	O		]	};
    key <AC03> {	[	    e,	E		]	};
    key <AC04> {	[	    u,	U		]	};
    key <AC05> {	[	    i,	I		]	};
    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 <LFSH> {	[	Shift_L			]	};
    key <AB01> {	[   semicolon,	colon 		],
			[ dead_ogonek, dead_doubleacute ]	};
    key <AB02> {	[	    q,	Q		]	};
    key <AB03> {	[	    j,	J		]	};
    key <AB04> {	[	    k,	K		]	};
    key <AB05> {	[	    x,	X		]	};
    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 <LCTL> {	[ 	 Control_L		]	};
    key <SPCE> {	[ 	 space			]	};
    // End alphanumeric section

    // begin modifier mappings
    modifier_map Shift  { Shift_L };
    modifier_map Lock   { Caps_Lock };
    modifier_map Control{ Control_L };
};

// Norwegian Dvorak
partial alphanumeric_keys 
xkb_symbols "no" {
    include "dvorak(basic)"

    key <TLDE> {	[	  bar,	section		],
			[   brokenbar,	 paragraph	]	};

    key <AE01> {	[	    1,	exclam 		],
			[  exclamdown,	onesuperior	]	};
    key <AE02> {	[	    2,	quotedbl	],
			[	   at,	twosuperior	]	};
    key <AE03> {	[	    3,	numbersign	],
			[    sterling,	threesuperior	]	};
    key <AE04> {	[	    4,	dollar		],
			[    currency,	onequarter	]	};
    key <AE05> {	[	    5,	percent		],
			[     onehalf,	onehalf		]	};
    key <AE06> {	[	    6,	ampersand	],
			[ threequarters, threequarters	]	};
    key <AE07> {	[	    7,	slash		],
			[   braceleft,	division	]	};
    key <AE08> {	[	    8,	parenleft	],
			[ bracketleft			]	};
    key <AE09> {	[	    9,	parenright	],
			[ bracketright			]	};
    key <AE10> {	[	    0,	equal		],
			[  braceright			]	};
    key <AE11> {	[	 plus,	question	],
			[   plusminus,	questiondown	]	};
    key <AE12> {	[   backslash,	grave		],
			[  dead_acute,	dead_grave	]	};

    key <AD01> {	[       aring,	Aring		],
			[  braceright,	bracketright	]	};
    key <AD02> {	[	comma,	semicolon	],
			[ dead_cedilla,	cedilla		]	};
    key <AD03> {	[      period,	colon		],
			[ periodcentered		]	};
    key <AD04> {	[	    p,	P		],
			[       thorn,	THORN		]	};
    key <AD05> {	[	    y,	Y		],
			[         yen			]	};
    key <AD06> {	[	    f,	F		],
			[ ordfeminine			]	};
    key <AD08> {	[	    c,	C		],
			[    ccedilla,	copyright	]	};
    key <AD09> {	[	    r,	R		],
			[  registered			]	};
    key <AD11> {	[  apostrophe,	asterisk	],
			[ dead_circumflex,	acute	]	};
    key <AD12> {	[  asciitilde,	asciicircum	],
			[ dead_diaeresis, dead_tilde	]	};

    key <AC03> {	[	    e,	E		],
			[    EuroSign,	cent		]	};
    key <AC05> {	[	    i,	I		],
			[    idotless,	Iabovedot	]	};
    key <AC06> {	[	    d,	D		],
			[	  eth,	ETH		]	};
    key <AC10> {	[	    s,	S		],
			[      ssharp			]	};
    key <AC11> {	[	minus,	underscore	],
			[      hyphen,	diaeresis	]	};

    key <AB01> {	[	   ae,	AE 		],
			[   braceleft,	bracketleft	]	};
    key <AB05> {	[	    x,	X		],
			[    multiply			]	};
    key <AB07> {	[	    m,	M		],
			[	   mu			]	};
    key <BKSL> {	[	 less,	greater		],
			[ guillemotleft, guillemotright	]	};

    key <SPCE> {	[	 space,	space		],
			[ nobreakspace,	nobreakspace	]	};

    key <LSGT> {	[	oslash,	Ooblique	],
			[	   bar,	backslash	]	};

};

// Swedish Dvorak
partial alphanumeric_keys 
xkb_symbols "se" {
    include "dvorak(no)"

    key <TLDE> {	[     section,	onehalf		]	};

    key <AE04> {	[	    4,	currency	],
			[      dollar,  onequarter	]	};
    key <AE11> {	[        plus,	question	],
			[   backslash,  questiondown	]	};
    key <AE12> {	[  dead_acute,  dead_grave	],
			[  backslash,	grave		]	};

    key <AD01> {	[  odiaeresis,  Odiaeresis	],
			[  braceright,  bracketright	]	};
    key <AD02> {	[       aring,	Aring    	]	};
    key <AD03> {	[  adiaeresis,	Adiaeresis	]	};
    key <AD11> {	[           q,	Q       	]	};
    key <AD12> {	[ dead_diaeresis, dead_circumflex],
			[ dead_tilde, asciicircum	]	};

    key <AB01> {	[     comma,    semicolon	],
			[ dead_cedilla, cedilla		]	};
    key <AB02> {	[    period,    colon		],
			[ periodcentered		]	};

    key <BKSL> {	[      less,	greater		],
			[       bar,    brokenbar	]	};

    key <LSGT> {	[ apostrophe,   asterisk	],
			[       bar,    backslash	]	};

};
// Swedish Dvorak alias
partial alphanumeric_keys 
xkb_symbols "sv" {
    include "dvorak(se)"
};


// Dvorak (UK) keymap (by odaen) allowing the usage of
// the £ and ? key and swapping the @ and " keys.

partial alphanumeric_keys
xkb_symbols "gb" {
    include "dvorak(basic)"

    key <BKSL> {	[  numbersign,  asciitilde	]	};
    key <AE02> {	[	    2,  quotedbl	],
			[ twosuperior,  NoSymbol	]	};
    key <AE03> {	[	    3,  sterling	],
			[ threesuperior, NoSymbol	]	};
    key <AE04> {	[	    4,  dollar		],
			[    EuroSign,  NoSymbol	]	};
    key <LSGT> {	[   backslash,  bar		]	};
    key <AD01> {	[  apostrophe,  at		]	};
};

// Keymap Dvorak pour le Français
// par Josselin Mouette <josselin.mouette@ens-lyon.org>.

partial alphanumeric_keys modifier_keys 
xkb_symbols "fr" {

    include "dvorak(basic)"

    name[Group1]= "French dvorak";

    key <TLDE>  {       [              oe,              OE      ],
                        [              ae,              AE      ]       };
    key <AE01>  {       [           slash,               1      ],
                        [       ampersand,     onesuperior      ]       };
    key <AE02>  {       [            plus,               2      ],
                        [      asciitilde,     twosuperior      ]       };
    key <AE03>  {       [           minus,               3      ], 
                        [      numbersign,   threesuperior      ]       };
    key <AE04>  {       [        asterisk,               4      ],
                        [            less,   guillemotleft      ]       };
    key <AE05>  {       [           equal,               5      ],
                        [         greater,  guillemotright      ]       };
    key <AE06>  {       [       backslash,               6      ],
                        [              at,         notsign      ]       };
    key <AE07>  {       [       parenleft,               7      ],
                        [ dead_circumflex,        multiply      ]       };
    key <AE08>  {       [           grave,               8      ],
                        [      dead_grave,        division      ]       };
    key <AE09>  {       [      parenright,               9      ],
                        [     asciicircum,       plusminus      ]       };
    key <AE10>  {       [        quotedbl,               0      ],
                        [  dead_diaeresis,  dead_diaeresis      ]       };
    key <AE11>  {       [     bracketleft,       braceleft      ],
                        [             bar,          degree      ]       };
    key <AE12>  {       [    bracketright,      braceright      ],
                        [         percent                       ]       };

    key <AD01>  {       [           colon,        question      ],
                        [        question,    questiondown      ]       };
    key <AD02>  {       [          agrave,          Agrave      ],
                        [           aring,           Aring      ]       };
    key <AD03>  {       [          eacute,          Eacute      ],
                        [        EuroSign,            cent      ]       };
    key <AD04>  {       [               g,               G      ],
                        [          oslash,        Ooblique      ]       };
    key <AD05>  {       [          period,          exclam      ],
                        [  periodcentered,      exclamdown      ]       };
    key <AD06>  {       [               h,               H      ],
                        [             eth,             ETH      ]       };
    key <AD07>  {       [               v,               V      ]       };
    key <AD08>  {       [               c,               C      ],
                        [       copyright,      registered      ]       };
    key <AD09>  {       [               m,               M      ],
                        [              mu,              mu      ]       };
    key <AD10>  {       [               k,               K      ],
                        [          dollar,          dollar      ]       };
    key <AD11>  {       [          egrave,          Egrave      ],
                        [        sterling,        sterling      ]       };
    key <AD12>  {       [               z,               Z      ],
                        [             yen                       ]       };

    key <AC01>  {       [               o,               O      ],
                        [     ocircumflex,     Ocircumflex      ]       };
    key <AC02>  {       [               a,               A      ],
                        [     acircumflex,     Acircumflex      ]       };
    key <AC03>  {       [               u,               U      ],
                        [     ucircumflex,     Ucircumflex      ]       };
    key <AC04>  {       [               e,               E      ],
                        [     ecircumflex,     Ecircumflex      ]       };
    key <AC05>  {       [               b,               B      ],
                        [          ssharp                       ]       };
    key <AC06>  {       [               f,               F      ]       };
    key <AC07>  {       [               s,               S      ]       };
    key <AC08>  {       [               t,               T      ],
                        [           thorn,           THORN      ]       };
    key <AC09>  {       [               n,               N      ],
                        [          ntilde,          Ntilde      ]       };
    key <AC10>  {       [               d,               D      ],
                        [         section                       ]       };
    key <AC11>  {       [               w,               W      ],
                        [       paragraph                       ]       };
    key <BKSL>  {       [          ugrave,          Ugrave      ],
                        [       masculine,     ordfeminine      ]       };

    key <LSGT>  {       [        ccedilla,        Ccedilla      ],
                        [        ccedilla,        Ccedilla      ]       };
    key <AB01>  {       [      apostrophe,      underscore      ],
                        [      dead_acute,          macron      ]       };
    key <AB02>  {       [               q,               Q      ],
                        [   guillemotleft,   guillemotleft      ]       };
    key <AB03>  {       [           comma,       semicolon      ],
                        [  guillemotright,  guillemotright      ]       };
    key <AB04>  {       [               i,               I      ],
                        [     icircumflex,     Icircumflex      ]       };
    key <AB05>  {       [               y,               Y      ],
                        [      ydiaeresis,      Ydiaeresis      ]       };
    key <AB06>  {       [               x,               X      ],
                        [      ediaeresis,      Ediaeresis      ]       };
    key <AB07>  {       [               r,               R      ],
                        [      udiaeresis,      Udiaeresis      ]       };
    key <AB08>  {       [               l,               L      ],
                        [      adiaeresis,      Adiaeresis      ]       };
    key <AB09>  {       [               p,               P      ],
                        [      odiaeresis,      Odiaeresis      ]       };
    key <AB10>  {       [               j,               J      ],
                        [      idiaeresis,      Idiaeresis      ]       };

    key <SPCE>  {       [           space,           space      ],
                        [    nobreakspace,    nobreakspace      ]       };
    key <RALT>  {       [     Mode_switch,       Multi_key      ]       };
};

