// New style XKB layout for some widely used Hungarian keyboard layouts // // Based on old style 'xkb/symbols/hu" // // (C) 2002-2004 Soós Péter // (C) 2010 Andras Timar // // Permission is granted to anyone to use, distribute and modify // this file in any way, provided that the above copyright notice // is left intact and the author of the modification summarizes // the changes in this header. // // This file is distributed without any expressed or implied warranty. // // Changes: // 2004-04-17 - Moved to new style (only Unicode based layouts) // - Added consistent dead key support // - Fixed abovedot // - Added adiaeresis // - Added EuroSign and cent symbol // 2010-04-23 - Added doublelowquotemark // - Added rightdoublequotemark // - Added endash // 2010-05-13 - Added ellipsis // Default layout default partial xkb_symbols "basic" { include "hu(102_qwertz_comma_dead)" name[Group1] = "Hungarian"; }; // Standard layout partial xkb_symbols "standard" { include "hu(102_qwertz_comma_dead)" name[Group1] = "Hungarian (standard)"; }; // Standard layout without dead key support partial xkb_symbols "nodeadkeys" { include "hu(102_qwertz_comma_nodead)" name[Group1] = "Hungarian (eliminate dead keys)"; }; // Qwerty layout partial xkb_symbols "qwerty" { include "hu(101_qwerty_comma_dead)" name[Group1] = "Hungarian (qwerty)"; }; // Main layouts // 101_qwertz_comma_dead // 101 key qwertz layout // with decimal comma on keypad // and with dead key support 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)" }; // 101_qwertz_comma_nodead // 101 key qwertz layout // with decimal comma on keypad // and without dead key support partial xkb_symbols "101_qwertz_comma_nodead" { name[Group1] = "Hungarian (101/qwertz/comma/eliminate 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)" }; // 101_qwertz_dot_dead // 101 key qwertz layout // with decimal dot on keypad // and with dead key support 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)" }; // 101_qwertz_dot_nodead // 101 key qwertz layout // with decimal dot on keypad // and without dead key support partial xkb_symbols "101_qwertz_dot_nodead" { name[Group1] = "Hungarian (101/qwertz/dot/eliminate 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)" }; // 101_qwerty_comma_dead // 101 key qwerty layout // with decimal comma on keypad // and with dead key support 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)" }; // 101_qwerty_comma_nodead // 101 key qwerty layout // with decimal comma on keypad // and without dead key support partial xkb_symbols "101_qwerty_comma_nodead" { name[Group1] = "Hungarian (101/qwerty/comma/eliminate 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)" }; // 101_qwerty_dot_dead // 101 key qwerty layout // with decimal dot on keypad // and with dead key support 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)" }; // 101_qwerty_dot_nodead // 101 key qwerty layout // with decimal dot on keypad // and without dead key support partial xkb_symbols "101_qwerty_dot_nodead" { name[Group1] = "Hungarian (101/qwerty/dot/eliminate 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)" }; // 102_qwertz_comma_dead // 102 key qwertz layout // with decimal comma on keypad // and with dead key support 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)" }; // 102_qwertz_comma_nodead // 102 key qwertz layout // with decimal comma on keypad // and without dead key support partial xkb_symbols "102_qwertz_comma_nodead" { name[Group1] = "Hungarian (102/qwertz/comma/eliminate 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)" }; // 102_qwertz_dot_dead // 102 key qwertz layout // with decimal dot on keypad // and with dead key support 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)" }; // 102_qwertz_dot_nodead // 102 key qwertz layout // with decimal dot on keypad // and without dead key support partial xkb_symbols "102_qwertz_dot_nodead" { name[Group1] = "Hungarian (102/qwertz/dot/eliminate 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)" }; // 102_qwerty_comma_dead // 102 key qwerty layout // with decimal comma on keypad // and with dead key support 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)" }; // 102_qwerty_comma_nodead // 102 key qwerty layout // with decimal comma on keypad // and without dead key support partial xkb_symbols "102_qwerty_comma_nodead" { name[Group1] = "Hungarian (102/qwerty/comma/eliminate 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)" }; // 102_qwerty_dot_dead // 102 key qwerty layout // with decimal dot on keypad // and with dead key support 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)" }; // 102_qwerty_dot_nodead // 102 key qwerty layout // with decimal dot on keypad // and without dead key support partial xkb_symbols "102_qwerty_dot_nodead" { name[Group1] = "Hungarian (102/qwerty/dot/eliminate 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)" }; // Partial layouts // def_102: // The standard Hungarian 102 key layout hidden partial alphanumeric_keys xkb_symbols "def_102" { key { [ 0, section, notsign ] }; key { [ iacute, Iacute, less, greater ] }; }; // def_101: // An alternative layout for 101 key keyboards hidden partial alphanumeric_keys xkb_symbols "def_101" { key { [ iacute, Iacute, 0, section ] }; key { [ less, greater ] }; }; // def_qwertz: // The standard Hungaryan qwertz layout hidden partial alphanumeric_keys xkb_symbols "def_qwertz" { key { [ z, Z, endash ] }; key { [ y, Y, greater ] }; }; // def_qwerty: // The qwerty layout for people who familiar with the standard US layout hidden partial alphanumeric_keys xkb_symbols "def_qwerty" { key { [ y, Y, endash ] }; key { [ z, Z, greater ] }; }; // def_dot: // The Hungarian standard is the comma on the keypad not decimal dot, // but programmers hate it hidden partial keypad_keys xkb_symbols "def_dot" { key { [ KP_Delete, KP_Decimal ] }; }; // def_dead: // Dead keys support part hidden partial alphanumeric_keys xkb_symbols "def_dead" { key { [ 1, apostrophe, asciitilde, dead_tilde ] }; key { [ 2, quotedbl, dead_caron, caron ] }; key { [ 3, plus, asciicircum, dead_circumflex ] }; key { [ 4, exclam, dead_breve, breve ] }; key { [ 5, percent, dead_abovering, degree ] }; key { [ 6, slash, dead_ogonek, ogonek ] }; key { [ 7, equal, grave, dead_grave ] }; key { [ 8, parenleft, dead_abovedot, abovedot ] }; key { [ 9, parenright, dead_acute, acute ] }; key { [ odiaeresis, Odiaeresis, dead_doubleacute, doubleacute ] }; key { [ udiaeresis, Udiaeresis, dead_diaeresis, diaeresis ] }; key { [ oacute, Oacute, dead_cedilla, cedilla ] }; }; // def_nodead: // Without dead keys support hidden partial alphanumeric_keys xkb_symbols "def_nodead" { key { [ 1, apostrophe, asciitilde ] }; key { [ 2, quotedbl, caron ] }; key { [ 3, plus, asciicircum ] }; key { [ 4, exclam, breve ] }; key { [ 5, percent, degree ] }; key { [ 6, slash, ogonek ] }; key { [ 7, equal, grave ] }; key { [ 8, parenleft, abovedot ] }; key { [ 9, parenright, acute ] }; key { [ odiaeresis, Odiaeresis, doubleacute ] }; key { [ udiaeresis, Udiaeresis, diaeresis ] }; key { [ oacute, Oacute, cedilla ] }; }; // def_common: // The common part of all Hungarian layout above hidden partial alphanumeric_keys xkb_symbols "def_common" { key { [ q, Q, backslash ] }; key { [ w, W, bar ] }; key { [ u, U, EuroSign ] }; key { [ i, I, Iacute, iacute ] }; key { [ o, O, doublelowquotemark ] }; key { [ p, P, rightdoublequotemark ] }; key { [ odoubleacute, Odoubleacute, division ] }; key { [ uacute, Uacute, multiply ] }; key { [ a, A, adiaeresis, Adiaeresis ] }; key { [ s, S, dstroke ] }; key { [ d, D, Dstroke ] }; key { [ f, F, bracketleft ] }; key { [ g, G, bracketright ] }; key { [ j, J, iacute, Iacute ] }; key { [ k, K, lstroke ] }; key { [ l, L, Lstroke ] }; key { [ eacute, Eacute, dollar, cent ] }; key { [ aacute, Aacute, ssharp ] }; key { [ udoubleacute, Udoubleacute, currency ] }; key { [ x, X, numbersign ] }; key { [ c, C, ampersand ] }; key { [ v, V, at ] }; key { [ b, B, braceleft ] }; key { [ n, N, braceright ] }; key { [ m, M, less ] }; key { [ comma, question, semicolon ] }; key { [ period, colon, greater ] }; key { [ minus, underscore, asterisk ] }; };