partial alphanumeric_keys
xkb_symbols "us" {
    name[Group1] = "U.S. English";
    
    include "nokia_vndr/rx-51(base)"

    key <AB09>	{	[	period,		colon,		question,	question	]	};

    key <AC01>	{	[	a,		A,		asterisk,	asterisk	]	};
    key <AC02>	{	[	s,		S,		plus,		plus		]	};
    key <AC03>	{	[	d,		D,		numbersign,	numbersign	]	};
    key <AC04>	{	[	f,		F,		minus,		minus		]	};
    key <AC05>	{	[	g,		G,		underscore,	underscore	]	};
    key <AC06>	{	[	h,		H,		parenleft,	parenleft	]	};
    key <AC07>	{	[	j,		J,		parenright,	parenright	]	};
    key <AC08>	{	[	k,		K,		ampersand,	ampersand	]	};
    key <AC09>	{	[	l,		L,		exclam,		exclam		]	};
    key <AB08>	{	[	comma,		semicolon,	equal,		equal		]	};
    key <UP>	{	[	Up,		Up,		Up,		Up		]	};

    key <AB01>	{	[	z,		Z,		sterling,	sterling	]	};
    key <AB02>	{	[	x,		X,		dollar,		dollar		]	};
    key <AB03>	{	[	c,		C,		EuroSign,	EuroSign	]	};
    key <AB04>	{	[	v,		V,		slash,		slash		]	};
    key <AB05>	{	[	b,		B,		backslash,	backslash	]	};
    key <AB06>	{	[	n,		N,		quotedbl,	quotedbl	]	};
    key <AB07>	{	[	m,		M,		apostrophe,	apostrophe	]	};
    key <LEFT>	{	[	Left,		Left,		Left,		Left		]	};
    key <DOWN>	{	[	Down,		Down,		Down,		Down		]	};
    key <RGHT>	{	[	Right,		Right,		Right,		Right		]	};
};



partial alphanumeric_keys
xkb_symbols "nordic" {
    name[Group1] = "Danish/Finnish/Norwegian/Swedish";

    include "nokia_vndr/rx-51(base)"

    key <AB09>	{	[	aring,		Aring,		equal,		equal		]	};

    key <AC01>	{	[	a,		A,		asterisk,	asterisk	]	};
    key <AC02>	{	[	s,		S,		plus,		plus		]	};
    key <AC03>	{	[	d,		D,		numbersign,	numbersign	]	};
    key <AC04>	{	[	f,		F,		minus,		minus		]	};
    key <AC05>	{	[	g,		G,		underscore,	underscore	]	};
    key <AC06>	{	[	h,		H,		parenleft,	parenleft	]	};
    key <AC07>	{	[	j,		J,		parenright,	parenright	]	};
    key <AC08>	{	[	k,		K,		semicolon,	semicolon	]	};
    key <AC09>	{	[	l,		L,		colon,		colon		]	};
    key <AB08>	{ type="EIGHT_LEVEL", [		odiaeresis,	Odiaeresis,	exclam,		exclam,		oslash,		Oslash,		exclam,		exclam		]	};
    key <UP>	{ type="EIGHT_LEVEL", [		adiaeresis,	Adiaeresis,	question,	question,	ae,		AE,		question,	question	]	};

    key <AB01>	{	[	z,		Z,		EuroSign,	EuroSign	]	};
    key <AB02>	{	[	x,		X,		dollar,		dollar		]	};
    key <AB03>	{	[	c,		C,		sterling,	sterling	]	};
    key <AB04>	{	[	v,		V,		slash,		slash		]	};
    key <AB05>	{	[	b,		B,		backslash,	backslash	]	};
    key <AB06>	{	[	n,		N,		quotedbl,	quotedbl	]	};
    key <AB07>	{	[	m,		M,		apostrophe,	apostrophe	]	};
    key <LEFT>	{	[	period,		period,		comma,		comma		]	};
    key <DOWN>	{	[	Left,		Left,		Up,		Up		]	};
    key <RGHT>	{	[	Right,		Right,		Down,		Down		]	};
};



partial alphanumeric_keys
xkb_symbols "ptes" {
    name[Group1] = "Portuguese/Spanish";

    include "nokia_vndr/rx-51(base)"

    key <AB09>  {       [	dead_acute,	dead_acute,	dead_grave,	dead_grave	]	};

    key <AC01>	{	[	a,		A,		asterisk,	asterisk	]	};
    key <AC02>	{	[	s,		S,		plus,		plus		]	};
    key <AC03>	{	[	d,		D,		numbersign,	numbersign	]	};
    key <AC04>	{	[	f,		F,		minus,		minus		]	};
    key <AC05>	{	[	g,		G,		exclamdown,	exclamdown	]	};
    key <AC06>	{	[	h,		H,		exclam,		exclam		]	};
    key <AC07>	{	[	j,		J,		questiondown,	questiondown	]	};
    key <AC08>	{	[	k,		K,		question,	question	]	};
    key <AC09>	{	[	l,		L,		dead_diaeresis,	dead_diaeresis	]	};
    key <AB08>  {       [	ntilde,		Ntilde,		dead_tilde,	dead_tilde	]	};
    key <UP>	{	[	ccedilla,	Ccedilla,	dead_circumflex, dead_circumflex ]	};

    key <AB01>	{	[	z,		Z,		parenleft,	parenleft	]	};
    key <AB02>	{	[	x,		X,		parenright,	parenright 	]	};
    key <AB03>	{	[	c,		C,		slash,		slash		]	};
    key <AB04>	{	[	v,		V,		quotedbl,	quotedbl	]	};
    key <AB05>	{	[	b,		B,		apostrophe,	apostrophe	]	};
    key <AB06>	{	[	n,		N,		colon,		colon		]	};
    key <AB07>	{	[	m,		M,		semicolon,	semicolon	]	};
    key <LEFT>	{	[	period,		period,		comma,		comma		]	};
    key <DOWN>	{	[	Left,		Left,		Up,		Up		]	};
    key <RGHT>	{	[	Right,		Right,		Down,		Down		]	};
};



partial alphanumeric_keys
xkb_symbols "fr" {
    name[Group1] = "French";

    include "nokia_vndr/rx-51(base)"

    key <AD01>	{	[	a,		A,		1,              1               ]	};
    key <AD02>	{	[	z,		Z,		2,              2               ]	};
    key <AB09>	{	[	agrave,		Agrave,		ccedilla,	Ccedilla	]	};

    key <AC01>	{	[	q,		Q,		asterisk,	asterisk	]	};
    key <AC02>	{	[	s,		S,		plus,		plus		]	};
    key <AC03>	{	[	d,		D,		numbersign,	numbersign	]	};
    key <AC04>	{	[	f,		F,		minus,  	minus		]	};
    key <AC05>	{	[	g,		G,		underscore,	underscore	]	};
    key <AC06>	{	[	h,		H,		exclam,		exclam		]	};
    key <AC07>	{	[	j,		J,		question,	question	]	};
    key <AC08>	{	[	k,		K,		colon,		colon		]	};
    key <AC09>	{	[	l,		L,		asciicircum,	asciicircum	]	};
    key <AB08>	{	[	m,		M,		ugrave,		Ugrave		]	};
    key <UP>	{	[	eacute,		Eacute,		egrave,		Egrave		]	};

    key <AB01>	{	[	w,		w,		EuroSign,       EuroSign	]	};
    key <AB02>	{	[	x,		X,		dollar,		dollar	 	]	};
    key <AB03>	{	[	c,		C,		parenleft,	parenleft	]	};
    key <AB04>	{	[	v,		V,		parenright,	parenright	]	};
    key <AB05>	{	[	b,		B,		slash,		slash		]	};
    key <AB06>	{	[	n,		N,		quotedbl,	quotedbl	]	};
    key <AB07>	{	[	comma,		comma,		apostrophe,	apostrophe	]	};
    key <LEFT>	{	[	semicolon,	semicolon,	period,		period		]	};
    key <DOWN>	{	[	Left,		Left,		Up,		Up		]	};
    key <RGHT>	{	[	Right,		Right,		Down,		Down		]	};
};



partial alphanumeric_keys
xkb_symbols "de" {
    name[Group1] = "German";

    include "nokia_vndr/rx-51(base)"
    key <AD06>	{	[	z,		Z,		6,		6		]	};
    key <AB09>	{	[	udiaeresis,	Udiaeresis,	ssharp,		ssharp		]	};

    key <AC01>	{	[	a,		A,		asterisk,	asterisk	]	};
    key <AC02>	{	[	s,		S,		plus,		plus		]	};
    key <AC03>	{	[	d,		D,		numbersign,	numbersign	]	};
    key <AC04>	{	[	f,		F,		minus,		minus		]	};
    key <AC05>	{	[	g,		G,		underscore,	underscore    	]	};
    key <AC06>	{	[	h,		H,		parenleft,	parenleft	]	};
    key <AC07>	{	[	j,		J,		parenright,	parenright  	]	};
    key <AC08>	{	[	k,		K,		semicolon,	semicolon	]	};
    key <AC09>	{	[	l,		L,		colon,		colon		]	};
    key <AB08>	{	[	odiaeresis,	Odiaeresis,	exclam,		exclam		]       };
    key <UP>	{	[	adiaeresis,	Adiaeresis,	question,	question	]	};

    key <AB01>	{	[	y,		Y,		EuroSign,	EuroSign	]	};
    key <AB02>	{	[	x,		X,		dollar,		dollar		]	};
    key <AB03>	{	[	c,		C,		equal,		equal		]	};
    key <AB04>	{	[	v,		V,		slash,		slash		]	};
    key <AB05>	{	[	b,		B,		backslash,	backslash	]	};
    key <AB06>	{	[	n,		N,		quotedbl,	quotedbl	]	};
    key <AB07>	{	[	m,		M,		apostrophe,	apostrophe	]	};
    key <LEFT>	{	[	period,		period,		comma,		comma		]	};
    key <DOWN>	{	[	Left,		Left,		Up,		Up		]	};
    key <RGHT>	{	[	Right,		Right,		Down,		Down		]	};
};


// Levels 5-8 are Russian, levels 1-4 US English, for shortcut reasons.
partial alphanumeric_keys
xkb_symbols "ru" {
    name[Group1] = "Russian";

    include "nokia_vndr/rx-51(base)"

    key <AD01>	{ type="EIGHT_LEVEL", [	q,			Q,		1,			1,			Cyrillic_shorti,	Cyrillic_SHORTI,	1,			1			]	};
    key <AD02>	{ type="EIGHT_LEVEL", [	w,			W,		2,			2,			Cyrillic_tse,		Cyrillic_TSE,		2,			2			]	};
    key <AD03>	{ type="EIGHT_LEVEL", [	e,			E,		3,			3,			Cyrillic_u,		Cyrillic_U,		3,			3			]	};
    key <AD04>	{ type="EIGHT_LEVEL", [	r,			R,		4,			4,			Cyrillic_ka,		Cyrillic_KA,		4,			4			]	};
    key <AD05>	{ type="EIGHT_LEVEL", [	t,			T,		5,			5,			Cyrillic_ie,		Cyrillic_IE,		5,			5			]	};
    key <AD06>	{ type="EIGHT_LEVEL", [	y,			Y,		6,			6,			Cyrillic_en,		Cyrillic_EN,		6,			6			]	};
    key <AD07>	{ type="EIGHT_LEVEL", [	u,			U,		7,			7,			Cyrillic_ghe,		Cyrillic_GHE,		7,			7			]	};
    key <AD08>	{ type="EIGHT_LEVEL", [	i,			I,		8,			8,			Cyrillic_sha,		Cyrillic_SHA,		8,			8			]	};
    key <AD09>	{ type="EIGHT_LEVEL", [	o,			O,		9,			9,			Cyrillic_shcha,		Cyrillic_SHCHA,		9,			9			]	};
    key <AD10>	{ type="EIGHT_LEVEL", [	p,			P,		0,			0,			Cyrillic_ze,		Cyrillic_ZE,		0,			0			]	};
    key <AB09>  { type="EIGHT_LEVEL", [	Cyrillic_ha,		Cyrillic_HA,	Cyrillic_hardsign,	Cyrillic_HARDSIGN,	Cyrillic_ha,		Cyrillic_HA,		Cyrillic_hardsign,	Cyrillic_HARDSIGN	]	};

    key <AC01>	{ type="EIGHT_LEVEL", [	a,			A,		asterisk,		asterisk,		Cyrillic_ef,		Cyrillic_EF,		asterisk,		asterisk		]	};
    key <AC02>	{ type="EIGHT_LEVEL", [	s,			S,		plus,			plus,			Cyrillic_yeru,		Cyrillic_YERU,		plus,			plus			]	};
    key <AC03>	{ type="EIGHT_LEVEL", [	d,			D,		numbersign,		numbersign,		Cyrillic_ve,		Cyrillic_VE,		numbersign,		numbersign		]	};
    key <AC04>	{ type="EIGHT_LEVEL", [	f,			F,		minus,			minus,			Cyrillic_a,		Cyrillic_A,		minus,			minus			]	};
    key <AC05>	{ type="EIGHT_LEVEL", [	g,			G,		underscore,		underscore,		Cyrillic_pe,		Cyrillic_PE,		underscore,		underscore		]	};
    key <AC06>	{ type="EIGHT_LEVEL", [	h,			H,		exclam,			exclam,			Cyrillic_er,		Cyrillic_ER,		exclam,			exclam			]	};
    key <AC07>	{ type="EIGHT_LEVEL", [	j,			J,		question,		question,		Cyrillic_o,		Cyrillic_O,		question,		question		]	};
    key <AC08>	{ type="EIGHT_LEVEL", [	k,			K,		semicolon,		semicolon,		Cyrillic_el,		Cyrillic_EL,		semicolon,		semicolon		]	};
    key <AC09>	{ type="EIGHT_LEVEL", [	l,			L,		colon,			colon,			Cyrillic_de,		Cyrillic_DE,		colon,			colon			]	};
    key <AB08>	{ type="EIGHT_LEVEL", [	comma,			comma,		comma,			comma,			Cyrillic_zhe,		Cyrillic_ZHE,		comma,			comma			]	};
    key <UP>	{ type="EIGHT_LEVEL", [	period,			period,		period,			period,			Cyrillic_ze,		Cyrillic_ZE,		period,			period			]	};

    key <AB01>	{ type="EIGHT_LEVEL", [	z,			Z,		dollar,			dollar,			Cyrillic_ya,		Cyrillic_YA,		dollar,			dollar			]	};
    key <AB02>	{ type="EIGHT_LEVEL", [	x,			X,		EuroSign,		EuroSign,		Cyrillic_che,		Cyrillic_CHE,		EuroSign,		EuroSign		]	};
    key <AB03>	{ type="EIGHT_LEVEL", [	c,			C,		slash,			slash,			Cyrillic_es,		Cyrillic_ES,		slash,			slash			]	};
    key <AB04>	{ type="EIGHT_LEVEL", [	v,			V,		parenleft,		parenleft,		Cyrillic_em,		Cyrillic_EM,		parenleft,		parenleft		]	};
    key <AB05>	{ type="EIGHT_LEVEL", [	b,			B,		parenright,		parenright,		Cyrillic_i,		Cyrillic_I,		parenright,		parenright		]	};
    key <AB06>	{ type="EIGHT_LEVEL", [	n,			N,		quotedbl,		quotedbl,		Cyrillic_te,		Cyrillic_TE,		quotedbl,		quotedbl		]	};
    key <AB07>	{ type="EIGHT_LEVEL", [	m,			M,		apostrophe,		apostrophe,		Cyrillic_softsign,	Cyrillic_SOFTSIGN,	apostrophe,		apostrophe		]	};
    key <LEFT>	{ type="EIGHT_LEVEL", [	Cyrillic_be,		Cyrillic_BE,	Cyrillic_yu,		Cyrillic_YU,		Cyrillic_be,		Cyrillic_BE,		Cyrillic_yu,		Cyrillic_YU		]	};
    key <DOWN>	{ type="EIGHT_LEVEL", [	Left,			Left,		Up,			Up,			Left,			Left,			Up,			Up			]	};
    key <RGHT>	{ type="EIGHT_LEVEL", [	Right,			Right,		Down,			Down,			Right,			Right,			Down,			Down			]	};
};



partial alphanumeric_keys
xkb_symbols "it" {
    name[Group1] = "Italian";

    include "nokia_vndr/rx-51(base)"

    key <AB09>	{	[	egrave,		Egrave,		eacute,		Eacute		]	};

    key <AC01>	{	[	a,		A,		asterisk,	asterisk	]	};
    key <AC02>	{	[	s,		S,		plus,		plus		]	};
    key <AC03>	{	[	d,		D,		numbersign,	numbersign	]	};
    key <AC04>	{	[	f,		F,		minus,		minus		]	};
    key <AC05>	{	[	g,		G,		underscore,	underscore	]	};
    key <AC06>	{	[	h,		H,		semicolon,	semicolon	]	};
    key <AC07>	{	[	j,		J,		colon,		colon		]	};
    key <AC08>	{	[	k,		K,		exclam,		exclam		]	};
    key <AC09>	{	[	l,		L,		question,	question	]	};
    key <AB08>	{	[	ograve,		Ograve,		igrave,		Igrave		]	};
    key <UP>	{	[	agrave,		Agrave,		ugrave,		Ugrave		]	};

    key <AB01>	{	[	z,		Z,		EuroSign,	EuroSign	]	};
    key <AB02>	{	[	x,		X,		parenleft,	parenleft	]	};
    key <AB03>	{	[	c,		C,		parenright,	parenright	]	};
    key <AB04>	{	[	v,		V,		slash,		slash		]	};
    key <AB05>	{	[	b,		B,		backslash,	backslash	]	};
    key <AB06>	{	[	n,		N,		quotedbl,	quotedbl	]	};
    key <AB07>	{	[	m,		M,		apostrophe,	apostrophe	]	};
    key <LEFT>	{	[	period,		period,		comma,		comma		]	};
    key <DOWN>	{	[	Left,		Left,		Up,		Up		]	};
    key <RGHT>	{	[	Right,		Right,		Down,		Down		]	};
};

partial default alphanumeric_keys
xkb_symbols "base" {
    key <AD01>	{	[	q,			Q,			1,			1			]	};
    key <AD02>	{	[	w,			W,			2,			2			]	};
    key <AD03>	{	[	e,			E,			3,			3			]	};
    key <AD04>	{	[	r,			R,			4,			4			]	};
    key <AD05>	{	[	t,			T,			5,			5			]	};
    key <AD06>	{	[	y,			Y,			6,			6			]	};
    key <AD07>	{	[	u,			U,			7,			7			]	};
    key <AD08>	{	[	i,			I,			8,			8			]	};
    key <AD09>	{	[	o,			O,			9,			9			]	};
    key <AD10>	{	[	p,			P,			0,			0			]	};
    key <BKSP>	{	[	BackSpace,		BackSpace,		BackSpace,		BackSpace		]	};
    key <SPCE>	{	[	space,			space,			at,			at		]	};

    // broken UI spec.
    key <RTRN>	{	[	KP_Enter,		KP_Enter,		KP_Enter,		KP_Enter		]	};

    key <LFSH>	{	[	Shift_L,		Shift_L,		Shift_L,		Shift_L			]	};
    key <RALT>	{	[	ISO_Level3_Shift,	ISO_Level3_Shift,	ISO_Level3_Shift,	ISO_Level3_Shift	]	};
    key <LCTL>	{	[	Control_L,		Control_L,		Multi_key,		Multi_key		]	};
    key <TAB>	{	[	Tab,			Tab,			Tab,			Tab			]	};

    modifier_map Shift { Shift_L };
    modifier_map Mod5 { ISO_Level3_Shift };
    modifier_map Control { Control_L };

    key <KPEN>	{	[	Return		]	};

    key <ESC>	{	[	Escape		]	};
    key <FK01>	{	[	F1		]	};
    key <FK02>	{	[	F2		]	};
    key <FK03>	{	[	F3		]	};
    key <FK04>	{	[	F4		]	};
    key <FK05>	{	[	F5		]	};
    key <FK06>	{	[	F6		]	};
    key <FK07>	{	[	F7		]	};
    key <FK08>	{	[	F8		]	};
    key <FK09>	{	[	F9		]	};
    key <FK10>	{	[	F10		]	};
    key <FK11>	{	[	F11		]	};

    key <I171>   {      [ XF86AudioNext         ]       };
    key <I172>   {      [ XF86AudioPlay, XF86AudioPause ] };
    key <I173>   {      [ XF86AudioPrev         ]       };
    key <I174>   {      [ XF86AudioStop, XF86Eject ]    };
    key <I175>   {      [ XF86AudioRecord       ]       };
    key <I176>   {      [ XF86AudioRewind       ]       };
    key <I177>   {      [ XF86Phone             ]       };
};
