


























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 (QWERTZ, 101-key, 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 (QWERTZ, 101-key, 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 (QWERTZ, 101-key, 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 (QWERTZ, 101-key, 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 (QWERTY, 101-key, 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 (QWERTY, 101-key, 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 (QWERTY, 101-key, 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 (QWERTY, 101-key, 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 (QWERTZ, 102-key, 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 (QWERTZ, 102-key, 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 (QWERTZ, 102-key, 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 (QWERTZ, 102-key, 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 (QWERTY, 102-key, 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 (QWERTY, 102-key, 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 (QWERTY, 102-key, 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 (QWERTY, 102-key, 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 "hu(oldhun_base)"
include "hu(oldhun_origin)"
include "hu(oldhun_magic_numpad)"
include "level3(ralt_switch)"
};


partial alphanumeric_keys
xkb_symbols "oldhunlig" {
name[Group1]="Old Hungarian (for ligatures)";
include "hu(oldhun_base)"
include "hu(oldhun_lig)"
include "hu(oldhun_magic_numpad)"
include "level3(ralt_switch)"
};



hidden partial alphanumeric_keys
xkb_symbols "oldhun_base" { 
key.type[Group1]="FOUR_LEVEL_ALPHABETIC";
 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, U10CD1, U10C91 ]};

 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 ]};

};



hidden partial alphanumeric_keys
xkb_symbols "oldhun_origin" {
key.type[Group1]="FOUR_LEVEL_ALPHABETIC";
 key <TLDE> {[ section, U200F, U200E, 0 ]};

 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, section ]};

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

};



hidden partial alphanumeric_keys
xkb_symbols "oldhun_lig" {
key.type[Group1]="FOUR_LEVEL_ALPHABETIC";
 key <TLDE> {[ U200D, U200F, U200C, 0 ]};


 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, section ]};

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

};



hidden partial keypad_keys
xkb_symbols "oldhun_magic_numpad" {
 key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD";
 key <NMLK> {[ Num_Lock, Num_Lock, Num_Lock, Num_Lock ]};
 key <KP0> {[ KP_Insert, KP_0, U200C, U200C ]};

 key <KP7> {[ KP_Home, KP_7, U10CFA, U10CFA ]};

 key <KP8> {[ KP_Up, KP_8, U10CFB, U10CFB ]};

 key <KP9> {[ KP_Prior, KP_9, U10CFC, U10CFC ]};

 key <KP4> {[ KP_Left, KP_4, U10CFD, U10CFD ]};

 key <KP5> {[ KP_Begin, KP_5, U10CFE, U10CFE ]};

 key <KP6> {[ KP_Right, KP_6, U10CFF, U10CFF ]};

 key <KP1> {[ KP_End, KP_1, U200F, U200F ]};

 key <KP2> {[ KP_Down, KP_2, U200D, U200D ]};

 key <KP3> {[ KP_Next, KP_3, U200E, U200E ]};

 key <KPEN> {[ KP_Enter, KP_Enter, KP_Enter, KP_Enter ]};
 key <KPEQ> {[ KP_Equal, KP_Equal, KP_Equal, KP_Equal ]};
 key <KPDL> {[ KP_Delete, KP_Separator, KP_Delete, KP_Separator ]};
 key <KPPT> {[ KP_Separator, KP_Separator, KP_Separator, KP_Separator ]};
 key <KPDV> {[ KP_Divide, KP_Divide, KP_Divide, KP_Divide ]};
 key <KPMU> {[ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply ]};
 key <KPSU> {[ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract ]};
 key <KPAD> {[ KP_Add, KP_Add, KP_Add, KP_Add ]};
};
