Hello.

Yesterday I added Dvorak, Dvorak programmers and Colemak US compatible layouts to Latvian keyboard mapping.
I was wondering if you'd like to import it in Xorg?

I reformatted layout file since it had spaces and tabs all mixed, also
I improved readability, and added few variants to layouts (like y-key variant for Dvorak)

Since file is almost completely reformatted I attached entire file instead of diff.

Layout names might be improved

--
Aldis Berjoza
// $XKeyboardConfig$

// Latvian keymap version 1.1
// Copyright (C) Dmitry Golubev <lastg...@mail.ru>, 2003-2004
//
// Reworked to get rid of dead_keys (use of which in this case
// is a dirty hack). It is now not dependent on locale settings
// and GTK_IM_MODULES in Gnome. The map is also providing some of
// ISO9995-3 alternate characters. Note that this version works
// correctly under Gnome 2.6. This is to be put into symbols/
// directory, or somewhere else.
//
// Permission to use, copy, modify, distribute, and sell this software and its
// documentation for any purpose is hereby granted without fee, provided that
// the above copyright notice appear in all copies and that both that
// copyright notice and this permission notice appear in supporting
// documentation, and that the name of the copyright holder(s) not be used in
// advertising or publicity pertaining to distribution of the software without
// specific, written prior permission.  The copyright holder(s) makes no
// representations about the suitability of this software for any purpose.  It
// is provided "as is" without express or implied warranty.
//
// THE COPYRIGHT HOLDER(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
// EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.

// Modified by Aldis Berjoza <al...@bsdroot.lv>, 2011
// Changes:
//   Added US-Dvorac compatible LV layouts


//============================================================================
// QWERTY Latvian layout
// http://en.wikipedia.org/wiki/QWERTY 
//
partial default alphanumeric_keys modifier_keys
xkb_symbols "basic" {

	name[Group1]= "Latvia";

	key <TLDE> {[ grave,		asciitilde,	acute,			asciitilde		]};
	key <AE01> {[ 1,		exclam,		onesuperior,		exclamdown		]};
	key <AE02> {[ 2,		at,		twosuperior,		oneeighth		]};
	key <AE03> {[ 3,		numbersign,	threesuperior,		sterling		]};
	key <AE04> {[ 4,		dollar,		EuroSign,		cent			]};
	key <AE05> {[ 5,		percent,	onehalf,		threeeighths		]};
	key <AE06> {[ 6,		asciicircum,	threequarters,		fiveeighths		]};
	key <AE07> {[ 7,		ampersand,	braceleft,		seveneighths		]};
	key <AE08> {[ 8,		asterisk,	bracketleft,		trademark		]};
	key <AE09> {[ 9,		parenleft,	bracketright,		plusminus		]};
	key <AE10> {[ 0,		parenright,	braceright,		degree			]};
	key <AE11> {[ minus,		underscore,	backslash,		questiondown		]};
	key <AE12> {[ equal,		plus,		endash,			emdash			]};

	key <AD01> {[ q,		Q,		q,			Q			]};
	key <AD02> {[ w,		W,		w,			W			]};
	key <AD03> {[ e,		E,		emacron,		Emacron			]};
	key <AD04> {[ r,		R,		rcedilla,		Rcedilla		]};
	key <AD05> {[ t,		T,		t,			T			]};
	key <AD06> {[ y,		Y,		y,			Y			]};
	key <AD07> {[ u,		U,		umacron,		Umacron			]};
	key <AD08> {[ i,		I,		imacron,		Imacron			]};
	key <AD09> {[ o,		O,		omacron,		Omacron			]};
	key <AD10> {[ p,		P,		p,			P			]};
	key <AD11> {[ bracketleft,	braceleft,	guillemotleft,		leftdoublequotemark	]};
	key <AD12> {[ bracketright,	braceright,	guillemotright,		rightdoublequotemark	]};

	key <AC01> {[ a,		A,		amacron,		Amacron			]};
	key <AC02> {[ s,		S,		scaron,			Scaron			]};
	key <AC03> {[ d,		D,		d,			D			]};
	key <AC04> {[ f,		F,		f,			F			]};
	key <AC05> {[ g,		G,		gcedilla,		Gcedilla		]};
	key <AC06> {[ h,		H,		h,			H			]};
	key <AC07> {[ j,		J,		j,			J			]};
	key <AC08> {[ k,		K,		kcedilla,		Kcedilla		]};
	key <AC09> {[ l,		L,		lcedilla,		Lcedilla		]};
	key <AC10> {[ semicolon,	colon,		semicolon,		colon			]};
	key <AC11> {[ apostrophe,	quotedbl,	leftdoublequotemark,	doublelowquotemark	]};

	key <AB01> {[ z,		Z,		zcaron,			Zcaron			]};
	key <AB02> {[ x,		X,		x,			X			]};
	key <AB03> {[ c,		C,		ccaron,			Ccaron			]};
	key <AB04> {[ v,		V,		v,			V			]};
	key <AB05> {[ b,		B,		b,			B			]};
	key <AB06> {[ n,		N,		ncedilla,		Ncedilla		]};
	key <AB07> {[ m,		M,		m,			M			]};
	key <AB08> {[ comma,		less,		horizconnector,		multiply		]};
	key <AB09> {[ period,		greater,	periodcentered,		division		]};
	key <AB10> {[ slash,		question,	slash,			abovedot		]};
	key <BKSL> {[ backslash,	bar,		grave,			breve			]};

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

	include "level3(ralt_switch)"
};

partial alphanumeric_keys modifier_keys
xkb_symbols "apostrophe" {

	include "lv(basic)"

	name[Group1]= "Latvia - Apostrophe (') variant";

	key <AC11> {[ISO_Level3_Latch, quotedbl, apostrophe, quotedbl]};
	key <SPCE> {[space, space, apostrophe]};
	modifier_map Mod5 { <AC11> };

};

partial alphanumeric_keys modifier_keys
xkb_symbols "tilde" {

	include "lv(basic)"

	name[Group1]= "Latvia - Tilde (~) variant";

	key <TLDE> {[ISO_Level3_Latch, asciitilde, grave, acute]};
	key <SPCE> {[space, space, asciitilde]};
	modifier_map Mod5 { <TLDE> };

};

partial alphanumeric_keys modifier_keys
xkb_symbols "fkey" {

	include "lv(basic)"

	name[Group1]= "Latvia - F-letter (F) variant";

	key <AC04> {[ISO_Level3_Latch, ISO_Level3_Latch, f, F]};
	key <SPCE> {[space, space, f, F]};
	modifier_map Mod5 { <AC04> };

};

//============================================================================
// US Dvorak compatible Latvian layout
// http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard
//
partial alphanumeric_keys modifier_keys
xkb_symbols "usdvorak" {

	name[Group1]= "Latvia (US-Dvorak compatible)";

	key <TLDE> {[ asciitilde,	grave,		acute,			asciitilde		]};
	key <AE01> {[ 1,		exclam,		onesuperior,		exclamdown		]};
	key <AE02> {[ 2,		at,		twosuperior,		oneeighth		]};
	key <AE03> {[ 3,		numbersign,	threesuperior,		sterling		]};
	key <AE04> {[ 4,		dollar,		EuroSign,		cent			]};
	key <AE05> {[ 5,		percent,	onehalf,		threeeighths		]};
	key <AE06> {[ 6,		asciicircum,	threequarters,		fiveeighths		]};
	key <AE07> {[ 7,		ampersand,	braceleft,		seveneighths		]};
	key <AE08> {[ 8,		asterisk,	bracketleft,		trademark		]};
	key <AE09> {[ 9,		parenleft,	bracketright,		plusminus		]};
	key <AE10> {[ 0,		parenright,	braceright,		degree			]};
	key <AE11> {[ bracketleft,	braceleft,	guillemotleft,		leftdoublequotemark	]};
	key <AE12> {[ bracketright,	braceright,	guillemotright,		rightdoublequotemark	]};

	key <AD01> {[ apostrophe,	quotedbl,	leftdoublequotemark,	doublelowquotemark	]};
	key <AD02> {[ comma,		less,		horizconnector,		multiply		]};
	key <AD03> {[ period,		greater,	periodcentered,		division		]};
	key <AD04> {[ p,		P,		p,			P			]};
	key <AD05> {[ y,		Y,		y,			Y			]};
	key <AD06> {[ f,		F,		f,			F			]};
	key <AD07> {[ g,		G,		gcedilla,		Gcedilla		]};
	key <AD08> {[ c,		C,		ccaron,			Ccaron			]};
	key <AD09> {[ r,		R,		rcedilla,		Rcedilla		]};
	key <AD10> {[ l,		L,		lcedilla,		Lcedilla		]};
	key <AD11> {[ slash,		question,	slash,			abovedot		]};
	key <AD12> {[ equal,		plus,		endash,			emdash			]};

	key <AC01> {[ a,		A,		amacron,		Amacron			]};
	key <AC02> {[ o,		O,		omacron,		Omacron			]};
	key <AC03> {[ e,		E,		emacron,		Emacron			]};
	key <AC04> {[ u,		U,		umacron,		Umacron			]};
	key <AC05> {[ i,		I,		imacron,		Imacron			]};
	key <AC06> {[ d,		D,		d,			D			]};
	key <AC07> {[ h,		H,		h,			H			]};
	key <AC08> {[ t,		T,		t,			T			]};
	key <AC09> {[ n,		N,		ncedilla,		Ncedilla		]};
	key <AC10> {[ s,		S,		scaron,			Scaron			]};
	key <AC11> {[ minus,		underscore,	backslash,		questiondown		]};

	key <AB01> {[ semicolon,	colon,		semicolon,		colon			]};
	key <AB02> {[ q,		Q,		q,			Q			]};
	key <AB03> {[ j,		J,		j,			J			]};
	key <AB04> {[ k,		K,		kcedilla,		Kcedilla		]};
	key <AB05> {[ x,		X,		x,			X			]};
	key <AB06> {[ b,		B,		b,			B			]};
	key <AB07> {[ m,		M,		m,			M			]};
	key <AB08> {[ w,		W,		w,			W			]};
	key <AB09> {[ v,		V,		v,			V			]};
	key <AB10> {[ z,		Z,		zcaron,			Zcaron			]};

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

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

	include "level3(ralt_switch)"
};

partial alphanumeric_keys modifier_keys
xkb_symbols "ykeyusdvorak" {

	include "lv(usdvorak)"

	name[Group1]= "Latvia (US-Dvorak) - Y-letter (Y) variant";

	key <AD05> {[ISO_Level3_Latch, ISO_Level3_Latch, y, Y]};
	key <SPCE> {[space, space, y, Y]};
	modifier_map Mod5 { <AD05> };

};

partial alphanumeric_keys modifier_keys
xkb_symbols "tildeusdvorak" {

	include "lv(usdvorak)"

	name[Group1]= "Latvia (US-Dvorak compatible) - Tilde (~) variant";

	key <TLDE> {[ISO_Level3_Latch, asciitilde, grave, acute]};
	key <SPCE> {[space, space, asciitilde]};
	modifier_map Mod5 { <TLDE> };

};

partial alphanumeric_keys modifier_keys
xkb_symbols "minuskeyusdvorak" {

	include "lv(usdvorak)"

	name[Group1]= "Latvia (US-Dvorak compatible) - minus-letter (-) variant";

	key <AC11> {[ISO_Level3_Latch, ISO_Level3_Latch, mimus, underscore]};
	key <SPCE> {[space, space, minus, underscore]};
	modifier_map Mod5 { <AR11> };

};

//============================================================================
// US Dvorak programmers layput compatible Latvian layout
// http://www.kaufmann.no/roland/dvorak/
//
partial alphanumeric_keys modifier_keys
xkb_symbols "usdvorakprogr" {

	name[Group1]= "Latvia (US-Dvorak programmers compatible)";

	key <TLDE> {[ dollar,		asciitilde,	EuroSign,		cent			]};
	key <AE01> {[ ampersand,	percent,	acute,			asciitilde		]};
	key <AE02> {[ bracketleft,	7,		onesuperior,		twosuperior		]};
	key <AE03> {[ braceleft,	5,		guillemotleft,		leftdoublequotemark	]};
	key <AE04> {[ braceright,	3,		guillemotright,		rightdoublequotemark	]};
	key <AE05> {[ parenleft,	1,		onehalf,		threeeighths		]};
	key <AE06> {[ equal,		9,		threequarters,		fiveeighths		]};
	key <AE07> {[ asterisk,		0,		degree,			copyright		]};
	key <AE08> {[ parenright,	2,		endash,			emdash			]};
	key <AE09> {[ plus,		4,		plusminus,		section			]};
	key <AE10> {[ bracketright,	6,		registered,		trademark		]};
	key <AE11> {[ exclam,		8,		exclam,			exclamdown		]};
	key <AE12> {[ numbersign,	grave,		Greek_alpha,		Greek_beta		]};

	key <AD01> {[ semicolon,	colon,		semicolon,		colon			]};
	key <AD02> {[ comma,		less,		horizconnector,		multiply		]};
	key <AD03> {[ period,		greater,	periodcentered,		division		]};
	key <AD04> {[ p,		P,		p,			P			]};
	key <AD05> {[ y,		Y,		y,			Y			]};
	key <AD06> {[ f,		F,		f,			F			]};
	key <AD07> {[ g,		G,		gcedilla,		Gcedilla		]};
	key <AD08> {[ c,		C,		ccaron,			Ccaron			]};
	key <AD09> {[ r,		R,		rcedilla,		Rcedilla		]};
	key <AD10> {[ l,		L,		lcedilla,		Lcedilla		]};
	key <AD11> {[ slash,		question,	slash,			abovedot		]};
	key <AD12> {[ at,		asciicircum,	at,			asciicircum		]};

	key <AC01> {[ a,		A,		amacron,		Amacron			]};
	key <AC02> {[ o,		O,		omacron,		Omacron			]};
	key <AC03> {[ e,		E,		emacron,		Emacron			]};
	key <AC04> {[ u,		U,		umacron,		Umacron			]};
	key <AC05> {[ i,		I,		imacron,		Imacron			]};
	key <AC06> {[ d,		D,		d,			D			]};
	key <AC07> {[ h,		H,		h,			H			]};
	key <AC08> {[ t,		T,		t,			T			]};
	key <AC09> {[ n,		N,		ncedilla,		Ncedilla		]};
	key <AC10> {[ s,		S,		scaron,			Scaron			]};
	key <AC11> {[ minus,		underscore,	backslash,		questiondown		]};


	key <AB01> {[ apostrophe,	quotedbl,	leftdoublequotemark,	doublelowquotemark	]};
	key <AB02> {[ q,		Q,		q,			Q			]};
	key <AB03> {[ j,		J,		j,			J			]};
	key <AB04> {[ k,		K,		kcedilla,		Kcedilla		]};
	key <AB05> {[ x,		X,		x,			X			]};
	key <AB06> {[ b,		B,		b,			B			]};
	key <AB07> {[ m,		M,		m,			M			]};
	key <AB08> {[ w,		W,		w,			W			]};
	key <AB09> {[ v,		V,		v,			V			]};
	key <AB10> {[ z,		Z,		zcaron,			Zcaron			]};

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

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

	include "level3(ralt_switch)"
};

partial alphanumeric_keys modifier_keys
xkb_symbols "ykeyusdvorakprogr" {

	include "lv(usdvorak)"

	name[Group1]= "Latvia (US-Dvorak programmer) - Y-letter (Y) variant";

	key <AD05> {[ISO_Level3_Latch, ISO_Level3_Latch, y, Y]};
	key <SPCE> {[space, space, y, Y]};
	modifier_map Mod5 { <AD05> };

};

partial alphanumeric_keys modifier_keys
xkb_symbols "tildeusdvorakprogr" {

	include "lv(usdvorakprogr)"

	name[Group1]= "Latvia (programmers US-Dvorak compatible) - Tilde (~) variant";

	key <TLDE> {[ISO_Level3_Latch, asciitilde, grave, acute]};
	key <SPCE> {[space, space, asciitilde]};
	modifier_map Mod5 { <TLDE> };

};

partial alphanumeric_keys modifier_keys
xkb_symbols "minuskeyusdvorakprogr" {

	include "lv(usdvorak)"

	name[Group1]= "Latvia (programmers US-Dvorak compatible) - minus-letter (-) variant";

	key <AC11> {[ISO_Level3_Latch, ISO_Level3_Latch, mimus, underscore]};
	key <SPCE> {[space, space, minus, underscore]};
	modifier_map Mod5 { <AC11> };

};

//============================================================================
// Colemac compatible Latvian layout
// http://colemak.com/
//
partial alphanumeric_keys modifier_keys
xkb_symbols "uscolemak" {

	name[Group1]= "Latvia (US-colemak)";

	key <TLDE> {[ grave,		asciitilde,	acute,			asciitilde		]};
	key <AE01> {[ 1,		exclam,		onesuperior,		exclamdown		]};
	key <AE02> {[ 2,		at,		twosuperior,		oneeighth		]};
	key <AE03> {[ 3,		numbersign,	threesuperior,		sterling		]};
	key <AE04> {[ 4,		dollar,		EuroSign,		cent			]};
	key <AE05> {[ 5,		percent,	onehalf,		threeeighths		]};
	key <AE06> {[ 6,		asciicircum,	threequarters,		fiveeighths		]};
	key <AE07> {[ 7,		ampersand,	braceleft,		seveneighths		]};
	key <AE08> {[ 8,		asterisk,	bracketleft,		trademark		]};
	key <AE09> {[ 9,		parenleft,	bracketright,		plusminus		]};
	key <AE10> {[ 0,		parenright,	braceright,		degree			]};
	key <AE11> {[ minus,		underscore,	backslash,		questiondown		]};
	key <AE12> {[ equal,		plus,		endash,			emdash			]};

	key <AD01> {[ q,		Q,		q,			Q			]};
	key <AD02> {[ w,		W,		w,			W			]};
	key <AD03> {[ f,		F,		f,			F			]};
	key <AD04> {[ p,		P,		p,			P			]};
	key <AD05> {[ g,		G,		gcedilla,		Gcedilla		]};
	key <AD06> {[ j,		J,		j,			J			]};
	key <AD07> {[ l,		L,		lcedilla,		Lcedilla		]};
	key <AD08> {[ u,		U,		umacron,		Umacron			]};
	key <AD09> {[ y,		Y,		y,			Y			]};
	key <AD10> {[ semicolon,	colon,		semicolon,		colon			]};
	key <AD11> {[ bracketleft,	braceleft,	guillemotleft,		leftdoublequotemark	]};
	key <AD12> {[ bracketright,	braceright,	guillemotright,		rightdoublequotemark	]};

	key <AC01> {[ a,		A,		amacron,		Amacron			]};
	key <AC02> {[ r,		R,		rcedilla,		Rcedilla		]};
	key <AC03> {[ s,		S,		scaron,			Scaron			]};
	key <AC04> {[ t,		T,		t,			T			]};
	key <AC05> {[ d,		D,		d,			D			]};
	key <AC06> {[ h,		H,		h,			H			]};
	key <AC07> {[ n,		N,		ncedilla,		Ncedilla		]};
	key <AC08> {[ e,		E,		emacron,		Emacron			]};
	key <AC09> {[ i,		I,		imacron,		Imacron			]};
	key <AC10> {[ o,		O,		omacron,		Omacron			]};
	key <AC11> {[ apostrophe,	quotedbl,	leftdoublequotemark,	doublelowquotemark	]};

	key <AB01> {[ z,		Z,		zcaron,			Zcaron			]};
	key <AB02> {[ x,		X,		x,			X			]};
	key <AB03> {[ c,		C,		ccaron,			Ccaron			]};
	key <AB04> {[ v,		V,		v,			V			]};
	key <AB05> {[ b,		B,		b,			B			]};
	key <AB06> {[ k,		K,		kcedilla,		Kcedilla		]};
	key <AB07> {[ m,		M,		m,			M			]};
	key <AB08> {[ comma,		less,		horizconnector,		multiply		]};
	key <AB09> {[ period,		greater,	periodcentered,		division		]};
	key <AB10> {[ slash,		question,	slash,			abovedot		]};
	key <BKSL> {[ backslash,	bar,		grave,			breve			]};

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

	include "level3(ralt_switch)"
};

partial alphanumeric_keys modifier_keys
xkb_symbols "apostropheuscolemak" {

	include "lv(colemak)"

	name[Group1]= "Latvia (US-Colemak)- Apostrophe (') variant";

	key <AC11> {[ISO_Level3_Latch, quotedbl, apostrophe, quotedbl]};
	key <SPCE> {[space, space, apostrophe]};
	modifier_map Mod5 { <AC11> };

};

partial alphanumeric_keys modifier_keys
xkb_symbols "tildeuscolemak" {

	include "lv(colemak)"

	name[Group1]= "Latvia(US-Colemak) - Tilde (~) variant";

	key <TLDE> {[ISO_Level3_Latch, asciitilde, grave, acute]};
	key <SPCE> {[space, space, asciitilde]};
	modifier_map Mod5 { <TLDE> };

};

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to