// based on a keyboard map from an 'xkb/symbols/it' file // 17 May 2003 Modified by Sebastiano Vigna (vigna@dsi.unimi.it) // 03 December 2017 - Added it(intl) and it(scn), please refer to // Cadèmia Siciliana // 18 July 2018 - Fixed inconsistent 'ì' and 'ù' in it(intl) // Alessandro Pellegrini default partial alphanumeric_keys xkb_symbols "basic" { include "latin(type4)" name[Group1]="Italian"; key { [ backslash, bar, notsign, brokenbar ] }; key { [ 2, quotedbl, twosuperior, dead_doubleacute ] }; key { [ 3, sterling,threesuperior, dead_tilde ] }; key { [ 4, dollar, onequarter, oneeighth ] }; key { [ 0, equal, braceright, dead_ogonek ] }; key { [apostrophe, question, grave, questiondown ] }; key { [ igrave, asciicircum, asciitilde, dead_circumflex ] }; key { [ egrave, eacute, bracketleft, braceleft ] }; key { [ plus, asterisk, bracketright, braceright ] }; key { [ ograve, ccedilla, at, dead_cedilla ] }; key { [ agrave, degree, numbersign, dead_abovering ] }; key { [ n, N, ntilde, Ntilde ] }; key { [ comma, semicolon, dead_acute, multiply ] }; key { [ period, colon,periodcentered, dead_diaeresis ] }; key { [ minus, underscore, dead_macron, division ] }; key { [ ugrave, section, dead_grave, dead_breve ] }; key { [ less, greater,guillemotleft,guillemotright] }; include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "nodeadkeys" { // Modifies the basic italian layout to eliminate all dead keys include "it(basic)" name[Group1]="Italian (no dead keys)"; key { [ 2, quotedbl, twosuperior, doubleacute ] }; key { [ 3, sterling,threesuperior, asciitilde ] }; key { [ 0, equal, braceright, ogonek ] }; key { [ igrave, asciicircum, asciitilde, asciicircum ] }; key { [ ograve, ccedilla, at, cedilla ] }; key { [ agrave, degree, numbersign, degree ] }; key { [ comma, semicolon, acute, multiply ] }; key { [ period, colon,periodcentered, diaeresis ] }; key { [ minus, underscore, macron, division ] }; key { [ ugrave, section, grave, breve ] }; }; partial alphanumeric_keys xkb_symbols "winkeys" { include "it(basic)" name[Group1]="Italian (Windows)"; include "eurosign(5)" }; // Copied from macintosh_vndr/it partial alphanumeric_keys xkb_symbols "mac" { name[Group1]= "Italian (Macintosh)"; key { [ less, greater ] }; key { [ at, numbersign, periodcentered ] }; key { [ ampersand, 1, guillemotleft,guillemotright ] }; key { [ quotedbl, 2 ] }; key { [ apostrophe, 3 ] }; key { [ parenleft, 4, braceleft, bracketleft ] }; key { [ ccedilla, 5, Ccedilla, Iacute ] }; key { [ egrave, 6, paragraph, periodcentered] }; key { [ parenright, 7, braceright, bracketright ] }; key { [ sterling, 8, infinity ] }; key { [ agrave, 9, acute, Ocircumflex ] }; key { [ eacute, 0, grave, Oacute ] }; key { [ minus, underscore ] }; key { [ equal, plus, notequal, plusminus ] }; key { [ q, Q ] }; key { [ z, Z ] }; key { [ e, E, EuroSign ] }; key { [ r, R, registered ] }; key { [ t, T ] }; key { [ y, Y, Uacute, ydiaeresis ] }; key { [ u, U ] }; key { [ i, I, icircumflex, idiaeresis ] }; key { [ o, O ] }; key { [ p, P ] }; key { [ igrave, asciicircum ] }; key { [ dollar, asterisk ] }; key { [ section, degree, at, numbersign ] }; key { [ a, A, aring, Aring ] }; key { [ s, S, ssharp, U1E9E ] }; key { [ d, D ] }; key { [ f, F ] }; key { [ g, G ] }; key { [ h, H, Igrave, Icircumflex ] }; key { [ j, J, Idiaeresis, Iacute ] }; key { [ k, K, Egrave, Ediaeresis ] }; key { [ l, L, ssharp, bar ] }; key { [ m, M, mu, Oacute ] }; key { [ ugrave, percent, ae, AE ] }; key { [ w, W ] }; key { [ x, X ] }; key { [ c, C, copyright, copyright ] }; key { [ v, V ] }; key { [ b, B ] }; key { [ n, N, dead_tilde ] }; key { [ comma, question, questiondown ] }; key { [ semicolon, period ] }; key { [ colon, slash, bar, backslash ] }; key { [ ograve, exclam, exclamdown ] }; include "kpdl(dot)" include "level3(ralt_switch)" }; // Used by Georgian people in Italy, // contributed by Vladimer Sichinava partial alphanumeric_keys xkb_symbols "geo" { include "it" include "ge(basic)" name[Group1]= "Georgian (Italy)"; key { [ backslash, bar, notsign, brokenbar ] }; key { [ 1, exclam, onesuperior ] }; key { [ 2, quotedbl, twosuperior, dead_doubleacute ] }; key { [ 3, sterling, threesuperior, dead_tilde ] }; key { [ 4, dollar, onequarter, oneeighth ] }; key { [ 5, percent, onehalf ] }; key { [ 6, ampersand ] }; key { [ 7, slash, braceleft ] }; key { [ 8, parenleft, bracketleft ] }; key { [ 9, parenright ] }; key { [ 0, equal, braceright, dead_ogonek ] }; key { [ apostrophe, question, grave, questiondown ] }; key { [ igrave, asciicircum, asciitilde, dead_circumflex ] }; key { [ 0x010010d4, E, EuroSign ] }; key { [ egrave, eacute, bracketleft, braceleft ] }; key { [ plus, asterisk, bracketright, braceright ] }; key { [ ograve, ccedilla, at, dead_cedilla ] }; key { [ agrave, degree, numbersign, degree ] }; key { [ ugrave, section, dead_grave, dead_breve ] }; key { [ less, greater ] }; key { [ comma, semicolon ] }; key { [ period, colon ] }; key { [ minus, underscore ] }; }; // OLPC Section xkb_symbols "olpc" { include "it(basic)" key { [ igrave, asciicircum, asciitilde, dead_tilde ] }; key { [ ugrave, section, Egrave, dead_breve ] }; key { [ less, greater, guillemotleft, guillemotright ] }; }; partial alphanumeric_keys modifier_keys xkb_symbols "us" { include "us(euro)" name[Group1]= "Italian (US)"; key { [ grave, asciitilde, dead_grave, dead_tilde ] }; key { [ 1, exclam, onesuperior ] }; key { [ 2, at, twosuperior ] }; key { [ 3, numbersign, threesuperior ] }; key { [ 6,asciicircum,dead_circumflex ] }; key { [ 0, parenright, degree ] }; key { [ minus, underscore, dead_macron ] }; key { [ e, E, egrave, Egrave ] }; key { [ r, R, registered ] }; key { [ u, U, ugrave, Ugrave ] }; key { [ i, I, igrave, Igrave ] }; key { [ o, O, ograve, Ograve ] }; key { [ a, A, agrave, Agrave ] }; key { [ d, D, eacute, Eacute ] }; key { [ j, J, uacute, Uacute ] }; key { [ k, K, iacute, Iacute ] }; key { [ l, L, oacute, Oacute ] }; key { [ semicolon, colon,dead_diaeresis, dead_diaeresis ] }; key { [apostrophe, quotedbl, dead_acute ] }; key { [ z, Z, aacute, Aacute ] }; key { [ c, C, copyright ] }; key { [ n, N, ntilde, Ntilde ] }; key { [ comma, less, guillemotleft ] }; key { [ period, greater, guillemotright ] }; include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "ibm" { // Modifies the basic italian layout to match IBM 142 variant include "us" name[Group1]="Italian (IBM 142)"; key { [ backslash, bar ] }; key { [ 2, quotedbl ] }; key { [ 3, sterling, numbersign ] }; key { [ 6, ampersand ] }; key { [ 7, slash, braceleft ] }; key { [ 8, parenleft, bracketleft ] }; key { [ 9, parenright, bracketright ] }; key { [ 0, equal, braceright ] }; key { [apostrophe, question ] }; key { [ igrave, asciicircum ] }; key { [ q, Q, at ] }; key { [ e, E, EuroSign ] }; key { [ egrave, eacute ] }; key { [ plus, asterisk, asciitilde ] }; key { [ ograve, ccedilla ] }; key { [ agrave, degree ] }; key { [ comma, semicolon ] }; key { [ period, colon ] }; key { [ minus, underscore ] }; key { [ ugrave, section, grave ] }; key { [ less, greater ] }; include "level3(ralt_switch)" include "kpdl(comma)" }; partial alphanumeric_keys xkb_symbols "fur" { include "it(basic)" include "latin(type4)" include "level3(ralt_switch)" name[Group1] = "Friulian (Italy)"; key { [ backslash, bar, notsign, brokenbar ] }; key { [ 2, quotedbl, twosuperior, dead_doubleacute ] }; key { [ 3, sterling,threesuperior, U1D49 ] }; key { [ 4, dollar, onequarter, oneeighth ] }; key { [ 5, percent, EuroSign, onehalf ] }; key { [ 0, equal, braceright, dead_ogonek ] }; key { [apostrophe, question, grave, questiondown ] }; key { [ igrave, asciicircum, asciitilde, dead_circumflex ] }; key { [ e, E, ecircumflex, Ecircumflex ] }; key { [ t, T, U1D57, U1D40 ] }; key { [ u, U, ucircumflex, NoSymbol ] }; key { [ i, I, icircumflex, Icircumflex ] }; key { [ o, O, ocircumflex, Ocircumflex ] }; key { [ egrave, eacute, bracketleft, braceleft ] }; key { [ plus, asterisk, bracketright, braceright ] }; key { [ a, A, acircumflex, Acircumflex ] }; key { [ f, F, U1DA0, U00AA ] }; key { [ ograve, ccedilla, at, dead_cedilla ] }; key { [ agrave, degree, numbersign, dead_abovering ] }; key { [ c, C, U1D9C, U00A9 ] }; key { [ n, N, U207F, Ntilde ] }; key { [ m, M, U1D50, U00B5 ] }; key { [ comma, semicolon, dead_acute, multiply ] }; key { [ period, colon,periodcentered, dead_diaeresis ] }; key { [ minus, underscore, dead_macron, division ] }; key { [ ugrave, section, dead_grave, dead_breve ] }; key { [ less, greater,guillemotleft,guillemotright] }; }; // EXTRAS: partial alphanumeric_keys xkb_symbols "sun_type6" { include "sun_vndr/it(sun_type6)" }; partial alphanumeric_keys xkb_symbols "lld" { include "it(basic)" name[Group1] = "Italian (Ladin)"; key { [ i, I, idiaeresis, Idiaeresis ] }; key { [ p, P, ediaeresis, Ediaeresis ] }; key { [ a, A, aacute, Aacute ] }; key { [ s, S, sacute, Sacute ] }; key { [ c, C, cacute, Cacute ] }; }; partial alphanumeric_keys xkb_symbols "intl" { include "it(basic)" name[Group1] = "Italian (intl., with dead keys)"; key { [ igrave, asciicircum, asciitilde, dead_circumflex ] }; key { [ e, E, EuroSign, U0259 ] }; key { [ agrave, degree, numbersign, U1D58 ] }; key { [ h, H, U1E25, U1E24 ] }; key { [ f, F, U0111, U0110 ] }; key { [ d, D, U1E0D, U1E0C ] }; key { [ x, X, U03C7, U03A7 ] }; key { [ z, Z ] }; key { [ ugrave, section, dead_grave, dead_breve ] }; }; partial alphanumeric_keys xkb_symbols "scn" { include "it(basic)" name[Group1] = "Sicilian"; key { [ iacute, asciicircum, asciitilde, dead_circumflex ] }; key { [ o, O, ocircumflex, Ocircumflex ] }; key { [ i, I, icircumflex, Icircumflex ] }; key { [ u, U, ucircumflex, Ucircumflex ] }; key { [ r, R, ediaeresis, Ediaeresis ] }; key { [ e, E, EuroSign, ecircumflex ] }; key { [ agrave, degree, numbersign, U1D58 ] }; key { [ f, F, U0111, U0110 ] }; key { [ d, D, U1E0D, U1E0C ] }; key { [ s, S, scaron, Scaron ] }; key { [ a, A, acircumflex, Acircumflex ] }; // In our Windows layout, there is no ©, but Ç. Since this character // is available via CapsLock, I decided to keep © in place, as the // Italian layout. key { [ c, C, ccedilla, copyright ] }; key { [ x, X, U03C7, U03A7 ] }; // Replaced dead_grave by ugrave, since it's common to write mixed // Sicilian - Italian (where we replaced ugrave with uacute) key { [ uacute, section, ugrave, dead_breve ] }; };