it revision bfd7cbc1
1// based on a keyboard map from an 'xkb/symbols/it' file
2// 17 May 2003 Modified by Sebastiano Vigna (vigna@dsi.unimi.it)
3
4partial default alphanumeric_keys
5xkb_symbols "basic" {
6
7    include "latin(type4)"
8
9    name[Group1]="Italian";
10
11    key <TLDE>	{ [ backslash,        bar,      notsign,    brokenbar ]	};
12
13    key <AE02>	{ [         2,   quotedbl,  twosuperior, dead_doubleacute ] };
14    key <AE03>	{ [         3,   sterling,threesuperior,   dead_tilde ]	};
15    key <AE04>	{ [         4,     dollar,   onequarter,    oneeighth ] };
16
17    key <AE10>	{ [         0,      equal,   braceright,  dead_ogonek ] };
18    key <AE11>	{ [apostrophe,   question,        grave, questiondown ]	};
19    key <AE12>	{ [    igrave, asciicircum,  asciitilde, dead_circumflex ] };
20
21    key <AD11>	{ [    egrave,     eacute,  bracketleft,    braceleft ]	};
22    key <AD12>	{ [      plus,   asterisk, bracketright,   braceright ]	};
23
24    key <AC10>	{ [    ograve,   ccedilla,           at, dead_cedilla ] };
25    key <AC11>	{ [    agrave,     degree,   numbersign, dead_abovering ] };
26
27    key <AB06>	{ [         n,          N,       ntilde,       Ntilde ]	};
28    key <AB08>	{ [     comma,  semicolon,   dead_acute,     multiply ]	};
29    key <AB09>	{ [    period,      colon,periodcentered, dead_diaeresis ] };
30    key <AB10>	{ [     minus, underscore,  dead_macron,     division ] };
31
32    key <BKSL>	{ [    ugrave,    section,   dead_grave,   dead_breve ]	};
33
34    key <LSGT>	{ [      less,    greater,guillemotleft,guillemotright] };
35
36    include "level3(ralt_switch)"
37};
38
39partial alphanumeric_keys
40xkb_symbols "nodeadkeys" {
41
42    // Modifies the basic italian layout to eliminate all dead keys
43
44    include "it(basic)"
45
46    name[Group1]="Italian (eliminate dead keys)";
47
48    key <AE02>	{ [         2,   quotedbl,  twosuperior,  doubleacute ] };
49    key <AE03>	{ [         3,   sterling,threesuperior,   asciitilde ]	};
50
51    key <AE10>	{ [         0,       equal,  braceright,       ogonek ]	};
52    key <AE12>	{ [    igrave, asciicircum,  asciitilde,  asciicircum ] };
53
54    key <AC10>	{ [    ograve,   ccedilla,           at,      cedilla ] };
55    key <AC11>	{ [    agrave,     degree,   numbersign,       degree ] };
56
57    key <AB08>	{ [     comma,  semicolon,        acute,     multiply ]	};
58    key <AB09>	{ [    period,      colon,periodcentered,   diaeresis ] };
59    key <AB10>	{ [     minus, underscore,       macron,     division ] };
60
61    key <BKSL>	{ [    ugrave,    section,        grave,        breve ]	};
62};
63
64// Copied from macintosh_vndr/it
65partial alphanumeric_keys
66xkb_symbols "mac" {
67
68    name[Group1]= "Italian (Macintosh)";
69
70    // Alphanumeric section
71    key <LSGT> {	[        less,  greater   	]	};
72    key <TLDE> {        [        at,    numbersign,    periodcentered              ]	};
73    key <AE01> {	[   ampersand,    1, guillemotleft,guillemotright	]	};
74    key <AE02> {	[    quotedbl,    2 		]	};
75    key <AE03> {	[  apostrophe,    3         	]	};
76    key <AE04> {	[   parenleft,    4,    braceleft,    bracketleft	]	};
77    key <AE05> {	[    ccedilla,    5,     Ccedilla,    Iacute	]	};
78    key <AE06> {	[      egrave,    6,    paragraph,    periodcentered]	};
79    key <AE07> {	[  parenright,    7,   braceright,	  bracketright	]	};
80    key <AE08> {	[    sterling,    8,   infinity			]	};
81    key <AE09> {	[      agrave,    9,        acute,    Ocircumflex	]	};
82    key <AE10> {	[      eacute,    0,        grave,    Oacute	]	};
83    key <AE11> {	[       minus,    underscore	]	};
84    key <AE12> {	[       equal, 	  plus,     notequal,    plusminus	]	};
85
86    key <AD01> {	[           q,  Q 		]	};
87    key <AD02> {	[	    z,  Z		]	};
88    key <AD03> {	[	    e,  E,	EuroSign	]	};
89    key <AD04> {	[	    r,  R,   registered			] 	};
90    key <AD05> {	[	    t,  T		]	};
91    key <AD06> {	[	    y,  Y,       Uacute,	ydiaeresis      ] 	};
92    key <AD07> {	[	    u,  U		]	};
93    key <AD08> {	[	    i,  I,  icircumflex,	idiaeresis      ] 	};
94    key <AD09> {	[	    o,  O		]	};
95    key <AD10> {	[	    p,  P		]	};
96    key <AD11> {	[      igrave,  asciicircum     ]	};
97    key <AD12> {	[      dollar,	asterisk        ]	};
98    key <BKSL> {	[     section,  degree,           at,  numbersign      ]	};
99
100    key <AC01> {	[	  a,	A,      aring,   Aring		] 	};
101    key <AC02> {	[	  s,	S,     ssharp			]	};
102    key <AC03> {	[	  d,	D		]	};
103    key <AC04> {	[	  f,	F		]	};
104    key <AC05> {	[	  g,	G		]	};
105    key <AC06> {	[	  h,	H,     Igrave,    Icircumflex     ]	};
106    key <AC07> {	[	  j,	J,  Idiaeresis,   Iacute          ]	};
107    key <AC08> {	[	  k,	K,     Egrave,    Ediaeresis      ]	};
108    key <AC09> {	[	  l,	L,     ssharp,    bar		]	};
109    key <AC10> {	[         m,	M,         mu,    Oacute		]	};
110    key <AC11> {	[    ugrave,	percent,         ae,    AE		]	};
111
112    key <AB01> {	[	  w,	W 		]	};
113    key <AB02> {	[	  x,	X		]	};
114    key <AB03> {	[	  c,	C,  copyright,    copyright	]	};
115    key <AB04> {	[	  v,	V		]	};
116    key <AB05> {	[	  b,	B		]	};
117    key <AB06> {	[	  n,	N,  dead_tilde                    ]       };
118    key <AB07> {	[     comma,	question,          questiondown		]	};
119    key <AB08> {	[ semicolon,	period          ]	};
120    key <AB09> {	[     colon,	slash,        bar,    backslash	]	};
121    key <AB10> {	[    ograve,	exclam,     exclamdown			]	};
122
123    // End alphanumeric section
124
125    include "kpdl(dot)"
126    include "level3(ralt_switch)"
127};
128
129// Used by Georgian people in Italy, 
130// contributed by Vladimer Sichinava
131partial alphanumeric_keys
132xkb_symbols "geo" {
133    include "it"
134    include "ge(basic)"
135
136    name[Group1]= "Georgian (Italy)";
137    key <TLDE> { [ backslash, bar, notsign, brokenbar ] };
138    key <AE01> { [ 1, exclam, onesuperior ] };
139    key <AE02> { [ 2, quotedbl, twosuperior, dead_doubleacute ] };
140    key <AE03> { [ 3, sterling, threesuperior, dead_tilde ] };
141    key <AE04> { [ 4, dollar, onequarter, oneeighth ] };
142    key <AE05> { [ 5, percent, onehalf ] };
143    key <AE06> { [ 6, ampersand ] };
144    key <AE07> { [ 7, slash, braceleft ] };
145    key <AE08> { [ 8, parenleft, bracketleft ] };
146    key <AE09> { [ 9, parenright ] };
147    key <AE10> { [ 0, equal, braceright, dead_ogonek ] };
148    key <AE11> { [apostrophe, question, grave, questiondown ] };
149    key <AE12> { [ igrave, asciicircum, asciitilde, dead_circumflex ] };
150
151    key <AD03> { [0x010010d4, E, EuroSign ] };
152    key <AD11> { [ egrave, eacute, bracketleft, braceleft ] };
153    key <AD12> { [ plus, asterisk, bracketright, braceright ] };
154
155    key <AC10> { [ ograve, ccedilla, at, dead_cedilla ] };
156    key <AC11> { [ agrave, degree, numbersign, degree ] };
157    key <BKSL> { [ ugrave, section, dead_grave, dead_breve ] };
158    key <LSGT> { [ less, greater ] };
159
160    key <AB08> { [ comma, semicolon ] };
161    key <AB09> { [ period, colon ] };
162    key <AB10> { [ minus, underscore ] };
163};
164
165// OLPC Section
166xkb_symbols "olpc" {
167
168    include "it(basic)"
169
170    key <AE12> { [ igrave,  asciicircum,    asciitilde,     dead_tilde ] };
171    key <BKSL> { [ ugrave,      section,        Egrave,     dead_breve ] };
172    key <I219> { [ less,        greater, guillemotleft, guillemotright ] };
173};
174
175partial alphanumeric_keys modifier_keys
176xkb_symbols "us" {
177
178    name[Group1]= "Italian (US keyboard with Italian letters)";
179    
180    include "us(euro)"
181    
182    // Alphanumeric section
183
184    key <TLDE> { [     grave, asciitilde,    dead_grave,       dead_tilde ] };
185    key <AE01> { [         1,     exclam,   onesuperior                   ] };
186    key <AE02> { [         2,         at,   twosuperior                   ] };
187    key <AE03> { [         3, numbersign, threesuperior                   ] };
188    key <AE06> { [         6,asciicircum,dead_circumflex                  ] };
189    key <AE10> { [         0, parenright,        degree                   ] };
190    key <AE11> { [     minus, underscore,   dead_macron                   ] };
191
192    key <AD03> { [         e,          E,        egrave,           Egrave ] };
193    key <AD04> { [         r,          R,    registered                   ] };
194    key <AD07> { [         u,          U,        ugrave,           Ugrave ] };
195    key <AD08> { [         i,          I,        igrave,           Igrave ] };
196    key <AD09> { [         o,          O,        ograve,           Ograve ] };
197
198    key <AC01> { [         a,          A,        agrave,           Agrave ] };
199    key <AC03> { [         d,          D,        eacute,           Eacute ] };
200    key <AC07> { [         j,          J,        uacute,           Uacute ] };
201    key <AC08> { [         k,          K,        iacute,           Iacute ] };
202    key <AC09> { [         l,          L,        oacute,           Oacute ] };
203    key <AC10> { [ semicolon,      colon,dead_diaeresis,   dead_diaeresis ] };
204    key <AC11> { [apostrophe,   quotedbl,    dead_acute                   ] };
205
206    key <AB01> { [         z,          Z,        aacute,           Aacute ] };
207    key <AB03> { [         c,          C,     copyright                   ] };
208    key <AB06> { [         n,          N,        ntilde,           Ntilde ] };
209    key <AB08> { [     comma,       less,   guillemotleft                 ] };
210    key <AB09> { [    period,    greater,  guillemotright                 ] };
211
212    include "level3(ralt_switch)"
213};
214
215partial alphanumeric_keys
216xkb_symbols "htcdream" {
217        include "inet(htcdream)"
218        name[Group1]= "Italian";
219
220        //second row
221        key <AD01> { [ q, Q, Tab, Tab ] };
222        key <AD02> { [ w, W, grave, grave ] };
223        key <AD03> { [ e, E, egrave, egrave] };
224        key <AD04> { [ r, R, eacute, eacute ] };
225        key <AD05> { [ t, T, quotedbl, quotedbl ] };
226        key <AD06> { [ y, Y, apostrophe, apostrophe ] };
227        key <AD07> { [ u, U, ugrave, ugrave ] };
228        key <AD08> { [ i, I, igrave, igrave ] };
229        key <AD09> { [ o, O, ograve, ograve ] };
230        key <AD10> { [ p, P, NoSymbol, NoSymbol ] };
231
232        //third row
233        key <AC01> { [ a, A, agrave, agrave ] };
234        key <AC02> { [ s, S, bar, bar ] };
235        key <AC03> { [ d ,D, EuroSign, EuroSign ] };
236        key <AC04> { [ f, F, sterling, sterling ] };
237        key <AC05> { [ g, G, division, division ] };
238        key <AC06> { [ h, H, multiply, multiply ] };
239        key <AC07> { [ j, J, minus, minus ] };
240        key <AC08> { [ k, K, plus, plus ] };
241        key <AC09> { [ l, L, equal, equal ] };
242
243        //forth row
244        key <AB01> { [ z, Z, underscore, underscore ] };
245        key <AB02> { [ x, X, asciitilde, asciitilde ] };
246        key <AB03> { [ c, C, less, less ] };
247        key <AB04> { [ v, V, greater, greater ] };
248        key <AB05> { [ b, B,  backslash, backslash ] };
249        key <AB06> { [ n, N, colon, colon ] };
250        key <AB07> { [ m, M, semicolon, semicolon ] };
251        key <AB08> { [ comma, comma, question, question ] };
252
253        //fifth row
254        key <FK15> { [ at, at, NoSymbol, NoSymbol ] };
255
256        include "level3(alt_switch)"
257};
258