Home | History | Annotate | Line # | Download | only in nokia_vndr
rx-51 revision 1.1
      1  1.1  ghen default partial alphanumeric_keys
      2  1.1  ghen xkb_symbols "common" {
      3  1.1  ghen     include "nokia_vndr/rx-51(common_keys)"
      4  1.1  ghen     include "nokia_vndr/rx-51(modifiers)"
      5  1.1  ghen 
      6  1.1  ghen     // This section should not be included by any other section.
      7  1.1  ghen     // It's referenced only once by rule file to allow multiple layout configurations.
      8  1.1  ghen 
      9  1.1  ghen     // More than one layout at the same time could be set for instance as follows:
     10  1.1  ghen     // setxkbmap -rules evdev \
     11  1.1  ghen     //           -model nokiarx51 \
     12  1.1  ghen     //           -option grp:ctrl_shift_toggle \
     13  1.1  ghen     //           -layout us,cz \
     14  1.1  ghen     //           -variant ",qwerty"
     15  1.1  ghen 
     16  1.1  ghen     // Notice the similarity:
     17  1.1  ghen     //   "pc+us+cz(qwerty):2+grp:XYZ" vs.
     18  1.1  ghen     //   "nokia_vndr/rx-51(common)+nokia_vndr/rx-51(us)+nokia_vndr/rx-51(cz_qwerty):2+grp:XYZ"
     19  1.1  ghen     // where XYZ is one of xkb_symbols section usually located in file symbols/group.
     20  1.1  ghen 
     21  1.1  ghen     // Bear in mind that option XYZ could replace current keys configuration!!!
     22  1.1  ghen 
     23  1.1  ghen     // For instance using symbols/group(ctrl_shift_toggle) redefines LCTL and LFSH keys
     24  1.1  ghen     // which may disallow opening of virtual symbol table (Multi_key).
     25  1.1  ghen     // Fortunately the Multi_key is defined in 3rd and 4th level a ctrl_shift_toggle
     26  1.1  ghen     // redefines first two levels only. But RX-51 has not right Ctrl nor Shift therefore
     27  1.1  ghen     // pressing Ctrl+Shift will switch to previous layout, not to the next one.
     28  1.1  ghen 
     29  1.1  ghen     // For RX-51 device there is a lot of restrictions if more than one layout is
     30  1.1  ghen     // is configured at the same time because some modifiers and special cases are
     31  1.1  ghen     // handled by hildon layer (especially with eight-level layout):
     32  1.1  ghen     //  - settings may be done from terminal only (GUI doesn't and won't support it)
     33  1.1  ghen     //  - virtual symbol table is not updated according to current layout
     34  1.1  ghen     //  - for unknown reasons the eight-level layout (nordic,ru) works properly
     35  1.1  ghen     //    only if it's configured as first layout (e.g. "ru,us,cz" not "us,cz,ru")
     36  1.1  ghen     //    otherwise it's not possible to access levels 5-8
     37  1.1  ghen     //  - Ctrl+Space related problems:
     38  1.1  ghen     //     - If eight-level layout is used as first layout one of eight-level layouts has to
     39  1.1  ghen     //       be also chosen in GUI - otherwise the Ctrl+Space "switch" is disabled
     40  1.1  ghen     //     - Ctrl+Space has no effect if only four-level layouts are chosen
     41  1.1  ghen     //       (don't forget the layout configured in GUI - despite of it's not reachable)
     42  1.1  ghen     //     - a few keys in 2nd layer could be mixed with other layouts when Ctrl+Space is "turned on" (why?)
     43  1.1  ghen     //       in case eight- and four-level layouts are configured simultaneously
     44  1.1  ghen     //     - Ctrl+Space is "turned on" by default and has to be "turned off" for four-level layouts
     45  1.1  ghen     //       in case eight- and four-level layouts are configured simultaneously
     46  1.1  ghen     //     - four-level layout on first place doesn't work at all when Ctrl+Space is "turned on"
     47  1.1  ghen     //       in case the 2nd, 3rd or 4th layout is eight-level layout
     48  1.1  ghen };
     49  1.1  ghen 
     50  1.1  ghen ////////////////////////////////////////////////////////////////////////////////
     51  1.1  ghen 
     52  1.1  ghen partial alphanumeric_keys
     53  1.1  ghen xkb_symbols "us" {
     54  1.1  ghen     include "nokia_vndr/rx-51(english_base)"
     55  1.1  ghen     include "nokia_vndr/rx-51(arrows_4btns)"
     56  1.1  ghen 
     57  1.1  ghen     name[Group1] = "U.S. English";
     58  1.1  ghen };
     59  1.1  ghen 
     60  1.1  ghen 
     61  1.1  ghen 
     62  1.1  ghen partial alphanumeric_keys
     63  1.1  ghen xkb_symbols "pl" {
     64  1.1  ghen     include "nokia_vndr/rx-51(english_base)"
     65  1.1  ghen     include "nokia_vndr/rx-51(arrows_4btns)"
     66  1.1  ghen 
     67  1.1  ghen     name[Group1] = "Polish";
     68  1.1  ghen };
     69  1.1  ghen 
     70  1.1  ghen 
     71  1.1  ghen 
     72  1.1  ghen partial alphanumeric_keys
     73  1.1  ghen xkb_symbols "fise" {
     74  1.1  ghen     include "nokia_vndr/rx-51(nordic_base)"
     75  1.1  ghen     include "nokia_vndr/rx-51(arrows_2btns)"
     76  1.1  ghen 
     77  1.1  ghen     name[Group1] = "Finnish/Swedish";
     78  1.1  ghen 
     79  1.1  ghen     // 2. row
     80  1.1  ghen     key <AB09>	{ [	odiaeresis,	Odiaeresis,	exclam,		exclam		] };
     81  1.1  ghen     key <UP>	{ [	adiaeresis,	Adiaeresis,	question,	question	] };
     82  1.1  ghen };
     83  1.1  ghen 
     84  1.1  ghen 
     85  1.1  ghen 
     86  1.1  ghen partial alphanumeric_keys
     87  1.1  ghen xkb_symbols "dano" {
     88  1.1  ghen     include "nokia_vndr/rx-51(nordic_base)"
     89  1.1  ghen     include "nokia_vndr/rx-51(arrows_2btns)"
     90  1.1  ghen 
     91  1.1  ghen     name[Group1] = "Danish/Norwegian";
     92  1.1  ghen 
     93  1.1  ghen     // 2. row
     94  1.1  ghen     key <AB09>	{ [	oslash,		Oslash,		exclam,		exclam		] };
     95  1.1  ghen     key <UP>	{ [	ae,		AE,		question,	question	] };
     96  1.1  ghen };
     97  1.1  ghen 
     98  1.1  ghen 
     99  1.1  ghen 
    100  1.1  ghen partial alphanumeric_keys
    101  1.1  ghen xkb_symbols "nordic" {
    102  1.1  ghen     include "nokia_vndr/rx-51(nordic_base)"
    103  1.1  ghen     include "nokia_vndr/rx-51(arrows_2btns)"
    104  1.1  ghen 
    105  1.1  ghen     name[Group1] = "Danish/Finnish/Norwegian/Swedish";
    106  1.1  ghen 
    107  1.1  ghen     key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";
    108  1.1  ghen 
    109  1.1  ghen     // 2. row
    110  1.1  ghen     key <AB09>	{ [	odiaeresis,	Odiaeresis,	exclam,		exclam,		oslash,		Oslash,		exclam,		exclam		] };
    111  1.1  ghen     key <UP>	{ [	adiaeresis,	Adiaeresis,	question,	question,	ae,		AE,		question,	question	] };
    112  1.1  ghen };
    113  1.1  ghen 
    114  1.1  ghen 
    115  1.1  ghen 
    116  1.1  ghen partial alphanumeric_keys
    117  1.1  ghen xkb_symbols "ptes" {
    118  1.1  ghen     include "nokia_vndr/rx-51(english_base)"
    119  1.1  ghen     include "nokia_vndr/rx-51(arrows_2btns)"
    120  1.1  ghen 
    121  1.1  ghen     name[Group1] = "Portuguese/Spanish";
    122  1.1  ghen 
    123  1.1  ghen     // 1. row
    124  1.1  ghen     key <AB08>	{ [	dead_acute,	dead_acute,	dead_grave,	dead_grave	] };
    125  1.1  ghen 
    126  1.1  ghen     // 2. row
    127  1.1  ghen     key <AC05>	{ [	g,		G,		exclamdown,	exclamdown	] };
    128  1.1  ghen     key <AC06>	{ [	h,		H,		exclam,		exclam		] };
    129  1.1  ghen     key <AC07>	{ [	j,		J,		questiondown,	questiondown	] };
    130  1.1  ghen     key <AC08>	{ [	k,		K,		question,	question	] };
    131  1.1  ghen     key <AC09>	{ [	l,		L,		dead_diaeresis,	dead_diaeresis	] };
    132  1.1  ghen     key <AB09>	{ [	ntilde,		Ntilde,		dead_tilde,	dead_tilde	] };
    133  1.1  ghen     key <UP>	{ [	ccedilla,	Ccedilla,	dead_circumflex,dead_circumflex	] };
    134  1.1  ghen 
    135  1.1  ghen     // 3. row
    136  1.1  ghen     key <AB01>	{ [	z,		Z,		parenleft,	parenleft	] };
    137  1.1  ghen     key <AB02>	{ [	x,		X,		parenright,	parenright 	] };
    138  1.1  ghen     key <AB03>	{ [	c,		C,		slash,		slash		] };
    139  1.1  ghen     key <AB04>	{ [	v,		V,		quotedbl,	quotedbl	] };
    140  1.1  ghen     key <AB05>	{ [	b,		B,		apostrophe,	apostrophe	] };
    141  1.1  ghen     key <AB06>	{ [	n,		N,		colon,		colon		] };
    142  1.1  ghen     key <AB07>	{ [	m,		M,		semicolon,	semicolon	] };
    143  1.1  ghen     key <LEFT>	{ [	period,		comma,		comma,		comma		] };
    144  1.1  ghen };
    145  1.1  ghen 
    146  1.1  ghen 
    147  1.1  ghen 
    148  1.1  ghen partial alphanumeric_keys
    149  1.1  ghen xkb_symbols "fr" {
    150  1.1  ghen     include "nokia_vndr/rx-51(english_base)"
    151  1.1  ghen     include "nokia_vndr/rx-51(arrows_2btns)"
    152  1.1  ghen 
    153  1.1  ghen     name[Group1] = "French";
    154  1.1  ghen 
    155  1.1  ghen     // 1. row
    156  1.1  ghen     key <AD01>	{ [	a,		A,		1,		1		] };
    157  1.1  ghen     key <AD02>	{ [	z,		Z,		2,		2		] };
    158  1.1  ghen     key <AB08>	{ [	agrave,		Agrave,		ccedilla,	Ccedilla	] };
    159  1.1  ghen 
    160  1.1  ghen     // 2. row
    161  1.1  ghen     key <AC01>	{ [	q,		Q,		asterisk,	asterisk	] };
    162  1.1  ghen     key <AC02>	{ [	s,		S,		plus,		plus		] };
    163  1.1  ghen     key <AC03>	{ [	d,		D,		numbersign,	numbersign	] };
    164  1.1  ghen     key <AC04>	{ [	f,		F,		minus,  	minus		] };
    165  1.1  ghen     key <AC05>	{ [	g,		G,		underscore,	underscore	] };
    166  1.1  ghen     key <AC06>	{ [	h,		H,		exclam,		exclam		] };
    167  1.1  ghen     key <AC07>	{ [	j,		J,		question,	question	] };
    168  1.1  ghen     key <AC08>	{ [	k,		K,		colon,		colon		] };
    169  1.1  ghen     key <AC09>	{ [	l,		L,		dead_circumflex,dead_circumflex	] };
    170  1.1  ghen     key <AB09>	{ [	m,		M,		ugrave,		Ugrave		] };
    171  1.1  ghen     key <UP>	{ [	eacute,		Eacute,		egrave,		Egrave		] };
    172  1.1  ghen 
    173  1.1  ghen     // 3. row
    174  1.1  ghen     key <AB01>	{ [	w,		W,		EuroSign,       EuroSign	] };
    175  1.1  ghen     key <AB03>	{ [	c,		C,		parenleft,	parenleft	] };
    176  1.1  ghen     key <AB04>	{ [	v,		V,		parenright,	parenright	] };
    177  1.1  ghen     key <AB05>	{ [	b,		B,		slash,		slash		] };
    178  1.1  ghen     key <AB07>	{ [	comma,		comma,		apostrophe,	apostrophe	] };
    179  1.1  ghen     key <LEFT>	{ [	semicolon,	period,		period,		period		] };
    180  1.1  ghen };
    181  1.1  ghen 
    182  1.1  ghen 
    183  1.1  ghen 
    184  1.1  ghen partial alphanumeric_keys
    185  1.1  ghen xkb_symbols "de" {
    186  1.1  ghen     include "nokia_vndr/rx-51(english_base)"
    187  1.1  ghen     include "nokia_vndr/rx-51(arrows_2btns)"
    188  1.1  ghen 
    189  1.1  ghen     name[Group1] = "German";
    190  1.1  ghen 
    191  1.1  ghen     // 1. row
    192  1.1  ghen     key <AD06>	{ [	z,		Z,		6,		6		] };
    193  1.1  ghen     key <AB08>	{ [	udiaeresis,	Udiaeresis,	ssharp,		ssharp		] };
    194  1.1  ghen 
    195  1.1  ghen     // 2. row
    196  1.1  ghen     key <AC08>	{ [	k,		K,		semicolon,	semicolon	] };
    197  1.1  ghen     key <AC09>	{ [	l,		L,		colon,		colon		] };
    198  1.1  ghen     key <AB09>	{ [	odiaeresis,	Odiaeresis,	exclam,		exclam		] };
    199  1.1  ghen     key <UP>	{ [	adiaeresis,	Adiaeresis,	question,	question	] };
    200  1.1  ghen 
    201  1.1  ghen     // 3. row
    202  1.1  ghen     key <AB01>	{ [	y,		Y,		EuroSign,	EuroSign	] };
    203  1.1  ghen     key <AB03>	{ [	c,		C,		equal,		equal		] };
    204  1.1  ghen     key <LEFT>	{ [	period,		comma,		comma,		comma		] };
    205  1.1  ghen };
    206  1.1  ghen 
    207  1.1  ghen 
    208  1.1  ghen 
    209  1.1  ghen partial alphanumeric_keys
    210  1.1  ghen xkb_symbols "ch" {
    211  1.1  ghen     include "nokia_vndr/rx-51(english_base)"
    212  1.1  ghen     include "nokia_vndr/rx-51(arrows_2btns)"
    213  1.1  ghen 
    214  1.1  ghen     name[Group1] = "Swiss";
    215  1.1  ghen 
    216  1.1  ghen     // 1. row
    217  1.1  ghen     key <AD06>	{ [	z,		Z,		6,		6		] };
    218  1.1  ghen     key <AB08>	{ [	udiaeresis,	Udiaeresis,	egrave,		Egrave		] };
    219  1.1  ghen 
    220  1.1  ghen     // 2. row
    221  1.1  ghen     key <AC06>	{ [	h,		H,		equal,		equal		] };
    222  1.1  ghen     key <AC07>	{ [	j,		J,		parenleft,	parenleft	] };
    223  1.1  ghen     key <AC08>	{ [	k,		K,		parenright,	parenright	] };
    224  1.1  ghen     key <AC09>	{ [	l,		L,		colon,		colon		] };
    225  1.1  ghen     key <AB09>	{ [	odiaeresis,	Odiaeresis,	eacute,		Aacute		] };
    226  1.1  ghen     key <UP>	{ [	adiaeresis,	Adiaeresis,	agrave,		Agrave		] };
    227  1.1  ghen 
    228  1.1  ghen     // 3. row
    229  1.1  ghen     key <AB01>	{ [	y,		Y,		question,	question	] };
    230  1.1  ghen     key <AB02>	{ [	x,		X,		exclam,		exclam		] };
    231  1.1  ghen     key <AB03>	{ [	c,		C,		ccedilla,	Ccedilla	] };
    232  1.1  ghen     key <LEFT>	{ [	period,		comma,		comma,		comma		] };
    233  1.1  ghen };
    234  1.1  ghen 
    235  1.1  ghen 
    236  1.1  ghen 
    237  1.1  ghen // Levels 5-8 are Russian, levels 1-4 US English, for shortcut reasons.
    238  1.1  ghen partial alphanumeric_keys
    239  1.1  ghen xkb_symbols "ru" {
    240  1.1  ghen     include "nokia_vndr/rx-51(english_base)"
    241  1.1  ghen     include "nokia_vndr/rx-51(arrows_2btns)"
    242  1.1  ghen 
    243  1.1  ghen     name[Group1] = "Russian";
    244  1.1  ghen 
    245  1.1  ghen     key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";
    246  1.1  ghen 
    247  1.1  ghen     // 1. row
    248  1.1  ghen     key <AD01>	{ [	q,		Q,		1,			1,			Cyrillic_shorti,	Cyrillic_SHORTI,	1,			1			] };
    249  1.1  ghen     key <AD02>	{ [	w,		W,		2,			2,			Cyrillic_tse,		Cyrillic_TSE,		2,			2			] };
    250  1.1  ghen     key <AD03>	{ [	e,		E,		3,			3,			Cyrillic_u,		Cyrillic_U,		3,			3			] };
    251  1.1  ghen     key <AD04>	{ [	r,		R,		4,			4,			Cyrillic_ka,		Cyrillic_KA,		4,			4			] };
    252  1.1  ghen     key <AD05>	{ [	t,		T,		5,			5,			Cyrillic_ie,		Cyrillic_IE,		5,			5			] };
    253  1.1  ghen     key <AD06>	{ [	y,		Y,		6,			6,			Cyrillic_en,		Cyrillic_EN,		6,			6			] };
    254  1.1  ghen     key <AD07>	{ [	u,		U,		7,			7,			Cyrillic_ghe,		Cyrillic_GHE,		7,			7			] };
    255  1.1  ghen     key <AD08>	{ [	i,		I,		8,			8,			Cyrillic_sha,		Cyrillic_SHA,		8,			8			] };
    256  1.1  ghen     key <AD09>	{ [	o,		O,		9,			9,			Cyrillic_shcha,		Cyrillic_SHCHA,		9,			9			] };
    257  1.1  ghen     key <AD10>	{ [	p,		P,		0,			0,			Cyrillic_ze,		Cyrillic_ZE,		0,			0			] };
    258  1.1  ghen     key <AB08>  { [	Cyrillic_ha,	Cyrillic_HA,	Cyrillic_hardsign,	Cyrillic_HARDSIGN,	Cyrillic_ha,		Cyrillic_HA,		Cyrillic_hardsign,	Cyrillic_HARDSIGN	] };
    259  1.1  ghen 
    260  1.1  ghen     // 2. row
    261  1.1  ghen     key <AC01>	{ [	a,		A,		asterisk,		asterisk,		Cyrillic_ef,		Cyrillic_EF,		asterisk,		asterisk		] };
    262  1.1  ghen     key <AC02>	{ [	s,		S,		plus,			plus,			Cyrillic_yeru,		Cyrillic_YERU,		plus,			plus			] };
    263  1.1  ghen     key <AC03>	{ [	d,		D,		numbersign,		numbersign,		Cyrillic_ve,		Cyrillic_VE,		numbersign,		numbersign		] };
    264  1.1  ghen     key <AC04>	{ [	f,		F,		minus,			minus,			Cyrillic_a,		Cyrillic_A,		minus,			minus			] };
    265  1.1  ghen     key <AC05>	{ [	g,		G,		underscore,		underscore,		Cyrillic_pe,		Cyrillic_PE,		underscore,		underscore		] };
    266  1.1  ghen     key <AC06>	{ [	h,		H,		exclam,			exclam,			Cyrillic_er,		Cyrillic_ER,		exclam,			exclam			] };
    267  1.1  ghen     key <AC07>	{ [	j,		J,		question,		question,		Cyrillic_o,		Cyrillic_O,		question,		question		] };
    268  1.1  ghen     key <AC08>	{ [	k,		K,		semicolon,		semicolon,		Cyrillic_el,		Cyrillic_EL,		semicolon,		semicolon		] };
    269  1.1  ghen     key <AC09>	{ [	l,		L,		colon,			colon,			Cyrillic_de,		Cyrillic_DE,		colon,			colon			] };
    270  1.1  ghen     key <AB09>	{ [	comma,		comma,		comma,			comma,			Cyrillic_zhe,		Cyrillic_ZHE,		comma,			comma			] };
    271  1.1  ghen     key <UP>	{ [	period,		period,		period,			period,			Cyrillic_e,		Cyrillic_E,		period,			period			] };
    272  1.1  ghen 
    273  1.1  ghen     // 3. row
    274  1.1  ghen     key <AB01>	{ [	z,		Z,		dollar,			dollar,			Cyrillic_ya,		Cyrillic_YA,		dollar,			dollar			] };
    275  1.1  ghen     key <AB02>	{ [	x,		X,		EuroSign,		EuroSign,		Cyrillic_che,		Cyrillic_CHE,		EuroSign,		EuroSign		] };
    276  1.1  ghen     key <AB03>	{ [	c,		C,		slash,			slash,			Cyrillic_es,		Cyrillic_ES,		slash,			slash			] };
    277  1.1  ghen     key <AB04>	{ [	v,		V,		parenleft,		parenleft,		Cyrillic_em,		Cyrillic_EM,		parenleft,		parenleft		] };
    278  1.1  ghen     key <AB05>	{ [	b,		B,		parenright,		parenright,		Cyrillic_i,		Cyrillic_I,		parenright,		parenright		] };
    279  1.1  ghen     key <AB06>	{ [	n,		N,		quotedbl,		quotedbl,		Cyrillic_te,		Cyrillic_TE,		quotedbl,		quotedbl		] };
    280  1.1  ghen     key <AB07>	{ [	m,		M,		apostrophe,		apostrophe,		Cyrillic_softsign,	Cyrillic_SOFTSIGN,	apostrophe,		apostrophe		] };
    281  1.1  ghen     key <LEFT>	{ [	Cyrillic_be,	Cyrillic_BE,	Cyrillic_yu,		Cyrillic_YU,		Cyrillic_be,		Cyrillic_BE,		Cyrillic_yu,		Cyrillic_YU		] };
    282  1.1  ghen };
    283  1.1  ghen 
    284  1.1  ghen 
    285  1.1  ghen 
    286  1.1  ghen partial alphanumeric_keys
    287  1.1  ghen xkb_symbols "it" {
    288  1.1  ghen     include "nokia_vndr/rx-51(english_base)"
    289  1.1  ghen     include "nokia_vndr/rx-51(arrows_2btns)"
    290  1.1  ghen 
    291  1.1  ghen     name[Group1] = "Italian";
    292  1.1  ghen 
    293  1.1  ghen     // 1. row
    294  1.1  ghen     key <AB08>	{ [	egrave,		Egrave,		eacute,		Eacute		] };
    295  1.1  ghen 
    296  1.1  ghen     // 2. row
    297  1.1  ghen     key <AC06>	{ [	h,		H,		semicolon,	semicolon	] };
    298  1.1  ghen     key <AC07>	{ [	j,		J,		colon,		colon		] };
    299  1.1  ghen     key <AC08>	{ [	k,		K,		exclam,		exclam		] };
    300  1.1  ghen     key <AC09>	{ [	l,		L,		question,	question	] };
    301  1.1  ghen     key <AB09>	{ [	ograve,		Ograve,		igrave,		Igrave		] };
    302  1.1  ghen     key <UP>	{ [	agrave,		Agrave,		ugrave,		Ugrave		] };
    303  1.1  ghen 
    304  1.1  ghen     // 3. row
    305  1.1  ghen     key <AB01>	{ [	z,		Z,		EuroSign,	EuroSign	] };
    306  1.1  ghen     key <AB02>	{ [	x,		X,		parenleft,	parenleft	] };
    307  1.1  ghen     key <AB03>	{ [	c,		C,		parenright,	parenright	] };
    308  1.1  ghen     key <LEFT>	{ [	period,		comma,		comma,		comma		] };
    309  1.1  ghen };
    310  1.1  ghen 
    311  1.1  ghen 
    312  1.1  ghen 
    313  1.1  ghen partial alphanumeric_keys
    314  1.1  ghen xkb_symbols "cz" {
    315  1.1  ghen     include "nokia_vndr/rx-51(english_base)"
    316  1.1  ghen     include "nokia_vndr/rx-51(arrows_2btns)"
    317  1.1  ghen 
    318  1.1  ghen     name[Group1] = "Czech";
    319  1.1  ghen 
    320  1.1  ghen     // 1. row
    321  1.1  ghen     key <AD06>	{ [	z,		Z,		6,		6		] };
    322  1.1  ghen     key <AB08>	{ [	dead_acute,	dead_acute,	sterling,	sterling	] };
    323  1.1  ghen 
    324  1.1  ghen     // 2. row
    325  1.1  ghen     key <AC08>	{ [	k,		K,		semicolon,	semicolon	] };
    326  1.1  ghen     key <AC09>	{ [	l,		L,		colon,		colon		] };
    327  1.1  ghen     key <AB09>	{ [	uring,		Uring,		EuroSign,	EuroSign	] };
    328  1.1  ghen     key <UP>	{ [	dead_caron,	dead_caron,	dollar,		dollar		] };
    329  1.1  ghen 
    330  1.1  ghen     // 3. row
    331  1.1  ghen     key <AB01>	{ [	y,		Y,		equal,		equal		] };
    332  1.1  ghen     key <AB02>	{ [	x,		X,		slash,		slash		] };
    333  1.1  ghen     key <AB03>	{ [	c,		C,		backslash,	backslash	] };
    334  1.1  ghen     key <AB04>	{ [	v,		V,		apostrophe,	apostrophe	] };
    335  1.1  ghen     key <AB05>	{ [	b,		B,		quotedbl,	quotedbl	] };
    336  1.1  ghen     key <AB06>	{ [	n,		N,		exclam,		exclam		] };
    337  1.1  ghen     key <AB07>	{ [	m,		M,		question,	question	] };
    338  1.1  ghen     key <LEFT>	{ [	period,		comma,		comma,		comma		] };
    339  1.1  ghen };
    340  1.1  ghen 
    341  1.1  ghen partial alphanumeric_keys
    342  1.1  ghen xkb_symbols "cz_qwerty" {
    343  1.1  ghen     include "nokia_vndr/rx-51(cz)"
    344  1.1  ghen 
    345  1.1  ghen     name[Group1] = "Czech - qwerty";
    346  1.1  ghen 
    347  1.1  ghen     // Do not use the layout "cz_qwerty" directly if it is the only layout and compat rules enabled.
    348  1.1  ghen     // There is one compat rule that converts "cz_qwerty" to "pc+cz(qwerty)" which is not correct for RX-51.
    349  1.1  ghen     // Use either the layout "cz(qwerty)" or the general "cz" with variant "qwerty".
    350  1.1  ghen 
    351  1.1  ghen     // 1. row
    352  1.1  ghen     key <AD06>	{ [	y,		Y,		6,		6		] };
    353  1.1  ghen 
    354  1.1  ghen     // 3. row
    355  1.1  ghen     key <AB01>	{ [	z,		Z,		percent,	percent		] };
    356  1.1  ghen };
    357  1.1  ghen 
    358  1.1  ghen 
    359  1.1  ghen 
    360  1.1  ghen ////////////////////////////////////////////////////////////////////////////////
    361  1.1  ghen 
    362  1.1  ghen partial hidden alphanumeric_keys
    363  1.1  ghen xkb_symbols "nordic_base" {
    364  1.1  ghen     include "nokia_vndr/rx-51(english_base)"
    365  1.1  ghen 
    366  1.1  ghen     // 1. row
    367  1.1  ghen     key <AB08>	{ [	aring,		Aring,		equal,		equal		] };
    368  1.1  ghen 
    369  1.1  ghen     // 2. row
    370  1.1  ghen     key <AC08>	{ [	k,		K,		semicolon,	semicolon	] };
    371  1.1  ghen     key <AC09>	{ [	l,		L,		colon,		colon		] };
    372  1.1  ghen 
    373  1.1  ghen     // 3. row
    374  1.1  ghen     key <AB01>	{ [	z,		Z,		EuroSign,	EuroSign	] };
    375  1.1  ghen     key <AB03>	{ [	c,		C,		sterling,	sterling	] };
    376  1.1  ghen     key <LEFT>	{ [	period,		comma,		comma,		comma		] };
    377  1.1  ghen };
    378  1.1  ghen 
    379  1.1  ghen partial hidden alphanumeric_keys
    380  1.1  ghen xkb_symbols "english_base" {
    381  1.1  ghen 
    382  1.1  ghen     // 1. row
    383  1.1  ghen     key <AD01>	{ [	q,		Q,		1,		1		] };
    384  1.1  ghen     key <AD02>	{ [	w,		W,		2,		2		] };
    385  1.1  ghen     key <AD03>	{ [	e,		E,		3,		3		] };
    386  1.1  ghen     key <AD04>	{ [	r,		R,		4,		4		] };
    387  1.1  ghen     key <AD05>	{ [	t,		T,		5,		5		] };
    388  1.1  ghen     key <AD06>	{ [	y,		Y,		6,		6		] };
    389  1.1  ghen     key <AD07>	{ [	u,		U,		7,		7		] };
    390  1.1  ghen     key <AD08>	{ [	i,		I,		8,		8		] };
    391  1.1  ghen     key <AD09>	{ [	o,		O,		9,		9		] };
    392  1.1  ghen     key <AD10>	{ [	p,		P,		0,		0		] };
    393  1.1  ghen     key <AB08>	{ [	comma,		semicolon,	equal,		equal		] };
    394  1.1  ghen 
    395  1.1  ghen     // 2. row
    396  1.1  ghen     key <AC01>	{ [	a,		A,		asterisk,	asterisk	] };
    397  1.1  ghen     key <AC02>	{ [	s,		S,		plus,		plus		] };
    398  1.1  ghen     key <AC03>	{ [	d,		D,		numbersign,	numbersign	] };
    399  1.1  ghen     key <AC04>	{ [	f,		F,		minus,		minus		] };
    400  1.1  ghen     key <AC05>	{ [	g,		G,		underscore,	underscore	] };
    401  1.1  ghen     key <AC06>	{ [	h,		H,		parenleft,	parenleft	] };
    402  1.1  ghen     key <AC07>	{ [	j,		J,		parenright,	parenright	] };
    403  1.1  ghen     key <AC08>	{ [	k,		K,		ampersand,	ampersand	] };
    404  1.1  ghen     key <AC09>	{ [	l,		L,		exclam,		exclam		] };
    405  1.1  ghen     key <AB09>	{ [	period,		colon,		question,	question	] };
    406  1.1  ghen 
    407  1.1  ghen     // 3. row
    408  1.1  ghen     key <AB01>	{ [	z,		Z,		sterling,	sterling	] };
    409  1.1  ghen     key <AB02>	{ [	x,		X,		dollar,		dollar		] };
    410  1.1  ghen     key <AB03>	{ [	c,		C,		EuroSign,	EuroSign	] };
    411  1.1  ghen     key <AB04>	{ [	v,		V,		slash,		slash		] };
    412  1.1  ghen     key <AB05>	{ [	b,		B,		backslash,	backslash	] };
    413  1.1  ghen     key <AB06>	{ [	n,		N,		quotedbl,	quotedbl	] };
    414  1.1  ghen     key <AB07>	{ [	m,		M,		apostrophe,	apostrophe	] };
    415  1.1  ghen     key <SPCE>	{ [	space,		space,		at,		at		] };
    416  1.1  ghen };
    417  1.1  ghen 
    418  1.1  ghen partial hidden alphanumeric_keys
    419  1.1  ghen xkb_symbols "common_keys" {
    420  1.1  ghen     // all other common keys
    421  1.1  ghen 
    422  1.1  ghen     key <BKSP>	{ [	BackSpace	] };
    423  1.1  ghen     key <TAB>	{ [	Tab		] };
    424  1.1  ghen 
    425  1.1  ghen     // broken UI spec.
    426  1.1  ghen     key <RTRN>	{ [	KP_Enter	] };
    427  1.1  ghen 
    428  1.1  ghen     key <KPEN>	{ [	Return		] };
    429  1.1  ghen     key <ESC>	{ [	Escape		] };
    430  1.1  ghen 
    431  1.1  ghen     key <FK01>	{ [	F1	] };
    432  1.1  ghen     key <FK02>	{ [	F2	] };
    433  1.1  ghen     key <FK03>	{ [	F3	] };
    434  1.1  ghen     key <FK04>	{ [	F4	] };
    435  1.1  ghen     key <FK05>	{ [	F5	] };
    436  1.1  ghen     key <FK06>	{ [	F6	] };
    437  1.1  ghen 
    438  1.1  ghen     // Swap +/- keys intentionally. The VOL+/VOL- keys are located physically
    439  1.1  ghen     // on left/right and up/down in landscape/portrait orientation. This does
    440  1.1  ghen     // not feel natural for the user and therefore we want the VOL+/VOL- keys
    441  1.1  ghen     // map to -/+.
    442  1.1  ghen     //
    443  1.1  ghen     // The only exception is an active call in portrait mode where we want to
    444  1.1  ghen     // use the real meanings of the keys. This special case and management of
    445  1.1  ghen     // +/- keys in general is handled in maemo-statusmenu-volume.
    446  1.1  ghen     key <FK07>	{ [	F8	] };
    447  1.1  ghen     key <FK08>	{ [	F7	] };
    448  1.1  ghen 
    449  1.1  ghen     key <FK09>	{ [	F9	] };
    450  1.1  ghen     key <FK10>	{ [	F10	] };
    451  1.1  ghen     key <FK11>	{ [	F11	] };
    452  1.1  ghen };
    453  1.1  ghen 
    454  1.1  ghen partial hidden alphanumeric_keys modifier_keys
    455  1.1  ghen xkb_symbols "modifiers" {
    456  1.1  ghen     // Shift switches between current level and level+1
    457  1.1  ghen     key <LFSH>	{
    458  1.1  ghen 	type[Group1] = "ONE_LEVEL",
    459  1.1  ghen 	symbols[Group1] = [	Shift_L	]
    460  1.1  ghen     };
    461  1.1  ghen     modifier_map Shift { Shift_L };
    462  1.1  ghen 
    463  1.1  ghen     // Fn+Ctrl virtual symbol table (Multi_key)
    464  1.1  ghen     // Ctrl+Space switches between 1st and 5th level (hardcoded in hildon)
    465  1.1  ghen     key <LCTL>	{
    466  1.1  ghen 	type[Group1] = "FOUR_LEVEL",
    467  1.1  ghen 	symbols[Group1] = [	Control_L,	Control_L,	Multi_key,	Multi_key	]
    468  1.1  ghen     };
    469  1.1  ghen     modifier_map Control { Control_L };
    470  1.1  ghen 
    471  1.1  ghen     // Fn key (right alt) switches to 3rd level
    472  1.1  ghen     include "level3(ralt_switch)"
    473  1.1  ghen };
    474  1.1  ghen 
    475  1.1  ghen partial hidden alphanumeric_keys
    476  1.1  ghen xkb_symbols "arrows_2btns" {
    477  1.1  ghen     // rx-51 specific arrows mapping
    478  1.1  ghen     // normal 2nd level must not be enumerated to allow text selection with Shift key
    479  1.1  ghen     key <DOWN>	{ type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [	Left,	Up	] };
    480  1.1  ghen     key <RGHT>	{ type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [	Right,	Down	] };
    481  1.1  ghen };
    482  1.1  ghen 
    483  1.1  ghen partial hidden alphanumeric_keys
    484  1.1  ghen xkb_symbols "arrows_4btns" {
    485  1.1  ghen     // standard arrows mapping
    486  1.1  ghen     // normal 2nd level must not be enumerated to allow text selection with Shift key
    487  1.1  ghen     key <UP>	{ type[Group1] = "ONE_LEVEL", symbols[Group1] = [	Up	] };
    488  1.1  ghen     key <LEFT>	{ type[Group1] = "ONE_LEVEL", symbols[Group1] = [	Left	] };
    489  1.1  ghen     key <DOWN>	{ type[Group1] = "ONE_LEVEL", symbols[Group1] = [	Down	] };
    490  1.1  ghen     key <RGHT>	{ type[Group1] = "ONE_LEVEL", symbols[Group1] = [	Right	] };
    491  1.1  ghen };
    492