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// 03 December 2017 - Added it(intl) and it(scn), please refer to 4// Cadèmia Siciliana <l10n@cademiasiciliana.org> 5// 18 July 2018 - Fixed inconsistent 'ì' and 'ù' in it(intl) 6// Alessandro Pellegrini <pellegrini@dis.uniroma1.it> 7 8default partial alphanumeric_keys 9xkb_symbols "basic" { 10 11 include "latin(type4)" 12 13 name[Group1]="Italian"; 14 15 key <TLDE> { [ backslash, bar, notsign, brokenbar ] }; 16 17 key <AE02> { [ 2, quotedbl, twosuperior, dead_doubleacute ] }; 18 key <AE03> { [ 3, sterling,threesuperior, dead_tilde ] }; 19 key <AE04> { [ 4, dollar, onequarter, oneeighth ] }; 20 21 key <AE10> { [ 0, equal, braceright, dead_ogonek ] }; 22 key <AE11> { [apostrophe, question, grave, questiondown ] }; 23 key <AE12> { [ igrave, asciicircum, asciitilde, dead_circumflex ] }; 24 25 key <AD11> { [ egrave, eacute, bracketleft, braceleft ] }; 26 key <AD12> { [ plus, asterisk, bracketright, braceright ] }; 27 28 key <AC10> { [ ograve, ccedilla, at, dead_cedilla ] }; 29 key <AC11> { [ agrave, degree, numbersign, dead_abovering ] }; 30 31 key <AB06> { [ n, N, ntilde, Ntilde ] }; 32 key <AB08> { [ comma, semicolon, dead_acute, multiply ] }; 33 key <AB09> { [ period, colon,periodcentered, dead_diaeresis ] }; 34 key <AB10> { [ minus, underscore, dead_macron, division ] }; 35 36 key <BKSL> { [ ugrave, section, dead_grave, dead_breve ] }; 37 38 key <LSGT> { [ less, greater,guillemotleft,guillemotright] }; 39 40 include "level3(ralt_switch)" 41}; 42 43partial alphanumeric_keys 44xkb_symbols "nodeadkeys" { 45 46 // Modifies the basic italian layout to eliminate all dead keys 47 48 include "it(basic)" 49 50 name[Group1]="Italian (no dead keys)"; 51 52 key <AE02> { [ 2, quotedbl, twosuperior, doubleacute ] }; 53 key <AE03> { [ 3, sterling,threesuperior, asciitilde ] }; 54 55 key <AE10> { [ 0, equal, braceright, ogonek ] }; 56 key <AE12> { [ igrave, asciicircum, asciitilde, asciicircum ] }; 57 58 key <AC10> { [ ograve, ccedilla, at, cedilla ] }; 59 key <AC11> { [ agrave, degree, numbersign, degree ] }; 60 61 key <AB08> { [ comma, semicolon, acute, multiply ] }; 62 key <AB09> { [ period, colon,periodcentered, diaeresis ] }; 63 key <AB10> { [ minus, underscore, macron, division ] }; 64 65 key <BKSL> { [ ugrave, section, grave, breve ] }; 66}; 67 68partial alphanumeric_keys 69xkb_symbols "winkeys" { 70 71 include "it(basic)" 72 name[Group1]="Italian (Windows)"; 73 include "eurosign(5)" 74}; 75 76// Copied from macintosh_vndr/it 77partial alphanumeric_keys 78xkb_symbols "mac" { 79 80 name[Group1]= "Italian (Macintosh)"; 81 82 key <LSGT> { [ less, greater ] }; 83 key <TLDE> { [ at, numbersign, periodcentered ] }; 84 key <AE01> { [ ampersand, 1, guillemotleft,guillemotright ] }; 85 key <AE02> { [ quotedbl, 2 ] }; 86 key <AE03> { [ apostrophe, 3 ] }; 87 key <AE04> { [ parenleft, 4, braceleft, bracketleft ] }; 88 key <AE05> { [ ccedilla, 5, Ccedilla, Iacute ] }; 89 key <AE06> { [ egrave, 6, paragraph, periodcentered] }; 90 key <AE07> { [ parenright, 7, braceright, bracketright ] }; 91 key <AE08> { [ sterling, 8, infinity ] }; 92 key <AE09> { [ agrave, 9, acute, Ocircumflex ] }; 93 key <AE10> { [ eacute, 0, grave, Oacute ] }; 94 key <AE11> { [ minus, underscore ] }; 95 key <AE12> { [ equal, plus, notequal, plusminus ] }; 96 97 key <AD01> { [ q, Q ] }; 98 key <AD02> { [ z, Z ] }; 99 key <AD03> { [ e, E, EuroSign ] }; 100 key <AD04> { [ r, R, registered ] }; 101 key <AD05> { [ t, T ] }; 102 key <AD06> { [ y, Y, Uacute, ydiaeresis ] }; 103 key <AD07> { [ u, U ] }; 104 key <AD08> { [ i, I, icircumflex, idiaeresis ] }; 105 key <AD09> { [ o, O ] }; 106 key <AD10> { [ p, P ] }; 107 key <AD11> { [ igrave, asciicircum ] }; 108 key <AD12> { [ dollar, asterisk ] }; 109 key <BKSL> { [ section, degree, at, numbersign ] }; 110 111 key <AC01> { [ a, A, aring, Aring ] }; 112 key <AC02> { [ s, S, ssharp, U1E9E ] }; 113 key <AC03> { [ d, D ] }; 114 key <AC04> { [ f, F ] }; 115 key <AC05> { [ g, G ] }; 116 key <AC06> { [ h, H, Igrave, Icircumflex ] }; 117 key <AC07> { [ j, J, Idiaeresis, Iacute ] }; 118 key <AC08> { [ k, K, Egrave, Ediaeresis ] }; 119 key <AC09> { [ l, L, ssharp, bar ] }; 120 key <AC10> { [ m, M, mu, Oacute ] }; 121 key <AC11> { [ ugrave, percent, ae, AE ] }; 122 123 key <AB01> { [ w, W ] }; 124 key <AB02> { [ x, X ] }; 125 key <AB03> { [ c, C, copyright, copyright ] }; 126 key <AB04> { [ v, V ] }; 127 key <AB05> { [ b, B ] }; 128 key <AB06> { [ n, N, dead_tilde ] }; 129 key <AB07> { [ comma, question, questiondown ] }; 130 key <AB08> { [ semicolon, period ] }; 131 key <AB09> { [ colon, slash, bar, backslash ] }; 132 key <AB10> { [ ograve, exclam, exclamdown ] }; 133 134 include "kpdl(dot)" 135 include "level3(ralt_switch)" 136}; 137 138// Used by Georgian people in Italy, 139// contributed by Vladimer Sichinava 140partial alphanumeric_keys 141xkb_symbols "geo" { 142 include "it" 143 include "ge(basic)" 144 name[Group1]= "Georgian (Italy)"; 145 146 key <TLDE> { [ backslash, bar, notsign, brokenbar ] }; 147 key <AE01> { [ 1, exclam, onesuperior ] }; 148 key <AE02> { [ 2, quotedbl, twosuperior, dead_doubleacute ] }; 149 key <AE03> { [ 3, sterling, threesuperior, dead_tilde ] }; 150 key <AE04> { [ 4, dollar, onequarter, oneeighth ] }; 151 key <AE05> { [ 5, percent, onehalf ] }; 152 key <AE06> { [ 6, ampersand ] }; 153 key <AE07> { [ 7, slash, braceleft ] }; 154 key <AE08> { [ 8, parenleft, bracketleft ] }; 155 key <AE09> { [ 9, parenright ] }; 156 key <AE10> { [ 0, equal, braceright, dead_ogonek ] }; 157 key <AE11> { [ apostrophe, question, grave, questiondown ] }; 158 key <AE12> { [ igrave, asciicircum, asciitilde, dead_circumflex ] }; 159 160 key <AD03> { [ 0x010010d4, E, EuroSign ] }; 161 key <AD11> { [ egrave, eacute, bracketleft, braceleft ] }; 162 key <AD12> { [ plus, asterisk, bracketright, braceright ] }; 163 164 key <AC10> { [ ograve, ccedilla, at, dead_cedilla ] }; 165 key <AC11> { [ agrave, degree, numbersign, degree ] }; 166 key <BKSL> { [ ugrave, section, dead_grave, dead_breve ] }; 167 key <LSGT> { [ less, greater ] }; 168 169 key <AB08> { [ comma, semicolon ] }; 170 key <AB09> { [ period, colon ] }; 171 key <AB10> { [ minus, underscore ] }; 172}; 173 174// OLPC Section 175xkb_symbols "olpc" { 176 177 include "it(basic)" 178 179 key <AE12> { [ igrave, asciicircum, asciitilde, dead_tilde ] }; 180 key <BKSL> { [ ugrave, section, Egrave, dead_breve ] }; 181 key <I219> { [ less, greater, guillemotleft, guillemotright ] }; 182}; 183 184partial alphanumeric_keys modifier_keys 185xkb_symbols "us" { 186 187 include "us(euro)" 188 189 name[Group1]= "Italian (US)"; 190 191 key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] }; 192 key <AE01> { [ 1, exclam, onesuperior ] }; 193 key <AE02> { [ 2, at, twosuperior ] }; 194 key <AE03> { [ 3, numbersign, threesuperior ] }; 195 key <AE06> { [ 6,asciicircum,dead_circumflex ] }; 196 key <AE10> { [ 0, parenright, degree ] }; 197 key <AE11> { [ minus, underscore, dead_macron ] }; 198 199 key <AD03> { [ e, E, egrave, Egrave ] }; 200 key <AD04> { [ r, R, registered ] }; 201 key <AD07> { [ u, U, ugrave, Ugrave ] }; 202 key <AD08> { [ i, I, igrave, Igrave ] }; 203 key <AD09> { [ o, O, ograve, Ograve ] }; 204 205 key <AC01> { [ a, A, agrave, Agrave ] }; 206 key <AC03> { [ d, D, eacute, Eacute ] }; 207 key <AC07> { [ j, J, uacute, Uacute ] }; 208 key <AC08> { [ k, K, iacute, Iacute ] }; 209 key <AC09> { [ l, L, oacute, Oacute ] }; 210 key <AC10> { [ semicolon, colon,dead_diaeresis, dead_diaeresis ] }; 211 key <AC11> { [apostrophe, quotedbl, dead_acute ] }; 212 213 key <AB01> { [ z, Z, aacute, Aacute ] }; 214 key <AB03> { [ c, C, copyright ] }; 215 key <AB06> { [ n, N, ntilde, Ntilde ] }; 216 key <AB08> { [ comma, less, guillemotleft ] }; 217 key <AB09> { [ period, greater, guillemotright ] }; 218 219 include "level3(ralt_switch)" 220}; 221 222partial alphanumeric_keys 223xkb_symbols "ibm" { 224 225 // Modifies the basic italian layout to match IBM 142 variant 226 227 include "us" 228 229 name[Group1]="Italian (IBM 142)"; 230 231 key <TLDE> { [ backslash, bar ] }; 232 233 key <AE02> { [ 2, quotedbl ] }; 234 key <AE03> { [ 3, sterling, numbersign ] }; 235 key <AE06> { [ 6, ampersand ] }; 236 key <AE07> { [ 7, slash, braceleft ] }; 237 key <AE08> { [ 8, parenleft, bracketleft ] }; 238 key <AE09> { [ 9, parenright, bracketright ] }; 239 key <AE10> { [ 0, equal, braceright ] }; 240 key <AE11> { [apostrophe, question ] }; 241 key <AE12> { [ igrave, asciicircum ] }; 242 243 key <AD01> { [ q, Q, at ] }; 244 key <AD03> { [ e, E, EuroSign ] }; 245 key <AD11> { [ egrave, eacute ] }; 246 key <AD12> { [ plus, asterisk, asciitilde ] }; 247 248 key <AC10> { [ ograve, ccedilla ] }; 249 key <AC11> { [ agrave, degree ] }; 250 251 key <AB08> { [ comma, semicolon ] }; 252 key <AB09> { [ period, colon ] }; 253 key <AB10> { [ minus, underscore ] }; 254 255 key <BKSL> { [ ugrave, section, grave ] }; 256 257 key <LSGT> { [ less, greater ] }; 258 259 include "level3(ralt_switch)" 260 include "kpdl(comma)" 261}; 262 263 264partial alphanumeric_keys 265 xkb_symbols "fur" { 266 include "it(basic)" 267 include "latin(type4)" 268 include "level3(ralt_switch)" 269 name[Group1] = "Friulian (Italy)"; 270 271 272 273 key <TLDE> { [ backslash, bar, notsign, brokenbar ] }; 274 275 key <AE02> { [ 2, quotedbl, twosuperior, dead_doubleacute ] }; 276 key <AE03> { [ 3, sterling,threesuperior, U1D49 ] }; 277 key <AE04> { [ 4, dollar, onequarter, oneeighth ] }; 278 key <AE05> { [ 5, percent, EuroSign, onehalf ] }; 279 280 key <AE10> { [ 0, equal, braceright, dead_ogonek ] }; 281 key <AE11> { [apostrophe, question, grave, questiondown ] }; 282 key <AE12> { [ igrave, asciicircum, asciitilde, dead_circumflex ] }; 283 284 key <AD03> { [ e, E, ecircumflex, Ecircumflex ] }; 285 key <AD05> { [ t, T, U1D57, U1D40 ] }; 286 key <AD07> { [ u, U, ucircumflex, NoSymbol ] }; 287 key <AD08> { [ i, I, icircumflex, Icircumflex ] }; 288 key <AD09> { [ o, O, ocircumflex, Ocircumflex ] }; 289 key <AD11> { [ egrave, eacute, bracketleft, braceleft ] }; 290 key <AD12> { [ plus, asterisk, bracketright, braceright ] }; 291 key <AC01> { [ a, A, acircumflex, Acircumflex ] }; 292 key <AC04> { [ f, F, U1DA0, U00AA ] }; 293 key <AC10> { [ ograve, ccedilla, at, dead_cedilla ] }; 294 key <AC11> { [ agrave, degree, numbersign, dead_abovering ] }; 295 296 key <AB03> { [ c, C, U1D9C, U00A9 ] }; 297 key <AB06> { [ n, N, U207F, Ntilde ] }; 298 key <AB07> { [ m, M, U1D50, U00B5 ] }; 299 key <AB08> { [ comma, semicolon, dead_acute, multiply ] }; 300 key <AB09> { [ period, colon,periodcentered, dead_diaeresis ] }; 301 key <AB10> { [ minus, underscore, dead_macron, division ] }; 302 303 key <BKSL> { [ ugrave, section, dead_grave, dead_breve ] }; 304 305 key <LSGT> { [ less, greater,guillemotleft,guillemotright] }; 306 307}; 308 309// EXTRAS: 310 311partial alphanumeric_keys 312 xkb_symbols "sun_type6" { 313 include "sun_vndr/it(sun_type6)" 314}; 315 316partial alphanumeric_keys 317 xkb_symbols "lld" { 318 include "it(basic)" 319 name[Group1] = "Italian (Ladin)"; 320 321 key <AD08> { [ i, I, idiaeresis, Idiaeresis ] }; 322 key <AD10> { [ p, P, ediaeresis, Ediaeresis ] }; 323 324 key <AC01> { [ a, A, aacute, Aacute ] }; 325 key <AC02> { [ s, S, sacute, Sacute ] }; 326 327 key <AB03> { [ c, C, cacute, Cacute ] }; 328 329}; 330 331partial alphanumeric_keys 332 xkb_symbols "intl" { 333 include "it(basic)" 334 name[Group1] = "Italian (intl., with dead keys)"; 335 336 key <AE12> { [ igrave, asciicircum, asciitilde, dead_circumflex ] }; 337 338 key <AD03> { [ e, E, EuroSign, U0259 ] }; 339 340 key <AC11> { [ agrave, degree, numbersign, U1D58 ] }; 341 key <AC06> { [ h, H, U1E25, U1E24 ] }; 342 key <AC04> { [ f, F, U0111, U0110 ] }; 343 key <AC03> { [ d, D, U1E0D, U1E0C ] }; 344 345 key <AB02> { [ x, X, U03C7, U03A7 ] }; 346 key <AB01> { [ z, Z ] }; 347 348 key <BKSL> { [ ugrave, section, dead_grave, dead_breve ] }; 349}; 350 351partial alphanumeric_keys 352 xkb_symbols "scn" { 353 include "it(basic)" 354 name[Group1] = "Sicilian"; 355 356 key <AE12> { [ iacute, asciicircum, asciitilde, dead_circumflex ] }; 357 358 key <AD09> { [ o, O, ocircumflex, Ocircumflex ] }; 359 key <AD08> { [ i, I, icircumflex, Icircumflex ] }; 360 key <AD07> { [ u, U, ucircumflex, Ucircumflex ] }; 361 key <AD04> { [ r, R, ediaeresis, Ediaeresis ] }; 362 key <AD03> { [ e, E, EuroSign, ecircumflex ] }; 363 364 key <AC11> { [ agrave, degree, numbersign, U1D58 ] }; 365 key <AC04> { [ f, F, U0111, U0110 ] }; 366 key <AC03> { [ d, D, U1E0D, U1E0C ] }; 367 key <AC02> { [ s, S, scaron, Scaron ] }; 368 key <AC01> { [ a, A, acircumflex, Acircumflex ] }; 369 370 // In our Windows layout, there is no ©, but Ç. Since this character 371 // is available via CapsLock, I decided to keep © in place, as the 372 // Italian layout. 373 key <AB03> { [ c, C, ccedilla, copyright ] }; 374 key <AB02> { [ x, X, U03C7, U03A7 ] }; 375 376 // Replaced dead_grave by ugrave, since it's common to write mixed 377 // Sicilian - Italian (where we replaced ugrave with uacute) 378 key <BKSL> { [ uacute, section, ugrave, dead_breve ] }; 379}; 380