


























default partial
xkb_symbols "basic" {
 include "hu(102_qwertz_comma_dead)"
 name[Group1] = "Hungarian";
};


partial
xkb_symbols "standard" {
 include "hu(102_qwertz_comma_dead)"
 name[Group1] = "Hungarian (standard)";
};


partial
xkb_symbols "nodeadkeys" {
 include "hu(102_qwertz_comma_nodead)"
 name[Group1] = "Hungarian (no dead keys)";
};


partial
xkb_symbols "qwerty" {
 include "hu(101_qwerty_comma_dead)"
 name[Group1] = "Hungarian (QWERTY)";
};







partial
xkb_symbols "101_qwertz_comma_dead" {
 name[Group1] = "Hungarian (101/QWERTZ/comma/dead keys)";
 include "latin"
 include "hu(def_101)"
 include "hu(def_qwertz)"
 include "kpdl(comma)"
 include "hu(def_dead)"
 include "hu(def_common)"
 include "level3(ralt_switch)"
};





partial
xkb_symbols "101_qwertz_comma_nodead" {
 name[Group1] = "Hungarian (101/QWERTZ/comma/no dead keys)";
 include "latin"
 include "hu(def_101)"
 include "hu(def_qwertz)"
 include "kpdl(comma)"
 include "hu(def_nodead)"
 include "hu(def_common)"
 include "level3(ralt_switch)"
};





partial
xkb_symbols "101_qwertz_dot_dead" {
 name[Group1] = "Hungarian (101/QWERTZ/dot/dead keys)";
 include "latin"
 include "hu(def_101)"
 include "hu(def_qwertz)"
 include "hu(def_dot)"
 include "hu(def_dead)"
 include "hu(def_common)"
 include "level3(ralt_switch)"
};





partial
xkb_symbols "101_qwertz_dot_nodead" {
 name[Group1] = "Hungarian (101/QWERTZ/dot/no dead keys)";
 include "latin"
 include "hu(def_101)"
 include "hu(def_qwertz)"
 include "hu(def_dot)"
 include "hu(def_nodead)"
 include "hu(def_common)"
 include "level3(ralt_switch)"
};





partial
xkb_symbols "101_qwerty_comma_dead" {
 name[Group1] = "Hungarian (101/QWERTY/comma/dead keys)";
 include "latin"
 include "hu(def_101)"
 include "hu(def_qwerty)"
 include "kpdl(comma)"
 include "hu(def_dead)"
 include "hu(def_common)"
 include "level3(ralt_switch)"
};





partial
xkb_symbols "101_qwerty_comma_nodead" {
 name[Group1] = "Hungarian (101/QWERTY/comma/no dead keys)";
 include "latin"
 include "hu(def_101)"
 include "hu(def_qwerty)"
 include "kpdl(comma)"
 include "hu(def_nodead)"
 include "hu(def_common)"
 include "level3(ralt_switch)"
};





partial
xkb_symbols "101_qwerty_dot_dead" {
 name[Group1] = "Hungarian (101/QWERTY/dot/dead keys)";
 include "latin"
 include "hu(def_101)"
 include "hu(def_qwerty)"
 include "hu(def_dot)"
 include "hu(def_dead)"
 include "hu(def_common)"
 include "level3(ralt_switch)"
};





partial
xkb_symbols "101_qwerty_dot_nodead" {
 name[Group1] = "Hungarian (101/QWERTY/dot/no dead keys)";
 include "latin"
 include "hu(def_101)"
 include "hu(def_qwerty)"
 include "hu(def_dot)"
 include "hu(def_nodead)"
 include "hu(def_common)"
 include "level3(ralt_switch)"
};





partial
xkb_symbols "102_qwertz_comma_dead" {
 name[Group1] = "Hungarian (102/QWERTZ/comma/dead keys)";
 include "latin"
 include "hu(def_102)"
 include "hu(def_qwertz)"
 include "kpdl(comma)"
 include "hu(def_dead)"
 include "hu(def_common)"
 include "level3(ralt_switch)"
};





partial
xkb_symbols "102_qwertz_comma_nodead" {
 name[Group1] = "Hungarian (102/QWERTZ/comma/no dead keys)";
 include "latin"
 include "hu(def_102)"
 include "hu(def_qwertz)"
 include "kpdl(comma)"
 include "hu(def_nodead)"
 include "hu(def_common)"
 include "level3(ralt_switch)"
};





partial
xkb_symbols "102_qwertz_dot_dead" {
 name[Group1] = "Hungarian (102/QWERTZ/dot/dead keys)";
 include "latin"
 include "hu(def_102)"
 include "hu(def_qwertz)"
 include "hu(def_dot)"
 include "hu(def_dead)"
 include "hu(def_common)"
 include "level3(ralt_switch)"
};





partial
xkb_symbols "102_qwertz_dot_nodead" {
 name[Group1] = "Hungarian (102/QWERTZ/dot/no dead keys)";
 include "latin"
 include "hu(def_102)"
 include "hu(def_qwertz)"
 include "hu(def_dot)"
 include "hu(def_nodead)"
 include "hu(def_common)"
 include "level3(ralt_switch)"
};





partial
xkb_symbols "102_qwerty_comma_dead" {
 name[Group1] = "Hungarian (102/QWERTY/comma/dead keys)";
 include "latin"
 include "hu(def_102)"
 include "hu(def_qwerty)"
 include "kpdl(comma)"
 include "hu(def_dead)"
 include "hu(def_common)"
 include "level3(ralt_switch)"
};





partial
xkb_symbols "102_qwerty_comma_nodead" {
 name[Group1] = "Hungarian (102/QWERTY/comma/no dead keys)";
 include "latin"
 include "hu(def_102)"
 include "hu(def_qwerty)"
 include "kpdl(comma)"
 include "hu(def_nodead)"
 include "hu(def_common)"
 include "level3(ralt_switch)"
};





partial
xkb_symbols "102_qwerty_dot_dead" {
 name[Group1] = "Hungarian (102/QWERTY/dot/dead keys)";
 include "latin"
 include "hu(def_102)"
 include "hu(def_qwerty)"
 include "hu(def_dot)"
 include "hu(def_dead)"
 include "hu(def_common)"
 include "level3(ralt_switch)"
};





partial
xkb_symbols "102_qwerty_dot_nodead" {
 name[Group1] = "Hungarian (102/QWERTY/dot/no dead keys)";
 include "latin"
 include "hu(def_102)"
 include "hu(def_qwerty)"
 include "hu(def_dot)"
 include "hu(def_nodead)"
 include "hu(def_common)"
 include "level3(ralt_switch)"
};





hidden partial alphanumeric_keys
xkb_symbols "def_102" {
 key <TLDE> { [ 0, section, notsign ] };
 key <LSGT> { [ iacute, Iacute, less, greater ] };

};



hidden partial alphanumeric_keys
xkb_symbols "def_101" {
 key <TLDE> { [ iacute, Iacute, 0, section ] };
 key <LSGT> { [ less, greater ] };
};



hidden partial alphanumeric_keys
xkb_symbols "def_qwertz" {
 key <AD06> { [ z, Z, endash ] };
 key <AB01> { [ y, Y, greater ] };
};




hidden partial alphanumeric_keys
xkb_symbols "def_qwerty" {
 key <AD06> { [ y, Y, endash ] };
 key <AB01> { [ z, Z, greater ] };
};




hidden partial keypad_keys 
xkb_symbols "def_dot" { 
 key <KPDL> { [ KP_Delete, KP_Decimal ] }; 
}; 




hidden partial alphanumeric_keys
xkb_symbols "def_dead" {
 key <AE01> { [ 1, apostrophe, asciitilde, dead_tilde ] };
 key <AE02> { [ 2, quotedbl, dead_caron, caron ] };
 key <AE03> { [ 3, plus, asciicircum, dead_circumflex ] };
 key <AE04> { [ 4, exclam, dead_breve, breve ] };
 key <AE05> { [ 5, percent, dead_abovering, degree ] };
 key <AE06> { [ 6, slash, dead_ogonek, ogonek ] };
 key <AE07> { [ 7, equal, grave, dead_grave ] };
 key <AE08> { [ 8, parenleft, dead_abovedot, abovedot ] };
 key <AE09> { [ 9, parenright, dead_acute, acute ] };
 key <AE10> { [ odiaeresis, Odiaeresis, dead_doubleacute, doubleacute ] };
 key <AE11> { [ udiaeresis, Udiaeresis, dead_diaeresis, diaeresis ] };
 key <AE12> { [ oacute, Oacute, dead_cedilla, cedilla ] };
};



hidden partial alphanumeric_keys
xkb_symbols "def_nodead" {
 key <AE01> { [ 1, apostrophe, asciitilde ] };
 key <AE02> { [ 2, quotedbl, caron ] };
 key <AE03> { [ 3, plus, asciicircum ] };
 key <AE04> { [ 4, exclam, breve ] };
 key <AE05> { [ 5, percent, degree ] };
 key <AE06> { [ 6, slash, ogonek ] };
 key <AE07> { [ 7, equal, grave ] };
 key <AE08> { [ 8, parenleft, abovedot ] };
 key <AE09> { [ 9, parenright, acute ] };
 key <AE10> { [ odiaeresis, Odiaeresis, doubleacute ] };
 key <AE11> { [ udiaeresis, Udiaeresis, diaeresis ] };
 key <AE12> { [ oacute, Oacute, cedilla ] };
};




hidden partial alphanumeric_keys
xkb_symbols "def_common" {
 key <AD01> { [ q, Q, backslash ] };
 key <AD02> { [ w, W, bar ] };
 key <AD03> { [ e, E, Adiaeresis ] };
 key <AD07> { [ u, U, EuroSign ] };
 key <AD08> { [ i, I, Iacute, iacute ] };
 key <AD09> { [ o, O, doublelowquotemark ] };
 key <AD10> { [ p, P, rightdoublequotemark ] };
 key <AD11> { [ odoubleacute, Odoubleacute, division ] };
 key <AD12> { [ uacute, Uacute, multiply ] };

 key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
 key <AC02> { [ s, S, dstroke ] };
 key <AC03> { [ d, D, Dstroke ] };
 key <AC04> { [ f, F, bracketleft ] };
 key <AC05> { [ g, G, bracketright ] };
 key <AC07> { [ j, J, iacute, Iacute ] };
 key <AC08> { [ k, K, lstroke ] };
 key <AC09> { [ l, L, Lstroke ] };
 key <AC10> { [ eacute, Eacute, dollar, cent ] };
 key <AC11> { [ aacute, Aacute, ssharp, U1E9E ] };

 key <BKSL> { [ udoubleacute, Udoubleacute, currency ] };

 key <AB02> { [ x, X, numbersign ] };
 key <AB03> { [ c, C, ampersand ] };
 key <AB04> { [ v, V, at ] };
 key <AB05> { [ b, B, braceleft ] };
 key <AB06> { [ n, N, braceright ] };
 key <AB07> { [ m, M, less ] };
 key <AB08> { [ comma, question, semicolon ] };
 key <AB09> { [ period, colon, greater ] };
 key <AB10> { [ minus, underscore, asterisk ] };

};






















partial alphanumeric_keys
xkb_symbols "oldhun" {
name[Group1]="Old Hungarian";
include "level3(ralt_switch)"
key.type[Group1]="FOUR_LEVEL_ALPHABETIC";

 key <AE01> {[U10CFA, apostrophe, U2E42, 1 ]};

 
 key <AE02> {[ U10CFB, quotedbl,U201F, 2]};

 
 key <AE03> {[ U10CFC, plus,minus, 3]};

 
 key <AE04> {[ U10CFD, exclam, U203C, 4]};

 
 key <AE05> {[ U10CFE, percent,U2026, 5]};

 
 key <AE06> {[ U10CFF, slash, backslash,6]};

 
 key <AE07> {[U10CC6, U10C86, equal,7]};

 
 key <AE08> {[ U10CDA, U10C9A, parenleft,8]};

 
 key <AE09> {[U10CE8, U10CA8, parenright,9 ]};

 
 key <AE10> {[ U10CDE, U10C9E, U10CDD, U10C9D ]};

 
 key <AE11> {[U10CED, U10CAD ]};

 
 key <AE12> {[U10CDC, U10C9C ]};

 
 key <AD01> {[U10CCE, U10C8E, backslash ]};

 
 key <AD02> {[U10CF0, U10CB0 ]}; 

 
 key <AD03> {[U10CC9, U10C89, U10CCA, U10C8A ]};
 
 
 key <AD04> {[U10CE2, U10CA2, U10CE3, U10CA3 ]};

 
 key <AD05> {[ U10CE6, U10CA6, U10CF1, U10CB1 ]};

 
 key <AD06> {[U10CEF, U10CAF ]};

 
 key <AD07> {[U10CEA, U10CAA, U10CF2, U10CB2 ]};

 
 key <AD08> {[U10CD0, U10C90 ]};

 
 key <AD09> {[U10CDB, U10C9B ]};

 
 key <AD10> {[U10CE0, U10CA0 ]};

 
 key <AD11> {[U10CDF, U10C9F ]};

 
 key <AD12> {[ U10CEB, U10CAB, U10CD5, U10C95]};

 
 key <AC01> {[ U10CC0 , U10C80, U10CC3, U10C83 ]};

 
 key <AC02> {[U10CE4, U10CA4, U10CE1, U10CA1 ]};

 
 key <AC03> {[ U10CC7, U10C87, U10CE7, U10CA7 ]};

 
 key <AC04> {[U10CCC, U10C8C, bracketleft]};

 
 key <AC05> {[ U10CCD, U10C8D, bracketright ]};

 
 key <AC06> {[ U10CCF, U10C8F, U10CE9, U10CA9 ]};

 
 
 key <AC07> {[ U10CD2, U10C92, backslash ]};

 
 key <AC08> {[U10CD3, U10C93, U10CD4, U10C94 ]};

 
 key <AC09> {[U10CD6, U10C96 ]};

 
 key <AC10> {[U10CCB, U10C8B ]};

 
 key <AC11> {[U10CC1, U10C81 , U10CC8, U10C88]};

 
 
 key <BKSL> {[U10CEC, U10CAC ]};

 
 key <AB01> {[ U10CD7, U10C97, greater ]};

 
 key <AB02> {[ U10CE5, U10CA5, numbersign ]};

 
 key <AB03> {[ U10CC4, U10C84, U10CC5, U10C85 ]};

 
 key <AB04> {[U10CEE, U10CAE, at ]};

 
 key <AB05> {[U10CC2, U10C82, braceleft ]};

 
 key <AB06> { [ U10CD9, U10C99 , braceright ]};

 
 key <AB07> {[ U10CD8, U10C98 , less ]};

 
 key <AB08> {[U2E41, U2E2E, U204F ]};

 
 key <AB09> {[period, colon, greater ]};
 
 key <AB10> {[minus, underscore, asterisk ]};
 
 key <LSGT> {[U10CD1, U10C91, less ]};

 
 key <TLDE> {[ section, U200F, U200E, 0]};


 };
