1// 17 May 2003 Modified by Sebastiano Vigna (vigna@dsi.unimi.it) 2// 03 December 2017 - Added it(intl) and it(scn), please refer to 3// Cadèmia Siciliana <l10n@cademiasiciliana.org> 4// 18 July 2018 - Fixed inconsistent 'ì' and 'ù' in it(intl) 5// Alessandro Pellegrini <pellegrini@dis.uniroma1.it> 6// 28 February 2017 - Added it(fur), please refer to 7// Fabio Tomat <f.t.public@gmail.com> 8 9default partial alphanumeric_keys 10xkb_symbols "basic" { 11 12 include "latin(type4)" 13 14 name[Group1]="Italian"; 15 16 key <TLDE> { [ backslash, bar, notsign, brokenbar ] }; 17 18 key <AE02> { [ 2, quotedbl, twosuperior, dead_doubleacute ] }; 19 key <AE03> { [ 3, sterling,threesuperior, dead_tilde ] }; 20 key <AE04> { [ 4, dollar, onequarter, oneeighth ] }; 21 22 key <AE10> { [ 0, equal, braceright, dead_ogonek ] }; 23 key <AE11> { [apostrophe, question, grave, questiondown ] }; 24 key <AE12> { [ igrave, asciicircum, asciitilde, dead_circumflex ] }; 25 26 key <AD11> { [ egrave, eacute, bracketleft, braceleft ] }; 27 key <AD12> { [ plus, asterisk, bracketright, braceright ] }; 28 29 key <AC10> { [ ograve, ccedilla, at, dead_cedilla ] }; 30 key <AC11> { [ agrave, degree, numbersign, dead_abovering ] }; 31 key <BKSL> { [ ugrave, section, dead_grave, dead_breve ] }; 32 33 key <LSGT> { [ less, greater,guillemotleft,guillemotright] }; 34 key <AB04> { [ v, V, leftdoublequotemark, leftsinglequotemark ] }; 35 key <AB05> { [ b, B, rightdoublequotemark, rightsinglequotemark ] }; 36 key <AB06> { [ n, N, ntilde, Ntilde ] }; 37 key <AB08> { [ comma, semicolon, dead_acute, multiply ] }; 38 key <AB09> { [ period, colon,periodcentered, dead_diaeresis ] }; 39 key <AB10> { [ minus, underscore, dead_macron, division ] }; 40 41 include "level3(ralt_switch)" 42}; 43 44partial alphanumeric_keys 45xkb_symbols "nodeadkeys" { 46 47 // Modifies the basic italian layout to eliminate all dead keys 48 49 include "it(basic)" 50 51 name[Group1]="Italian (no dead keys)"; 52 53 key <AE02> { [ 2, quotedbl, twosuperior, doubleacute ] }; 54 key <AE03> { [ 3, sterling,threesuperior, asciitilde ] }; 55 56 key <AE10> { [ 0, equal, braceright, ogonek ] }; 57 key <AE12> { [ igrave, asciicircum, asciitilde, asciicircum ] }; 58 59 key <AC10> { [ ograve, ccedilla, at, cedilla ] }; 60 key <AC11> { [ agrave, degree, numbersign, degree ] }; 61 key <BKSL> { [ ugrave, section, grave, breve ] }; 62 63 key <AB08> { [ comma, semicolon, acute, multiply ] }; 64 key <AB09> { [ period, colon,periodcentered, diaeresis ] }; 65 key <AB10> { [ minus, underscore, macron, division ] }; 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 <TLDE> { [ at, numbersign, periodcentered ] }; 83 key <AE01> { [ ampersand, 1, guillemotleft,guillemotright ] }; 84 key <AE02> { [ quotedbl, 2 ] }; 85 key <AE03> { [ apostrophe, 3 ] }; 86 key <AE04> { [ parenleft, 4, braceleft, bracketleft ] }; 87 key <AE05> { [ ccedilla, 5, Ccedilla, Iacute ] }; 88 key <AE06> { [ egrave, 6, paragraph, periodcentered] }; 89 key <AE07> { [ parenright, 7, braceright, bracketright ] }; 90 key <AE08> { [ sterling, 8, infinity ] }; 91 key <AE09> { [ agrave, 9, acute, Ocircumflex ] }; 92 key <AE10> { [ eacute, 0, grave, Oacute ] }; 93 key <AE11> { [ minus, underscore ] }; 94 key <AE12> { [ equal, plus, notequal, plusminus ] }; 95 96 key <AD01> { [ q, Q ] }; 97 key <AD02> { [ z, Z ] }; 98 key <AD03> { [ e, E, EuroSign ] }; 99 key <AD04> { [ r, R, registered ] }; 100 key <AD05> { [ t, T ] }; 101 key <AD06> { [ y, Y, Uacute, ydiaeresis ] }; 102 key <AD07> { [ u, U ] }; 103 key <AD08> { [ i, I, icircumflex, idiaeresis ] }; 104 key <AD09> { [ o, O ] }; 105 key <AD10> { [ p, P ] }; 106 key <AD11> { [ igrave, asciicircum ] }; 107 key <AD12> { [ dollar, asterisk ] }; 108 109 key <AC01> { [ a, A, aring, Aring ] }; 110 key <AC02> { [ s, S, ssharp, U1E9E ] }; 111 key <AC03> { [ d, D ] }; 112 key <AC04> { [ f, F ] }; 113 key <AC05> { [ g, G ] }; 114 key <AC06> { [ h, H, Igrave, Icircumflex ] }; 115 key <AC07> { [ j, J, Idiaeresis, Iacute ] }; 116 key <AC08> { [ k, K, Egrave, Ediaeresis ] }; 117 key <AC09> { [ l, L, ssharp, bar ] }; 118 key <AC10> { [ m, M, mu, Oacute ] }; 119 key <AC11> { [ ugrave, percent, ae, AE ] }; 120 key <BKSL> { [ section, degree, at, numbersign ] }; 121 122 key <LSGT> { [ less, greater ] }; 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 168 key <LSGT> { [ less, greater ] }; 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(basic)" 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 include "eurosign(5)" 221}; 222 223partial alphanumeric_keys 224xkb_symbols "ibm" { 225 226 include "us" 227 228 name[Group1]="Italian (IBM 142)"; 229 230 key <TLDE> { [ backslash, bar ] }; 231 232 key <AE02> { [ 2, quotedbl ] }; 233 key <AE03> { [ 3, sterling, numbersign ] }; 234 key <AE06> { [ 6, ampersand ] }; 235 key <AE07> { [ 7, slash, braceleft ] }; 236 key <AE08> { [ 8, parenleft, bracketleft ] }; 237 key <AE09> { [ 9, parenright, bracketright ] }; 238 key <AE10> { [ 0, equal, braceright ] }; 239 key <AE11> { [apostrophe, question ] }; 240 key <AE12> { [ igrave, asciicircum ] }; 241 242 key <AD01> { [ q, Q, at ] }; 243 key <AD03> { [ e, E, EuroSign ] }; 244 key <AD11> { [ egrave, eacute ] }; 245 key <AD12> { [ plus, asterisk, asciitilde ] }; 246 247 key <AC10> { [ ograve, ccedilla ] }; 248 key <AC11> { [ agrave, degree ] }; 249 key <BKSL> { [ ugrave, section, grave ] }; 250 251 key <LSGT> { [ less, greater ] }; 252 key <AB08> { [ comma, semicolon ] }; 253 key <AB09> { [ period, colon ] }; 254 key <AB10> { [ minus, underscore ] }; 255 256 include "level3(ralt_switch)" 257 include "kpdl(comma)" 258}; 259 260 261partial alphanumeric_keys 262xkb_symbols "fur" { 263 264 include "latin(type4)" 265 266 name[Group1] = "Friulian (Italy)"; 267 268 key <TLDE> {[ backslash, bar, notsign, brokenbar ]}; 269 270 key <AE02> {[ 2, quotedbl, twosuperior,dead_doubleacute]}; 271 key <AE03> {[ 3, sterling, threesuperior, U1D49 ]}; 272 key <AE04> {[ 4, dollar, onequarter, oneeighth ]}; 273 key <AE05> {[ 5, percent, EuroSign, onehalf ]}; 274 key <AE10> {[ 0, equal, braceright, dead_ogonek ]}; 275 key <AE11> {[apostrophe, question, grave, questiondown ]}; 276 key <AE12> {[ igrave, asciicircum, asciitilde,dead_circumflex]}; 277 278 key <AD03> {[ e, E, ecircumflex, Ecircumflex ]}; 279 key <AD05> {[ t, T, U1D57, U1D40 ]}; 280 key <AD07> {[ u, U, ucircumflex, NoSymbol ]}; 281 key <AD08> {[ i, I, icircumflex, Icircumflex ]}; 282 key <AD09> {[ o, O, ocircumflex, Ocircumflex ]}; 283 key <AD11> {[ egrave, eacute, bracketleft, braceleft ]}; 284 key <AD12> {[ plus, asterisk, bracketright, braceright ]}; 285 286 key <AC01> {[ a, A, acircumflex, Acircumflex ]}; 287 key <AC03> {[ d, D, U1D48 ]}; 288 key <AC04> {[ f, F, U1DA0, ordfeminine ]}; 289 key <AC10> {[ ograve, ccedilla, at, dead_cedilla ]}; 290 key <AC11> {[ agrave, degree, numbersign,dead_abovering ]}; 291 key <BKSL> {[ ugrave, section, dead_grave, dead_breve ]}; 292 293 key <LSGT> {[ less, greater, guillemotleft,guillemotright ]}; 294 key <AB03> {[ c, C, U1D9C, copyright ]}; 295 key <AB06> {[ n, N, U207F, Ntilde ]}; 296 key <AB07> {[ m, M, U1D50, mu ]}; 297 key <AB08> {[ comma, semicolon, dead_acute, multiply ]}; 298 key <AB09> {[ period, colon,periodcentered,dead_diaeresis ]}; 299 key <AB10> {[ minus, underscore, dead_macron, division ]}; 300 301 include "level3(ralt_switch)" 302}; 303 304// EXTRAS: 305 306partial alphanumeric_keys 307 xkb_symbols "sun_type6" { 308 include "sun_vndr/it(sun_type6)" 309}; 310 311partial alphanumeric_keys 312xkb_symbols "lld" { 313 include "it(basic)" 314 name[Group1] = "Italian (Ladin)"; 315 316 key <AD08> { [ i, I, idiaeresis, Idiaeresis ] }; 317 key <AD10> { [ p, P, ediaeresis, Ediaeresis ] }; 318 319 key <AC01> { [ a, A, aacute, Aacute ] }; 320 key <AC02> { [ s, S, sacute, Sacute ] }; 321 322 key <AB03> { [ c, C, cacute, Cacute ] }; 323}; 324 325partial alphanumeric_keys 326xkb_symbols "intl" { 327 include "it(basic)" 328 name[Group1] = "Italian (intl., with dead keys)"; 329 330 key <AE12> { [ igrave, asciicircum, asciitilde, dead_circumflex ] }; 331 332 key <AD03> { [ e, E, EuroSign, U0259 ] }; 333 334 key <AC03> { [ d, D, U1E0D, U1E0C ] }; 335 key <AC04> { [ f, F, U0111, U0110 ] }; 336 key <AC06> { [ h, H, U1E25, U1E24 ] }; 337 key <AC11> { [ agrave, degree, numbersign, U1D58 ] }; 338 key <BKSL> { [ ugrave, section, dead_grave, dead_breve ] }; 339 340 key <AB01> { [ z, Z ] }; 341 key <AB02> { [ x, X, U03C7, U03A7 ] }; 342}; 343 344partial alphanumeric_keys 345xkb_symbols "scn" { 346 include "it(basic)" 347 name[Group1] = "Sicilian"; 348 349 key <AE12> { [ iacute, asciicircum, asciitilde, dead_circumflex ] }; 350 351 key <AD03> { [ e, E, EuroSign, ecircumflex ] }; 352 key <AD04> { [ r, R, ediaeresis, Ediaeresis ] }; 353 key <AD07> { [ u, U, ucircumflex, Ucircumflex ] }; 354 key <AD08> { [ i, I, icircumflex, Icircumflex ] }; 355 key <AD09> { [ o, O, ocircumflex, Ocircumflex ] }; 356 357 key <AC01> { [ a, A, acircumflex, Acircumflex ] }; 358 key <AC02> { [ s, S, scaron, Scaron ] }; 359 key <AC03> { [ d, D, U1E0D, U1E0C ] }; 360 key <AC04> { [ f, F, U0111, U0110 ] }; 361 key <AC11> { [ agrave, degree, numbersign, U1D58 ] }; 362 363 // Replaced dead_grave by ugrave, since it's common to write mixed 364 // Sicilian - Italian (where we replaced ugrave with uacute) 365 key <BKSL> { [ uacute, section, ugrave, dead_breve ] }; 366 367 // In our Windows layout, there is no ©, but Ç. Since this character 368 // is available via CapsLock, I decided to keep © in place, as the 369 // Italian layout. 370 key <AB02> { [ x, X, U03C7, U03A7 ] }; 371 key <AB03> { [ c, C, ccedilla, copyright ] }; 372}; 373 374// layout for Italian Dvorak 375// based on https://web.archive.org/web/20170331132815/http://idvorak.altervista.org/ 376 377partial alphanumeric_keys 378xkb_symbols "dvorak" { 379 include "it(basic)" 380 name[Group1]= "Italian (Dvorak)"; 381 382 key <AD01> { [ agrave, degree, numbersign ] }; 383 key <AD02> { [ comma, semicolon ] }; 384 key <AD03> { [ period, colon ] }; 385 key <AD04> { [ p, P ] }; 386 key <AD05> { [ y, Y ] }; 387 key <AD06> { [ f, F ] }; 388 key <AD07> { [ g, G ] }; 389 key <AD08> { [ c, C ] }; 390 key <AD09> { [ r, R ] }; 391 key <AD10> { [ l, L ] }; 392 key <AD11> { [ egrave, eacute, bracketleft ] }; 393 key <AD12> { [ plus, asterisk, bracketright ] }; 394 395 key <AC01> { [ a, A ] }; 396 key <AC02> { [ o, O ] }; 397 key <AC03> { [ e, E ] }; 398 key <AC04> { [ u, U ] }; 399 key <AC05> { [ i, I ] }; 400 key <AC06> { [ d, D ] }; 401 key <AC07> { [ h, H ] }; 402 key <AC08> { [ t, T ] }; 403 key <AC09> { [ n, N ] }; 404 key <AC10> { [ s, S ] }; 405 key <AC11> { [ minus, underscore ] }; 406 key <AC12> { [ ugrave, section ] }; 407 408 key <AB01> { [ ograve, ccedilla, at ] }; 409 key <AB02> { [ q, Q ] } ; 410 key <AB03> { [ j, J ] }; 411 key <AB04> { [ k, K ] }; 412 key <AB05> { [ x, X ] }; 413 key <AB06> { [ b, B ] }; 414 key <AB07> { [ m, M ] }; 415 key <AB08> { [ w, W ] }; 416 key <AB09> { [ v, V ] }; 417 key <AB10> { [ z, Z ] }; 418}; 419