arm-sdk

os build toolkit for various embedded devices
git clone https://git.parazyd.org/arm-sdk
Log | Files | Refs | Submodules | README | LICENSE

rm-680 (39843B)


      1 // Instructions
      2 //
      3 // 1. Set basic layout by:
      4 //    setxkbmap -rules evdev -model nokiarm680 -layout cz
      5 //
      6 // 2. Set variant by:
      7 //    setxkbmap -rules evdev -model nokiarm680 -layout cz -variant qwerty
      8 //    In practice this is equivalent to:
      9 //    setxkbmap -rules evdev -model nokiarm680 -layout cz_qwerty
     10 //    However, the latter form isn't portable so always use the -variant option.
     11 //
     12 // 3. Set multilayout by:
     13 //    setxkbmap -rules evdev -model nokiarm680 -layout "us,cz" -variant ",qwerty" -option grp:ctrl_shift_toggle
     14 //    This sets the basic us layout active. You can switch to qwerty
     15 //    variant of cz layout by pressing ctrl+shift.
     16 //
     17 // Pitfalls
     18 //
     19 // 1. Many to one mappings
     20 //
     21 // Higher level input method components don't necessarily handle many to
     22 // one mappings correctly. They may assume that there exists only a one
     23 // to one mapping between a hardware key and a symbol. Therefore you
     24 // should take care not to introduce many to one mappings for keys that
     25 // are going to be reverse mapped from a symbol to a hardware key.
     26 //
     27 // Currently at least the modifier keys are affected. Clients may set
     28 // states, such as autorepeat, for hardware keys by reverse mapping a
     29 // modifier symbol to a hardware key and then setting the state for the
     30 // first hardware key that maps to the symbol. The correct way would be
     31 // to modify the state of all hardware keys mapping to a given symbol.
     32 //
     33 // We are nice and keep the mappings one to one for clients that don't
     34 // choose to handle many to one mappings.
     35 
     36 
     37 
     38 default partial alphanumeric_keys
     39 xkb_symbols "common" {
     40     include "nokia_vndr/rm-680(common-keys)"
     41     include "nokia_vndr/rm-680(modifiers)"
     42 
     43     // This section should not be included by any other section. It's
     44     // referenced only once by rule file to allow multiple layout
     45     // configurations.
     46 };
     47 
     48 // setxkbmap -model nokiarm680 -layout gb
     49 partial alphanumeric_keys
     50 xkb_symbols "gb" {
     51     include "nokia_vndr/rm-680(english-base)"
     52 
     53     name[Group1] = "English UK";
     54 };
     55 
     56 // setxkbmap -model nokiarm680 -layout us
     57 partial alphanumeric_keys
     58 xkb_symbols "us" {
     59     include "nokia_vndr/rm-680(english-base)"
     60 
     61     name[Group1] = "English US";
     62 };
     63 
     64 // setxkbmap -model nokiarm680 -layout ca
     65 partial alphanumeric_keys
     66 xkb_symbols "ca" {
     67     include "nokia_vndr/rm-680(english-base)"
     68 
     69     name[Group1] = "French Canadian";
     70 };
     71 
     72 // setxkbmap -model nokiarm680 -layout nl
     73 partial alphanumeric_keys
     74 xkb_symbols "nl" {
     75     include "nokia_vndr/rm-680(english-base)"
     76 
     77     name[Group1] = "Dutch";
     78 };
     79 
     80 // setxkbmap -model nokiarm680 -layout id
     81 partial alphanumeric_keys
     82 xkb_symbols "id" {
     83     include "nokia_vndr/rm-680(english-base)"
     84 
     85     name[Group1] = "Indonesian";
     86 };
     87 
     88 // setxkbmap -model nokiarm680 -layout my
     89 partial alphanumeric_keys
     90 xkb_symbols "my" {
     91     include "nokia_vndr/rm-680(english-base)"
     92 
     93     name[Group1] = "Malay";
     94 };
     95 
     96 // setxkbmap -model nokiarm680 -layout pl
     97 partial alphanumeric_keys
     98 xkb_symbols "pl" {
     99     include "nokia_vndr/rm-680(english-base)"
    100 
    101     name[Group1] = "Polish";
    102 };
    103 
    104 // setxkbmap -model nokiarm680 -layout ro
    105 partial alphanumeric_keys
    106 xkb_symbols "ro" {
    107     include "nokia_vndr/rm-680(english-base)"
    108 
    109     name[Group1] = "Romanian";
    110 };
    111 
    112 // setxkbmap -model nokiarm680 -layout fi
    113 partial alphanumeric_keys
    114 xkb_symbols "fi" {
    115     include "nokia_vndr/rm-680(nordic-base)"
    116 
    117     name[Group1] = "Finnish";
    118 
    119     // 3. row
    120     key <AB08>	{ [	odiaeresis,	Odiaeresis,	colon,		colon		] };
    121     key <AB09>	{ [	adiaeresis,	Adiaeresis,	semicolon,	semicolon	] };
    122 
    123 };
    124 
    125 // setxkbmap -model nokiarm680 -layout se
    126 partial alphanumeric_keys
    127 xkb_symbols "se" {
    128     include "nokia_vndr/rm-680(fi)"
    129 
    130     name[Group1] = "Swedish";
    131 };
    132 
    133 // setxkbmap -model nokiarm680 -layout no
    134 partial alphanumeric_keys
    135 xkb_symbols "no" {
    136     include "nokia_vndr/rm-680(nordic-base)"
    137 
    138     name[Group1] = "Norwegian";
    139 
    140     // 3. row
    141     key <AB08>	{ [	oslash,		Oslash,		colon,		colon		] };
    142     key <AB09>	{ [	ae,		AE,		semicolon,	semicolon	] };
    143 };
    144 
    145 // setxkbmap -model nokiarm680 -layout da
    146 partial alphanumeric_keys
    147 xkb_symbols "da" {
    148     include "nokia_vndr/rm-680(no)"
    149 
    150     name[Group1] = "Danish";
    151 };
    152 
    153 // setxkbmap -model nokiarm680 -layout pt
    154 partial alphanumeric_keys
    155 xkb_symbols "pt" {
    156     include "nokia_vndr/rm-680(english-base)"
    157 
    158     name[Group1] = "Portuguese";
    159 
    160     // 2. row
    161     key <AC02>	{ [	s,		S,		apostrophe,	apostrophe	] };
    162     key <AC03>	{ [	d,		D,		quotedbl,	quotedbl	] };
    163     key <AC04>	{ [	f,		F,		percent,	percent		] };
    164     key <AC05>	{ [	g,		G,		underscore,	underscore	] };
    165     key <AC06>	{ [	h,		H,		minus,		minus		] };
    166     key <AC07>	{ [	j,		J,		plus,		plus		] };
    167     key <AC08>	{ [	k,		K,		numbersign,	numbersign	] };
    168     key <AC09>	{ [	l,		L,		asterisk,	asterisk	] };
    169     key <AC11>	{ [	ccedilla,	Ccedilla,	question,	question	] };
    170 
    171     // 3. row
    172     key <AB01>	{ [	z,		Z,		EuroSign,	EuroSign	] };
    173     key <AB03>	{ [	c,		C,		ampersand,	ampersand	] };
    174     key <AB04>	{ [	v,		V,		backslash,	backslash	] };
    175     key <AB05>	{ [	b,		B,		parenleft,	parenleft	] };
    176     key <AB06>	{ [	n,		N,		parenright,	parenright	] };
    177     key <AB08>	{ [	dead_acute,	dead_grave,	colon,		colon		] };
    178     key <AB09>	{ [	dead_tilde,	dead_circumflex,semicolon,	semicolon	] };
    179 
    180     // 4. row
    181     key <AC12>	{ [	period,		comma,		comma,		comma		] };
    182 };
    183 
    184 // setxkbmap -model nokiarm680 -layout br
    185 partial alphanumeric_keys
    186 xkb_symbols "br" {
    187     include "nokia_vndr/rm-680(pt)"
    188 
    189     name[Group1] = "Brazilian Portuguese";
    190 };
    191 
    192 // setxkbmap -model nokiarm680 -layout es
    193 partial alphanumeric_keys
    194 xkb_symbols "es" {
    195     include "nokia_vndr/rm-680(english-base)"
    196 
    197     name[Group1] = "Spanish";
    198 
    199     // 2. row
    200     key <AC02>	{ [	s,		S,		question,	question	] };
    201     key <AC03>	{ [	d,		D,		apostrophe,	apostrophe	] };
    202     key <AC04>	{ [	f,		F,		quotedbl,	quotedbl	] };
    203     key <AC05>	{ [	g,		G,		underscore,	underscore	] };
    204     key <AC06>	{ [	h,		H,		minus,		minus		] };
    205     key <AC07>	{ [	j,		J,		plus,		plus		] };
    206     key <AC08>	{ [	k,		K,		numbersign,	numbersign	] };
    207     key <AC09>	{ [	l,		L,		asterisk,	asterisk	] };
    208     key <AC11>	{ [	ntilde,		Ntilde,		ccedilla,	Ccedilla	] };
    209 
    210     // 3. row
    211     key <AB01>	{ [	z,		Z,		exclamdown,	exclamdown	] };
    212     key <AB02>	{ [	x,		X,		questiondown,	questiondown	] };
    213     key <AB03>	{ [	c,		C,		parenleft,	parenleft	] };
    214     key <AB04>	{ [	v,		V,		parenright,	parenright	] };
    215     key <AB05>	{ [	b,		B,		ampersand,	ampersand	] };
    216     key <AB08>	{ [	comma,		semicolon,	semicolon,	semicolon	] };
    217     key <AB09>	{ [	period,		colon,		colon,		colon		] };
    218 
    219     // 4. row
    220     key <AC12>	{ [	dead_acute,	dead_diaeresis,	dead_diaeresis,	dead_diaeresis	] };
    221 };
    222 
    223 // setxkbmap -model nokiarm680 -layout es -variant american
    224 partial alphanumeric_keys
    225 xkb_symbols "es_american" {
    226     include "nokia_vndr/rm-680(es)"
    227 
    228     name[Group1] = "American Spanish";
    229 };
    230 
    231 // setxkbmap -model nokiarm680 -layout fr
    232 partial alphanumeric_keys
    233 xkb_symbols "fr" {
    234     include "nokia_vndr/rm-680(english-base)"
    235 
    236     name[Group1] = "French";
    237 
    238     // 1. row
    239     key <AD01>	{ [	a,		A,		1,		1		] };
    240     key <AD02>	{ [	z,		Z,		2,		2		] };
    241 
    242     // 2. row
    243     key <AC01>	{ [	q,		Q,		EuroSign,	EuroSign	] };
    244     key <AC02>	{ [	s,		S,		equal,		equal		] };
    245     key <AC03>	{ [	d,		D,		parenleft,	parenleft	] };
    246     key <AC04>	{ [	f,		F,		parenright,	parenright	] };
    247     key <AC05>	{ [	g,		G,		percent,	percent		] };
    248     key <AC06>	{ [	h,		H,		ampersand,	ampersand	] };
    249     key <AC07>	{ [	j,		J,		eacute,		Eacute		] };
    250     key <AC08>	{ [	k,		K,		ecircumflex,	Ecircumflex	] };
    251     key <AC09>	{ [	l,		L,		egrave,		Egrave		] };
    252     key <AC11>	{ [	m,		M,		apostrophe,	apostrophe	] };
    253 
    254     // 3. row
    255     key <AB01>	{ [	w,		W,		underscore,	underscore	] };
    256     key <AB02>	{ [	x,		X,		minus,		minus		] };
    257     key <AB03>	{ [	c,		C,		plus,		plus		] };
    258     key <AB04>	{ [	v,		V,		numbersign,	numbersign	] };
    259     key <AB05>	{ [	b,		B,		asterisk,	asterisk	] };
    260     key <AB06>	{ [	n,		N,		backslash,	backslash	] };
    261     key <AB07>	{ [	comma,		question,	ccedilla,	Ccedilla	] };
    262     key <AB08>	{ [	period,		semicolon,	agrave,		Agrave		] };
    263     key <AB09>	{ [	colon,		exclam,		quotedbl,	quotedbl	] };
    264 
    265     // 4. row
    266     key <AC12>	{ [	dead_circumflex,dead_diaeresis,	dead_diaeresis,	dead_diaeresis	] };
    267 };
    268 
    269 // setxkbmap -model nokiarm680 -layout de
    270 partial alphanumeric_keys
    271 xkb_symbols "de" {
    272     include "nokia_vndr/rm-680(english-base)"
    273 
    274     name[Group1] = "German";
    275 
    276     // 1. row
    277     key <AD06>	{ [	z,		Z,		6,		6		] };
    278 
    279     // 2. row
    280     key <AC01>	{ [	a,		A,		exclam,		exclam		] };
    281     key <AC02>	{ [	s,		S,		apostrophe,	apostrophe	] };
    282     key <AC03>	{ [	d,		D,		quotedbl,	quotedbl	] };
    283     key <AC04>	{ [	f,		F,		percent,	percent		] };
    284     key <AC05>	{ [	g,		G,		underscore,	underscore	] };
    285     key <AC06>	{ [	h,		H,		minus,		minus		] };
    286     key <AC07>	{ [	j,		J,		plus,		plus		] };
    287     key <AC08>	{ [	k,		K,		numbersign,	numbersign	] };
    288     key <AC09>	{ [	l,		L,		asterisk,	asterisk	] };
    289     key <AC11>	{ [	udiaeresis,	Udiaeresis,	question,	question	] };
    290 
    291     // 3. row
    292     key <AB01>	{ [	y,		Y,		less,		less		] };
    293     key <AB02>	{ [	x,		X,		greater,	greater		] };
    294     key <AB03>	{ [	c,		C,		ampersand,	ampersand	] };
    295     key <AB04>	{ [	v,		V,		parenleft,	parenrleft	] };
    296     key <AB05>	{ [	b,		B,		parenright,	parenright	] };
    297     key <AB06>	{ [	n,		N,		equal,		equal		] };
    298     key <AB07>	{ [	m,		M,		ssharp,		ssharp		] };
    299     key <AB08>	{ [	odiaeresis,	Odiaeresis,	colon,		colon		] };
    300     key <AB09>	{ [	adiaeresis,	Adiaeresis,	semicolon,	semicolon	] };
    301 
    302     // 4. row
    303     key <AC12>	{ [	period,		comma,		comma,		comma		] };
    304 };
    305 
    306 // setxkbmap -model nokiarm680 -layout hu
    307 partial alphanumeric_keys
    308 xkb_symbols "hu" {
    309     include "nokia_vndr/rm-680(english-base)"
    310 
    311     name[Group1] = "Hungarian";
    312 
    313     // 1. row
    314     key <AD06>	{ [	z,		Z,		6,		6		] };
    315 
    316     // 2. row
    317     key <AC01>	{ [	a,		A,		quotedbl,	quotedbl	] };
    318     key <AC02>	{ [	s,		S,		parenleft,	parenleft	] };
    319     key <AC03>	{ [	d,		D,		parenright,	parenright	] };
    320     key <AC04>	{ [	f,		F,		percent,	percent		] };
    321     key <AC05>	{ [	g,		G,		odiaeresis,	Odiaeresis	] };
    322     key <AC06>	{ [	h,		H,		odoubleacute,	Odoubleacute	] };
    323     key <AC07>	{ [	j,		J,		oacute,		Oacute		] };
    324     key <AC08>	{ [	k,		K,		udiaeresis,	Udiaeresis	] };
    325     key <AC09>	{ [	l,		L,		udoubleacute,	Udoubleacute	] };
    326     key <AC11>	{ [	exclam,		question,	question,	question	] };
    327 
    328     // 3. row
    329     key <AB01>	{ [	y,		Y,		minus,		minus		] };
    330     key <AB02>	{ [	x,		X,		plus,		plus		] };
    331     key <AB03>	{ [	c,		C,		numbersign,	numbersign	] };
    332     key <AB04>	{ [	v,		V,		asterisk,	asterisk	] };
    333     key <AB05>	{ [	b,		B,		equal,		equal		] };
    334     key <AB06>	{ [	n,		N,		iacute,		Iacute		] };
    335     key <AB07>	{ [	m,		M,		eacute,		Eacute		] };
    336     key <AB08>	{ [	comma,		semicolon,	aacute,		Aacute		] };
    337     key <AB09>	{ [	period,		colon,		uacute,		Uacute		] };
    338 
    339     // 4. row
    340     key <AC12>	{ [	apostrophe,	ampersand,	ampersand,	ampersand	] };
    341 };
    342 
    343 // setxkbmap -model nokiarm680 -layout ch -variant french
    344 partial alphanumeric_keys
    345 xkb_symbols "ch_french" {
    346     include "nokia_vndr/rm-680(english-base)"
    347 
    348     name[Group1] = "Swiss French";
    349 
    350     // 1. row
    351     key <AD06>	{ [	z,		Z,		6,		6		] };
    352 
    353     // 2. row
    354     key <AC02>	{ [	s,		S,		apostrophe,	apostrophe	] };
    355     key <AC03>	{ [	d,		D,		quotedbl,	quotedbl	] };
    356     key <AC04>	{ [	f,		F,		percent,	percent		] };
    357     key <AC05>	{ [	g,		G,		underscore,	underscore	] };
    358     key <AC06>	{ [	h,		H,		minus,		minus		] };
    359     key <AC07>	{ [	j,		J,		plus,		plus		] };
    360     key <AC08>	{ [	k,		K,		numbersign,	numbersign	] };
    361     key <AC09>	{ [	l,		L,		asterisk,	asterisk	] };
    362     key <AC11>	{ [	egrave,		Egrave,		question,	question	] };
    363 
    364     // 3. row
    365     key <AB01>	{ [	y,		Y,		EuroSign,	EuroSign	] };
    366     key <AB02>	{ [	x,		X,		parenleft,	parenleft	] };
    367     key <AB03>	{ [	c,		C,		parenright,	parenright	] };
    368     key <AB04>	{ [	v,		V,		backslash,	backslash	] };
    369     key <AB05>	{ [	b,		B,		ampersand,	ampersand	] };
    370     key <AB06>	{ [	n,		N,		equal,		equal		] };
    371     key <AB07>	{ [	m,		M,		ccedilla,	Ccedilla	] };
    372     key <AB08>	{ [	eacute,		Eacute,		colon,		colon		] };
    373     key <AB09>	{ [	agrave,		Agrave,		semicolon,	semicolon	] };
    374 
    375     // 4. row
    376     key <AC12>	{ [	period,		dead_circumflex,comma,		comma		] };
    377 };
    378 
    379 // setxkbmap -model nokiarm680 -layout ch -variant german
    380 partial alphanumeric_keys
    381 xkb_symbols "ch_german" {
    382     include "nokia_vndr/rm-680(ch_french)"
    383 
    384     name[Group1] = "Swiss German";
    385 
    386     // 2. row
    387     key <AC11>	{ [	udiaeresis,	Udiaeresis,	question,	question	] };
    388 
    389     // 3. row
    390     key <AB08>	{ [	odiaeresis,	Odiaeresis,	colon,		colon		] };
    391     key <AB09>	{ [	adiaeresis,	Adiaeresis,	semicolon,	semicolon	] };
    392 };
    393 
    394 // setxkbmap -model nokiarm680 -layout ru -variant latin
    395 partial alphanumeric_keys
    396 xkb_symbols "ru_latin" {
    397     include "nokia_vndr/rm-680(english-base)"
    398 
    399     name[Group1] = "Russian Latin";
    400 
    401     // 2. row
    402     key <AC01>	{ [	a,		A,		numbersign,		numbersign		] };
    403     key <AC02>	{ [	s,		S,		asterisk,		asterisk		] };
    404     key <AC03>	{ [	d,		D,		plus,			plus			] };
    405     key <AC04>	{ [	f,		F,		equal,			equal			] };
    406     key <AC05>	{ [	g,		G,		minus,			minus			] };
    407     key <AC06>	{ [	h,		H,		exclam,			exclam			] };
    408     key <AC07>	{ [	j,		J,		question,		question		] };
    409     key <AC08>	{ [	k,		K,		parenleft,		parenleft		] };
    410     key <AC09>	{ [	l,		L,		parenright,		parenright		] };
    411     key <AC11>	{ [	VoidSymbol,	VoidSymbol,	VoidSymbol,		VoidSymbol		] };
    412 
    413     // 3. row
    414     key <AB01>	{ [	z,		Z,		apostrophe,		apostrophe		] };
    415     key <AB02>	{ [	x,		X,		quotedbl,		quotedbl		] };
    416     key <AB03>	{ [	c,		C,		percent,		percent			] };
    417     key <AB04>	{ [	v,		V,		ampersand,		ampersand		] };
    418     key <AB05>	{ [	b,		B,		underscore,		underscore		] };
    419     key <AB06>	{ [	n,		N,		semicolon,		semicolon		] };
    420     key <AB07>	{ [	m,		M,		colon,			colon			] };
    421     key <AB08>	{ [	VoidSymbol,     VoidSymbol,	VoidSymbol,		VoidSymbol		] };
    422     key <AB09>	{ [	VoidSymbol,	VoidSymbol,	VoidSymbol,		VoidSymbol		] };
    423 
    424     // 4. row
    425     key <AC12>	{ [	period,		comma,		comma,			comma			] };
    426 };
    427 
    428 // setxkbmap -model nokiarm680 -layout ru -variant cyrillic
    429 partial alphanumeric_keys
    430 xkb_symbols "ru_cyrillic" {
    431     include "nokia_vndr/rm-680(ru_latin)"
    432 
    433     name[Group1] = "Russian Cyrillic";
    434 
    435     // 1. row
    436     key <AD01>	{ [	Cyrillic_shorti,	Cyrillic_SHORTI,	1,			1			] };
    437     key <AD02>	{ [	Cyrillic_tse,		Cyrillic_TSE,		2,			2			] };
    438     key <AD03>	{ [	Cyrillic_u,		Cyrillic_U,		3,			3			] };
    439     key <AD04>	{ [	Cyrillic_ka,		Cyrillic_KA,		4,			4			] };
    440     key <AD05>	{ [	Cyrillic_ie,		Cyrillic_IE,		5,			5			] };
    441     key <AD06>	{ [	Cyrillic_en,		Cyrillic_EN,		6,			6			] };
    442     key <AD07>	{ [	Cyrillic_ghe,		Cyrillic_GHE,		7,			7			] };
    443     key <AD08>	{ [	Cyrillic_sha,		Cyrillic_SHA,		8,			8			] };
    444     key <AD09>	{ [	Cyrillic_shcha,		Cyrillic_SHCHA,		9,			9			] };
    445     key <AD10>	{ [	Cyrillic_ze,		Cyrillic_ZE,		0,			0			] };
    446 
    447     // 2. row
    448     key <AC01>	{ [	Cyrillic_ef,		Cyrillic_EF,		numbersign,		numbersign		] };
    449     key <AC02>	{ [	Cyrillic_yeru,		Cyrillic_YERU,		asterisk,		asterisk		] };
    450     key <AC03>	{ [	Cyrillic_ve,		Cyrillic_VE,		plus,			plus			] };
    451     key <AC04>	{ [	Cyrillic_a,		Cyrillic_A,		equal,			equal			] };
    452     key <AC05>	{ [	Cyrillic_pe,		Cyrillic_PE,		minus,			minus			] };
    453     key <AC06>	{ [	Cyrillic_er,		Cyrillic_ER,		exclam,			exclam			] };
    454     key <AC07>	{ [	Cyrillic_o,		Cyrillic_O,		question,		question		] };
    455     key <AC08>	{ [	Cyrillic_el,		Cyrillic_EL,		parenleft,		parenleft		] };
    456     key <AC09>	{ [	Cyrillic_de,		Cyrillic_DE,		parenright,		parenright		] };
    457     key <AC11>	{ [	Cyrillic_zhe,		Cyrillic_ZHE,		Cyrillic_ha,		Cyrillic_HA		] };
    458 
    459     // 3. row
    460     key <AB01>	{ [	Cyrillic_ya,		Cyrillic_YA,		apostrophe,		apostrophe		] };
    461     key <AB02>	{ [	Cyrillic_che,		Cyrillic_CHE,		quotedbl,		quotedbl		] };
    462     key <AB03>	{ [	Cyrillic_es,		Cyrillic_ES,		percent,		percent			] };
    463     key <AB04>	{ [	Cyrillic_em,		Cyrillic_EM,		ampersand,		ampersand		] };
    464     key <AB05>	{ [	Cyrillic_i,		Cyrillic_I,		underscore,		underscore		] };
    465     key <AB06>	{ [	Cyrillic_te,		Cyrillic_TE,		semicolon,		semicolon		] };
    466     key <AB07>	{ [	Cyrillic_softsign,	Cyrillic_SOFTSIGN,	colon,			colon			] };
    467     key <AB08>	{ [	Cyrillic_be,		Cyrillic_BE,		Cyrillic_hardsign,	Cyrillic_HARDSIGN	] };
    468     key <AB09>	{ [	Cyrillic_yu,		Cyrillic_YU,		Cyrillic_e,		Cyrillic_E		] };
    469 };
    470 
    471 // setxkbmap -model nokiarm680 -layout ua -variant latin
    472 partial alphanumeric_keys
    473 xkb_symbols "ua_latin" {
    474     include "nokia_vndr/rm-680(ru_latin)"
    475 
    476     name[Group1] = "Ukrainian Latin";
    477 };
    478 
    479 // setxkbmap -model nokiarm680 -layout ua -variant cyrillic
    480 partial alphanumeric_keys
    481 xkb_symbols "ua_cyrillic" {
    482     include "nokia_vndr/rm-680(ru_cyrillic)"
    483 
    484     name[Group1] = "Ukrainian Cyrillic";
    485 
    486 };
    487 
    488 // setxkbmap -model nokiarm680 -layout it
    489 partial alphanumeric_keys
    490 xkb_symbols "it" {
    491     include "nokia_vndr/rm-680(english-base)"
    492 
    493     name[Group1] = "Italian";
    494 
    495     // 2. row
    496     key <AC01>	{ [	a,		A,		EuroSign,	EuroSign	] };
    497     key <AC02>	{ [	s,		S,		quotedbl,	quotedbl	] };
    498     key <AC03>	{ [	d,		D,		equal,		equal		] };
    499     key <AC04>	{ [	f,		F,		percent,	percent		] };
    500     key <AC05>	{ [	g,		G,		parenleft,	parenleft	] };
    501     key <AC06>	{ [	h,		H,		parenright,	parenright	] };
    502     key <AC07>	{ [	j,		J,		igrave,		Igrave		] };
    503     key <AC08>	{ [	k,		K,		eacute,		Eacute		] };
    504     key <AC09>	{ [	l,		L,		egrave,		Egrave		] };
    505     key <AC11>	{ [	question,	exclam,		exclam,		exclam		] };
    506 
    507     // 3. row
    508     key <AB01>	{ [	z,		Z,		underscore,	underscore	] };
    509     key <AB02>	{ [	x,		X,		minus,		minus		] };
    510     key <AB03>	{ [	c,		C,		plus,		plus		] };
    511     key <AB04>	{ [	v,		V,		numbersign,	numbersign	] };
    512     key <AB05>	{ [	b,		B,		asterisk,	asterisk	] };
    513     key <AB06>	{ [	n,		N,		backslash,	backslash	] };
    514     key <AB07>	{ [	m,		M,		ograve,		Ograve		] };
    515     key <AB08>	{ [	comma,		semicolon,	agrave,		Agrave		] };
    516     key <AB09>	{ [	period,		colon,		ugrave,		Ugrave		] };
    517 
    518     // 4. row
    519     key <AC12>	{ [	apostrophe,	ampersand,	ampersand,	ampersand	] };
    520 };
    521 
    522 // setxkbmap -model nokiarm680 -layout cz
    523 partial alphanumeric_keys
    524 xkb_symbols "cz" {
    525     include "nokia_vndr/rm-680(english-base)"
    526 
    527     name[Group1] = "Czech";
    528 
    529     // 1. row
    530     key <AD06>	{ [	z,		Z,		6,		6		] };
    531 
    532     // 2. row
    533     key <AC01>	{ [	a,		A,		minus,		minus		] };
    534     key <AC02>	{ [	s,		S,		ecaron,		Ecaron		] };
    535     key <AC03>	{ [	d,		D,		scaron,		Scaron		] };
    536     key <AC04>	{ [	f,		F,		ccaron,		Ccaron		] };
    537     key <AC05>	{ [	g,		G,		rcaron,		Rcaron		] };
    538     key <AC06>	{ [	h,		H,		zcaron,		Zcaron		] };
    539     key <AC07>	{ [	j,		J,		yacute,		Yacute		] };
    540     key <AC08>	{ [	k,		K,		aacute,		Aacute		] };
    541     key <AC09>	{ [	l,		L,		iacute,		Iacute		] };
    542     key <AC11>	{ [	question,	question,	eacute,		Eacute		] };
    543 
    544     // 3. row
    545     key <AB01>	{ [	y,		Y,		plus,		plus		] };
    546     key <AB02>	{ [	x,		X,		numbersign,	numbersign	] };
    547     key <AB03>	{ [	c,		C,		asterisk,	asterisk	] };
    548     key <AB04>	{ [	v,		V,		apostrophe,	apostrophe	] };
    549     key <AB05>	{ [	b,		B,		parenleft,	parenleft	] };
    550     key <AB06>	{ [	n,		N,		parenright,	parenright	] };
    551     key <AB07>	{ [	m,		M,		uring,		Uring		] };
    552     key <AB08>	{ [	comma,		semicolon,	uacute,		Uacute		] };
    553     key <AB09>	{ [	period,		colon,		exclam,		exclam		] };
    554 
    555     // 4. row
    556     key <AC12>	{ [	dead_acute,	dead_caron,	dead_caron,	dead_caron	] };
    557 };
    558 
    559 // setxkbmap -model nokiarm680 -layout cz -variant qwerty
    560 partial alphanumeric_keys
    561 xkb_symbols "cz_qwerty" {
    562     include "nokia_vndr/rm-680(cz)"
    563 
    564     name[Group1] = "Czech - qwerty";
    565 
    566     // 1. row
    567     key <AD06>	{ [	y,		Y,		6,		6		] };
    568 
    569     // 3. row
    570     key <AB01>	{ [	z,		Z,		plus,		plus		] };
    571 };
    572 
    573 // setxkbmap -model nokiarm680 -layout sk
    574 partial alphanumeric_keys
    575 xkb_symbols "sk" {
    576     include "nokia_vndr/rm-680(english-base)"
    577 
    578     name[Group1] = "Slovak";
    579 
    580     // 1. row
    581     key <AD06>	{ [	z,		Z,		6,		6		] };
    582 
    583     // 2. row
    584     key <AC01>	{ [	a,		A,		U013E,		U013D		] };
    585     key <AC02>	{ [	s,		S,		scaron,		Scaron		] };
    586     key <AC03>	{ [	d,		D,		ccaron,		Ccaron		] };
    587     key <AC04>	{ [	f,		F,		U0165,		U0164		] };
    588     key <AC05>	{ [	g,		G,		zcaron,		Zcaron		] };
    589     key <AC06>	{ [	h,		H,		yacute,		Yacute		] };
    590     key <AC07>	{ [	j,		J,		aacute,		Aacute		] };
    591     key <AC08>	{ [	k,		K,		iacute,		Iacute		] };
    592     key <AC09>	{ [	l,		L,		eacute,		Eacute		] };
    593     key <AC11>	{ [	question,	exclam,		uacute,		Uacute		] };
    594 
    595     // 3. row
    596     key <AB01>	{ [	y,		Y,		plus,		plus		] };
    597     key <AB02>	{ [	x,		X,		minus,		minus		] };
    598     key <AB03>	{ [	c,		C,		equal,		equal		] };
    599     key <AB04>	{ [	v,		V,		numbersign,	numbersign	] };
    600     key <AB05>	{ [	b,		B,		asterisk,	asterisk	] };
    601     key <AB06>	{ [	n,		N,		parenleft,	parenleft	] };
    602     key <AB07>	{ [	m,		M,		parenright,	parenright	] };
    603     key <AB08>	{ [	comma,		dead_acute,	semicolon,	semicolon	] };
    604     key <AB09>	{ [	period,		EuroSign,	colon,		colon		] };
    605 
    606     // 4. row
    607     key <AC12>	{ [	dead_caron,	dead_circumflex,dead_circumflex,dead_circumflex	] };
    608 };
    609 
    610 // setxkbmap -model nokiarm680 -layout tr
    611 partial alphanumeric_keys
    612 xkb_symbols "tr" {
    613     include "nokia_vndr/rm-680(english-base)"
    614 
    615     name[Group1] = "Turkish";
    616 
    617     // 2. row
    618     key <AC01>	{ [	a,		A,		equal,		equal		] };
    619     key <AC02>	{ [	s,		S,		quotedbl,	quotedbl	] };
    620     key <AC03>	{ [	d,		D,		percent,	percent		] };
    621     key <AC04>	{ [	f,		F,		gcaron,		Gcaron		] };
    622     key <AC05>	{ [	g,		G,		udiaeresis,	Udiaeresis	] };
    623     key <AC06>	{ [	h,		H,		scedilla,	Scedilla	] };
    624     key <AC07>	{ [	j,		J,		idotless,	Iabovedot	] };
    625     key <AC08>	{ [	k,		K,		odiaeresis,	Odiaeresis	] };
    626     key <AC09>	{ [	l,		L,		ccedilla,	Ccedilla	] };
    627     key <AC11>	{ [	exclam,		apostrophe,	apostrophe,	apostrophe	] };
    628 
    629     // 3. row
    630     key <AB01>	{ [	z,		Z,		minus,		minus		] };
    631     key <AB02>	{ [	x,		X,		plus,		plus		] };
    632     key <AB03>	{ [	c,		C,		numbersign,	numbersign	] };
    633     key <AB04>	{ [	v,		V,		asterisk,	asterisk	] };
    634     key <AB05>	{ [	b,		B,		ampersand,	ampersand	] };
    635     key <AB06>	{ [	n,		N,		parenleft,	parenleft	] };
    636     key <AB07>	{ [	m,		M,		parenright,	parenright	] };
    637     key <AB08>	{ [	comma,		semicolon,	semicolon,	semicolon	] };
    638     key <AB09>	{ [	period,		colon,		colon,		colon		] };
    639 };
    640 
    641 // setxkbmap -model nokiarm680 -layout ara
    642 //
    643 // Decomposition of any unicode ligatures is left to higher level input
    644 // method components. It is easier to map ligatures consisting of multiple
    645 // unicode characters to a single unicode presentation form. The used
    646 // presentation forms are given below.
    647 //
    648 // FEF6/0644+0622: ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
    649 // FEF7/0644+0623: ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
    650 // FEF9/0644+0625: ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
    651 // FEFB/0644+0627: ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
    652 
    653 partial alphanumeric_keys
    654 xkb_symbols "ara" {
    655     include "nokia_vndr/rm-680(english-base)"
    656 
    657     name[Group1] = "Arabic";
    658 
    659     // 1. row
    660     key <AD01>	{ [	Arabic_dad,		Arabic_thal,		1,			1			] };
    661     key <AD02>	{ [	Arabic_sad,		Arabic_sad,		2,			2			] };
    662     key <AD03>	{ [	Arabic_theh,		Arabic_theh,		3,			3			] };
    663     key <AD04>	{ [	Arabic_qaf,		Arabic_qaf,		4,			4			] };
    664     key <AD05>	{ [	Arabic_feh,		UFEF9,			5,			5			] };
    665     key <AD06>	{ [	Arabic_ghain,		Arabic_hamzaunderalef,	6,			6			] };
    666     key <AD07>	{ [	Arabic_ain,		Arabic_ain,		7,			7			] };
    667     key <AD08>	{ [	Arabic_ha,		Arabic_ha,		8,			8			] };
    668     key <AD09>	{ [	Arabic_hah,		Arabic_khah,		9,			9			] };
    669     key <AD10>	{ [	Arabic_jeem,		Arabic_dal,		0,			0			] };
    670 
    671     // 2. row
    672     key <AC01>	{ [	Arabic_sheen,		Arabic_sheen,		apostrophe,		apostrophe		] };
    673     key <AC02>	{ [	Arabic_seen,		Arabic_seen,		quotedbl,		quotedbl		] };
    674     key <AC03>	{ [	Arabic_yeh,		Arabic_yeh,		percent,		percent			] };
    675     key <AC04>	{ [	Arabic_beh,		Arabic_beh,		ampersand,		ampersand		] };
    676     key <AC05>	{ [	Arabic_lam,		UFEF7,			underscore,		underscore		] };
    677     key <AC06>	{ [	Arabic_alef,		Arabic_hamzaonalef,	minus,			minus			] };
    678     key <AC07>	{ [	Arabic_teh,		Arabic_teh,		plus,			plus			] };
    679     key <AC08>	{ [	Arabic_noon,		Arabic_kaf,		numbersign,		numbersign		] };
    680     key <AC09>	{ [	Arabic_meem,		Arabic_tah,		asterisk,		asterisk		] };
    681     key <AC11>	{ [	Arabic_question_mark,	exclam,			exclam,			exclam			] };
    682 
    683     // 3. row
    684     key <AB01>	{ [	Arabic_hamzaonyeh,	Arabic_hamzaonyeh,	sterling,		sterling		] };
    685     key <AB02>	{ [	Arabic_hamza,		Arabic_hamza,		dollar,			dollar			] };
    686     key <AB03>	{ [	Arabic_hamzaonwaw,	Arabic_hamzaonwaw,	EuroSign,		EuroSign		] };
    687     key <AB04>	{ [	Arabic_ra,		Arabic_ra,		backslash,		backslash		] };
    688     key <AB05>	{ [	UFEFB,		        UFEF6,			parenleft,		parenleft		] };
    689     key <AB06>	{ [	Arabic_alefmaksura,	Arabic_hamzaonalef,	parenright,		parenright		] };
    690     key <AB07>	{ [	Arabic_tehmarbuta,	Arabic_tehmarbuta,	equal,			equal			] };
    691     key <AB08>	{ [	Arabic_waw,		Arabic_waw,		Arabic_semicolon,	Arabic_semicolon	] };
    692     key <AB09>	{ [	Arabic_zain,		Arabic_zah,		colon,			colon			] };
    693 
    694     // 4. row
    695     key <AC12>	{ [	period,			Arabic_comma,		Arabic_comma,		Arabic_comma		] };
    696 };
    697 
    698 // setxkbmap -model nokiarm680 -layout ara -variant latin
    699 partial alphanumeric_keys
    700 xkb_symbols "ara_latin" {
    701     include "nokia_vndr/rm-680(english-base)"
    702 
    703     name[Group1] = "Arabic Latin";
    704 
    705     // 2. row
    706     key <AC01>	{ [	a,		A,		apostrophe,	apostrophe	] };
    707     key <AC03>	{ [	d,		D,		percent,	percent		] };
    708     key <AC04>	{ [	f,		F,		ampersand,	ampersand	] };
    709     key <AC05>	{ [	g,		G,		underscore,	underscore	] };
    710     key <AC06>	{ [	h,		H,		minus,		minus		] };
    711     key <AC07>	{ [	j,		J,		plus,		plus		] };
    712     key <AC08>	{ [	k,		K,		numbersign,	numbersign	] };
    713     key <AC09>	{ [	l,		L,		asterisk,	asterisk	] };
    714     key <AC11>	{ [	question,	exclam,		exclam,		exclam		] };
    715 
    716     // 3. row
    717     key <AB04>	{ [	v,		V,		backslash,	backslash	] };
    718     key <AB05>	{ [	b,		B,		parenleft,	parenleft	] };
    719     key <AB06>	{ [	n,		N,		parenright,	parenright	] };
    720     key <AB08>	{ [	semicolon,	semicolon,	semicolon,	semicolon	] };
    721     key <AB09>	{ [	colon,		colon,		colon,		colon		] };
    722 
    723     // 4. row
    724     key <AC12>	{ [	period,		comma,		comma,		comma		] };
    725 };
    726 
    727 // setxkbmap -model nokiarm680 -layout ara -variant indic
    728 partial alphanumeric_keys
    729 xkb_symbols "ara_indic" {
    730     include "nokia_vndr/rm-680(ara)"
    731 
    732     name[Group1] = "Arabic Indic";
    733 
    734     // 2. row
    735     key <AC03>	{ [	Arabic_yeh,	Arabic_yeh,	Arabic_percent,	Arabic_percent	] };
    736 };
    737 
    738 // setxkbmap -model nokiarm680 -layout cn -variant latin-cangjie
    739 partial alphanumeric_keys
    740 xkb_symbols "cn_latin-cangjie" {
    741     include "nokia_vndr/rm-680(chinese-base)"
    742 
    743     name[Group1] = "Chinese Latin-Cangjie";
    744 
    745     // 2. row
    746     key <AC02>	{ [	s,		S,		asciicircum,	asciicircum	] };
    747 
    748     // 3. row
    749     key <AB04>	{ [	v,		V,		backslash,	backslash	] };  
    750     key <AB08>	{ [	comma,		semicolon,	semicolon,	semicolon	] };
    751     key <AB09>	{ [	period,		colon,		colon,		colon		] };
    752 };
    753 
    754 // setxkbmap -model nokiarm680 -layout zh -variant hk-latin
    755 partial alphanumeric_keys
    756 xkb_symbols "zh_hk-latin" {
    757     include "nokia_vndr/rm-680(cn_latin-cangjie)"
    758 
    759     name[Group1] = "Chinese Latin-Cangjie";
    760 };
    761 
    762 // setxkbmap -model nokiarm680 -layout cn -variant cangjie
    763 partial alphanumeric_keys
    764 xkb_symbols "cn_cangjie" {
    765     include "nokia_vndr/rm-680(cn_latin-cangjie)"
    766 
    767     name[Group1] = "Chinese Cangjie";
    768 
    769     // 1. row
    770     key <AD01>	{ [	U624B,		U624B,		1,		1		] };
    771     key <AD02>	{ [	U7530,		U7530,		2,		2		] };
    772     key <AD03>	{ [	U6C34,		U6C34,		3,		3		] };
    773     key <AD04>	{ [	U53E3,		U53E3,		4,		4		] };
    774     key <AD05>	{ [	U5EFF,		U5EFF,		5,		5		] };
    775     key <AD06>	{ [	U535C,		U535C,		6,		6		] };
    776     key <AD07>	{ [	U5C71,		U5C71,		7,		7		] };
    777     key <AD08>	{ [	U6208,		U6208,		8,		8		] };
    778     key <AD09>	{ [	U4EBA,		U4EBA,		9,		9		] };
    779     key <AD10>	{ [	U5FC3,		U5FC3,		0,		0		] };
    780 
    781     // 2. row
    782     key <AC01>	{ [	U65E5,		U65E5,		UFF07,		UFF07		] };
    783     key <AC02>	{ [	U5C38,		U5C38,		UFF3E,		UFF3E		] };
    784     key <AC03>	{ [	U6728,		U6728,		UFF05,		UFF05		] };
    785     key <AC04>	{ [	U706B,		U706B,		UFE51,		UFE51		] };
    786     key <AC05>	{ [	U571F,		U571F,		UFF3F,		UFF3F		] };
    787     key <AC06>	{ [	U7AF9,		U7AF9,		UFF0D,		UFF0D		] };
    788     key <AC07>	{ [	U5341,		U5341,		plus,		plus		] };
    789     key <AC08>	{ [	U5927,		U5927,		numbersign,	numbersign	] };
    790     key <AC09>	{ [	U4E2D,		U4E2D,		asterisk,	asterisk	] };
    791     key <AC11>	{ [	UFF1F,		UFF01,		UFF01,		UFF01		] };
    792 
    793     // 3. row
    794     key <AB01>	{ [	VoidSymbol,	VoidSymbol,	EuroSign,	EuroSign	] };
    795     key <AB02>	{ [	U96E3,		U96E3,		UFF04,		UFF04		] };
    796     key <AB03>	{ [	U91D1,		U91D1,		UFF06,		UFF06		] };
    797     key <AB04>	{ [	U5973,		U5973,		UFF3C,		UFF3C		] };
    798     key <AB05>	{ [	U6708,		U6708,		UFF08,		UFF08		] };
    799     key <AB06>	{ [	U5F13,		U5F13,		UFF09,		UFF09		] };
    800     key <AB07>	{ [	U4E00,		U4E00,		UFF1D,		UFF1D		] };
    801     key <AB08>	{ [	UFF0C,		UFF1B,		UFF1B,		UFF1B		] };
    802     key <AB09>	{ [	U3002,		UFF1A,		UFF1A,		UFF1A		] };
    803 
    804     // 4. row
    805     key <AB10>	{ [	UFF20,		UFF0F,		UFF0F,		UFF0F		] };
    806 };
    807 
    808 // setxkbmap -model nokiarm680 -layout zh -variant hk
    809 partial alphanumeric_keys
    810 xkb_symbols "zh_hk" {
    811     include "nokia_vndr/rm-680(cn_cangjie)"
    812 
    813     name[Group1] = "Chinese Cangjie";
    814 };
    815 
    816 // setxkbmap -model nokiarm680 -layout cn -variant latin-pinyin
    817 partial alphanumeric_keys
    818 xkb_symbols "cn_latin-pinyin" {
    819     include "nokia_vndr/rm-680(chinese-base)"
    820 
    821     name[Group1] = "Chinese Latin-Pinyin";
    822 
    823   // 2. row
    824     key <AC02>	{ [	s,		S,		ampersand,	ampersand	] };  
    825 
    826     // 3. row
    827     key <AB03>	{ [	c,		C,		yen,		yen		] };
    828     key <AB04>	{ [	v,		V,		backslash,	backslash	] };  
    829     key <AB08>	{ [	comma,		semicolon,	semicolon,	semicolon	] };
    830     key <AB09>	{ [	period,		colon,		colon,		colon		] };
    831 };
    832 
    833 // setxkbmap -model nokiarm680 -layout zh -variant latin
    834 partial alphanumeric_keys
    835 xkb_symbols "zh_latin" {
    836     include "nokia_vndr/rm-680(cn_latin-pinyin)"
    837 
    838     name[Group1] = "Chinese Latin-Pinyin";
    839 };
    840 
    841 // setxkbmap -model nokiarm680 -layout cn -variant pinyin
    842 partial alphanumeric_keys
    843 xkb_symbols "cn_pinyin" {
    844     include "nokia_vndr/rm-680(cn_latin-pinyin)"
    845 
    846     name[Group1] = "Chinese Pinyin";
    847 
    848     // 2. row
    849     key <AC01>	{ [	a,		A,		UFF07,		UFF07		] };
    850     key <AC02>	{ [	s,		S,		UFF06,		UFF06		] };
    851     key <AC03>	{ [	d,		D,		UFF05,		UFF05		] };
    852     key <AC05>	{ [	g,		G,		UFF3F,		UFF3F		] };
    853     key <AC06>	{ [	h,		H,		UFF0D,		UFF0D		] };
    854     key <AC11>	{ [	UFF1F,		UFF01,		UFF01,		UFF01		] };
    855 
    856     // 3. row
    857     key <AB03>	{ [	c,		C,		UFFE5,		UFFE5		] };
    858     key <AB04>	{ [	v,		V,		UFF3C,		UFF3C		] };
    859     key <AB05>	{ [	b,		B,		UFF08,		UFF08		] };
    860     key <AB06>	{ [	n,		N,		UFF09,		UFF09		] };
    861     key <AB07>	{ [	m,		M,		UFF1D,		UFF1D		] };
    862     key <AB08>	{ [	UFF0C,		UFF1B,		UFF1B,		UFF1B		] };
    863     key <AB09>	{ [	U3002,		UFF1A,		UFF1A,		UFF1A		] };
    864 
    865     // 4. row
    866     key <AB10>	{ [	UFF20,		UFF0F,		UFF0F,		UFF0F		] };
    867 };
    868 
    869 // setxkbmap -model nokiarm680 -layout zh
    870 partial alphanumeric_keys
    871 xkb_symbols "zh" {
    872     include "nokia_vndr/rm-680(cn_pinyin)"
    873 
    874     name[Group1] = "Chinese Pinyin";
    875 };
    876 
    877 // setxkbmap -model nokiarm680 -layout cn -variant latin-zhuyin
    878 partial alphanumeric_keys
    879 xkb_symbols "cn_latin-zhuyin" {
    880     include "nokia_vndr/rm-680(chinese-base)"
    881 
    882     name[Group1] = "Chinese Latin-Zhuyin";
    883 
    884     // 2. row
    885     key <AC02>	{ [	s,		S,		asciicircum,	asciicircum	] };
    886     key <AC04>	{ [	f,		F,		ampersand,	ampersand	] };
    887     key <AC11>	{ [	period,		colon,		colon,		colon		] };
    888 
    889     // 3. row
    890     key <AB03>	{ [	c,		C,		parenleft,	parenleft	] };
    891     key <AB04>	{ [	v,		V,		parenright,	parenright	] };
    892     key <AB05>	{ [	b,		B,		backslash,	backslash	] };
    893     key <AB06>	{ [	n,		N,		equal,		equal		] };
    894     key <AB07>	{ [	m,		M,		exclam,		exclam		] };
    895     key <AB08>	{ [	question,	question,	question,	question	] };
    896     key <AB09>	{ [	comma,		semicolon,	semicolon,	semicolon	] };
    897 
    898 };
    899 
    900 // setxkbmap -model nokiarm680 -layout zh -variant tw-latin
    901 partial alphanumeric_keys
    902 xkb_symbols "zh_tw-latin" {
    903     include "nokia_vndr/rm-680(cn_latin-zhuyin)"
    904 
    905     name[Group1] = "Chinese Latin-Zhuyin";
    906 };
    907 
    908 // setxkbmap -model nokiarm680 -layout cn -variant zhuyin
    909 partial alphanumeric_keys
    910 xkb_symbols "cn_zhuyin" {
    911     include "nokia_vndr/rm-680(cn_latin-zhuyin)"
    912 
    913     name[Group1] = "Chinese Zhuyin";
    914 
    915     // 1. row
    916     key <AD01>	{ [	U3105,		U3105,		1,		1		] };
    917     key <AD02>	{ [	U3109,		U3109,		2,		2		] };
    918     key <AD03>	{ [	U02C7,		U02C7,		3,		3		] };
    919     key <AD04>	{ [	U02CB,		U02CB,		4,		4		] };
    920     key <AD05>	{ [	U3113,		U3113,		5,		5		] };
    921     key <AD06>	{ [	U02CA,		U02CA,		6,		6		] };
    922     key <AD07>	{ [	U02D9,		U02D9,		7,		7		] };
    923     key <AD08>	{ [	U311B,		U311A,		8,		8		] };
    924     key <AD09>	{ [	U311F,		U311E,		9,		9		] };
    925     key <AD10>	{ [	U3123,		U3122,		0,		0		] };
    926 
    927     // 2. row
    928     key <AC01>	{ [	U3107,		U3106,		UFF07,		UFF07		] };
    929     key <AC02>	{ [	U310B,		U310A,		UFF3E,		UFF3E		] };
    930     key <AC03>	{ [	U310E,		U310D,		UFF05,		UFF05		] };
    931     key <AC04>	{ [	U3111,		U3110,		UFF06,		UFF06		] };
    932     key <AC05>	{ [	U3115,		U3114,		UFF3F,		UFF3F		] };
    933     key <AC06>	{ [	U3118,		U3117,		UFF0D,		UFF0D		] };
    934     key <AC07>	{ [	U3128,		U3127,		plus,		plus		] };
    935     key <AC08>	{ [	U311D,		U311C,		numbersign,	numbersign	] };
    936     key <AC09>	{ [	U3121,		U3120,		asterisk,	asterisk	] };
    937     key <AC11>	{ [	U3002,		UFF1A,		UFF1A,		UFF1A		] };
    938 
    939     // 3. row
    940     key <AB01>	{ [	U3108,		U3108,		EuroSign,	EuroSign	] };
    941     key <AB02>	{ [	U310C,		U310C,		dollar,		dollar		] };
    942     key <AB03>	{ [	U310F,		U310F,		UFF08,		UFF08		] };
    943     key <AB04>	{ [	U3112,		U3112,		UFF09,		UFF09		] };
    944     key <AB05>	{ [	U3116,		U3116,		UFF3C,		UFF3C		] };
    945     key <AB06>	{ [	U3119,		U3119,		UFF1D,		UFF1D		] };
    946     key <AB07>	{ [	U3126,		U3129,		UFF01,		UFF01		] };
    947     key <AB08>	{ [	U3125,		U3124,		UFF1F,		UFF1F		] };
    948     key <AB09>	{ [	UFF0C,		UFF1B,		UFF1B,		UFF1B		] };
    949 
    950     // 4. row
    951     key <AB10>	{ [	UFF20,		UFF0F,		UFF0F,		UFF0F		] };
    952 };
    953 
    954 // setxkbmap -model nokiarm680 -layout zh -variant tw
    955 partial alphanumeric_keys
    956 xkb_symbols "zh_tw" {
    957     include "nokia_vndr/rm-680(cn_zhuyin)"
    958 
    959     name[Group1] = "Chinese Zhuyin";
    960 };
    961 
    962 partial hidden alphanumeric_keys
    963 xkb_symbols "english-base" {
    964     // 1. row
    965     key <AD01>	{ [	q,		Q,		1,		1		] };
    966     key <AD02>	{ [	w,		W,		2,		2		] };
    967     key <AD03>	{ [	e,		E,		3,		3		] };
    968     key <AD04>	{ [	r,		R,		4,		4		] };
    969     key <AD05>	{ [	t,		T,		5,		5		] };
    970     key <AD06>	{ [	y,		Y,		6,		6		] };
    971     key <AD07>	{ [	u,		U,		7,		7		] };
    972     key <AD08>	{ [	i,		I,		8,		8		] };
    973     key <AD09>	{ [	o,		O,		9,		9		] };
    974     key <AD10>	{ [	p,		P,		0,		0		] };
    975 
    976     // 2. row
    977     key <AC01>	{ [	a,		A,		exclam,		exclam		] };
    978     key <AC02>	{ [	s,		S,		quotedbl,	quotedbl	] };
    979     key <AC03>	{ [	d,		D,		ampersand,	ampersand	] };
    980     key <AC04>	{ [	f,		F,		parenleft,	parenleft	] };
    981     key <AC05>	{ [	g,		G,		parenright,	parenright	] };
    982     key <AC06>	{ [	h,		H,		underscore,	underscore	] };
    983     key <AC07>	{ [	j,		J,		minus,		minus		] };
    984     key <AC08>	{ [	k,		K,		plus,		plus		] };
    985     key <AC09>	{ [	l,		L,		numbersign,	numbersign	] };
    986     key <AC11>	{ [	apostrophe,	asterisk,	asterisk,	asterisk	] };
    987 
    988     // 3. row
    989     key <AB01>	{ [	z,		Z,		sterling,	sterling	] };
    990     key <AB02>	{ [	x,		X,		dollar,		dollar		] };
    991     key <AB03>	{ [	c,		C,		EuroSign,	EuroSign	] };
    992     key <AB04>	{ [	v,		V,		less,		less		] };
    993     key <AB05>	{ [	b,		B,		greater,	greater		] };
    994     key <AB06>	{ [	n,		N,		percent,	percent		] };
    995     key <AB07>	{ [	m,		M,		equal,		equal		] };
    996     key <AB08>	{ [	comma,		semicolon,	semicolon,	semicolon	] };
    997     key <AB09>	{ [	period,		colon,		colon,		colon		] };
    998 
    999     // 4. row
   1000     key <AB10>	{ [	at,		slash,		slash,		slash		] };
   1001     key <AC12>	{ [	question,	backslash,	backslash,	backslash	] };
   1002 };
   1003 
   1004 partial hidden alphanumeric_keys
   1005 xkb_symbols "nordic-base" {
   1006     include "nokia_vndr/rm-680(english-base)"
   1007 
   1008     // 2. row
   1009     key <AC02>	{ [	s,		S,		apostrophe,	apostrophe	] };
   1010     key <AC03>	{ [	d,		D,		quotedbl,	quotedbl	] };
   1011     key <AC04>	{ [	f,		F,		percent,	percent		] };
   1012     key <AC05>	{ [	g,		G,		underscore,	underscore	] };
   1013     key <AC06>	{ [	h,		H,		minus,		minus		] };
   1014     key <AC07>	{ [	j,		J,		plus,		plus		] };
   1015     key <AC08>	{ [	k,		K,		numbersign,	numbersign	] };
   1016     key <AC09>	{ [	l,		L,		asterisk,	asterisk	] };
   1017     key <AC11>	{ [	aring,		Aring,		question,	question	] };
   1018 
   1019     // 3. row
   1020     key <AB01>	{ [	z,		Z,		EuroSign,	EuroSign	] };
   1021     key <AB03>	{ [	c,		C,		ampersand,	ampersand	] };
   1022     key <AB04>	{ [	v,		V,		backslash,	backslash	] };
   1023     key <AB05>	{ [	b,		B,		parenleft,	parenleft	] };
   1024     key <AB06>	{ [	n,		N,		parenright,	parenright	] };
   1025 
   1026     // 4. row
   1027     key <AC12>	{ [	period,		comma,		comma,		comma		] };
   1028 };
   1029 
   1030 partial hidden alphanumeric_keys
   1031 xkb_symbols "chinese-base" {
   1032     include "nokia_vndr/rm-680(english-base)"
   1033 
   1034     // 2. row
   1035     key <AC01>	{ [	a,		A,		apostrophe,	apostrophe	] };
   1036     key <AC02>	{ [	s,		S,		quotedbl,	quotedbl	] };
   1037     key <AC03>	{ [	d,		D,		percent,	percent		] };
   1038     key <AC04>	{ [	f,		F,		UFE51,		UFE51		] };
   1039     key <AC05>	{ [	g,		G,		underscore,	underscore	] };
   1040     key <AC06>	{ [	h,		H,		minus,		minus		] };
   1041     key <AC07>	{ [	j,		J,		plus,		plus		] };
   1042     key <AC08>	{ [	k,		K,		numbersign,	numbersign	] };
   1043     key <AC09>	{ [	l,		L,		asterisk,	asterisk	] };
   1044 
   1045     key <AC11>	{ [	question,	exclam,		exclam,		exclam		] };
   1046 
   1047     // 3. row
   1048     key <AB01>	{ [	z,		Z,		EuroSign,	EuroSign	] };
   1049     key <AB03>	{ [	c,		C,		ampersand,	ampersand	] };
   1050     key <AB05>	{ [	b,		B,		parenleft,	parenleft	] };
   1051     key <AB06>	{ [	n,		N,		parenright,	parenright	] };
   1052     key <AB07>	{ [	m,		M,		equal,		equal		] };
   1053 
   1054     // 4. row
   1055     key <AB10>	{ [	at,		slash,		slash,		slash		] }; 
   1056     key <AC12>	{ [	quotedbl,	U2026,		U2026,		U2026		] };
   1057 
   1058 };
   1059 
   1060 partial hidden alphanumeric_keys
   1061 xkb_symbols "common-keys" {
   1062     key <BKSP>	{ [	BackSpace,	Delete,		BackSpace,	Delete		] };
   1063     key <RTRN>	{ [	Return		] };
   1064     key <SPCE>	{ [	space		] };
   1065     // Normal second level must not be enumerated to allow text selection
   1066     // with Shift key. In other words, since Shift is used for selecting text
   1067     // with arrow keys, care must be taken so that we don't define any shift
   1068     // level symbols for arrow keys. We use a custom type that can be only
   1069     // used to define symbols without modifiers and with the Fn modifier.
   1070     key <UP>	{ type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [	Up,	Page_Up		] };
   1071     key <LEFT>	{ type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [	Left,	Home		] };
   1072     key <DOWN>	{ type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [	Down,	Page_Down	] };
   1073     key <RGHT>	{ type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [	Right,	End		] };
   1074 };
   1075 
   1076 partial hidden alphanumeric_keys modifier_keys
   1077 xkb_symbols "modifiers" {
   1078     // Shift switches between first and second levels. Right Shift doesn't
   1079     // exist on the keypad anymore. Previously it was overridden on some
   1080     // layouts to provide punctuation characters.
   1081     key <LFSH>	{ type[Group1] = "ONE_LEVEL", symbols[Group1] = [	Shift_L		] };
   1082     modifier_map Shift { Shift_L };
   1083 
   1084     // Sym key is used for virtual symbol table (Multi_key). Left Control
   1085     // doesn't exist on the keypad anymore. Previously it was defined as Sym
   1086     // for compatibility with rx51, but now we are using Compose for the Sym
   1087     // key. The true control key on the device is the Right Control key.   
   1088     key <COMP>	{ type[Group1] = "ONE_LEVEL", symbols[Group1] = [	Multi_key	] };
   1089     modifier_map Mod4 { Multi_key };
   1090     key <RCTL>	{ type[Group1] = "ONE_LEVEL", symbols[Group1] = [	Control_R	] };
   1091     modifier_map Control { Control_R };
   1092 
   1093     // Fn key switches to third level. When Fn is down, Shift switches
   1094     // between third and fourth levels.
   1095     include "level3(lwin_switch)"
   1096 
   1097     // For flexibility, it would be nice to map multiple hardware keys to
   1098     // a symbol. However, we choose to disable the extra mappings to
   1099     // avoid problems with clients that don't handle many to one mappings
   1100     // correctly.
   1101     // include "level3(lalt_switch)"
   1102     // include "level3(ralt_switch)"
   1103 };