Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 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 <[email protected]>
- // (C) 2010 Andras Timar <[email protected]>
- // (C) 2012 Kasza Péter <[email protected]>
- //
- // 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
- // 2012-03-09 - Added hungarian colemak variants
- // Default layout
- default partial
- xkb_symbols "basic" {
- include "hu(102_qwertz_comma_dead)"
- name[Group1] = "Hungarian";
- };
- // Default layout with colemak keys
- partial
- xkb_symbols "basic_colemak" {
- include "hu(102_qwertz_comma_dead)"
- include "hu(colemak)"
- name[Group1] = "Hungarian Colemak";
- };
- // Standard layout
- partial
- xkb_symbols "standard" {
- include "hu(102_qwertz_comma_dead)"
- name[Group1] = "Hungarian (standard)";
- };
- // Standard layout with colemak keys
- partial
- xkb_symbols "standard_colemak" {
- include "hu(102_qwertz_comma_dead)"
- include "hu(colemak)"
- name[Group1] = "Hungarian Colemak (standard)";
- };
- // Standard layout without dead key support
- partial
- xkb_symbols "nodeadkeys" {
- include "hu(102_qwertz_comma_nodead)"
- name[Group1] = "Hungarian (eliminate dead keys)";
- };
- // Standard layout without dead key support with colemak keys
- partial
- xkb_symbols "nodeadkeys" {
- include "hu(102_qwertz_comma_nodead)"
- include "hu(colemak)"
- name[Group1] = "Hungarian Colemak (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 <TLDE> { [ 0, section, notsign ] };
- key <LSGT> { [ iacute, Iacute, less, greater ] };
- };
- // def_101:
- // An alternative layout for 101 key keyboards
- hidden partial alphanumeric_keys
- xkb_symbols "def_101" {
- key <TLDE> { [ iacute, Iacute, 0, section ] };
- key <LSGT> { [ less, greater ] };
- };
- // def_qwertz:
- // The standard Hungaryan qwertz layout
- hidden partial alphanumeric_keys
- xkb_symbols "def_qwertz" {
- key <AD06> { [ z, Z, endash ] };
- key <AB01> { [ 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 <AD06> { [ y, Y, endash ] };
- key <AB01> { [ 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 <KPDL> { [ KP_Delete, KP_Decimal ] };
- };
- // def_dead:
- // Dead keys support part
- 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 ] };
- };
- // def_nodead:
- // Without dead keys support
- 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 ] };
- };
- // def_common:
- // The common part of all Hungarian layout above
- hidden partial alphanumeric_keys
- xkb_symbols "def_common" {
- key <AD01> { [ q, Q, backslash ] };
- key <AD02> { [ w, W, bar ] };
- 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 ] };
- 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 ] };
- };
- // Hungarian colemak variant
- hidden partial alphanumeric_keys
- xkb_symbols "colemak" {
- // Alphanumeric section
- key <AD01> { [ q, Q ] };
- key <AD02> { [ w, W ] };
- key <AD03> { [ f, F ] };
- key <AD04> { [ p, P ] };
- key <AD05> { [ g, G ] };
- key <AD06> { [ j, J ] };
- key <AD07> { [ l, L ] };
- key <AD08> { [ u, U ] };
- key <AD09> { [ y, Y ] };
- key <AD10> { [ eacute, Eacute ] };
- key <AC01> { [ a, A ] };
- key <AC02> { [ r, R ] };
- key <AC03> { [ s, S ] };
- key <AC04> { [ t, T ] };
- key <AC05> { [ d, D ] };
- key <AC06> { [ h, H ] };
- key <AC07> { [ n, N ] };
- key <AC08> { [ e, E ] };
- key <AC09> { [ i, I ] };
- key <AC10> { [ o, O ] };
- key <AB01> { [ z, Z ] };
- key <AB02> { [ x, X ] };
- key <AB03> { [ c, C ] };
- key <AB04> { [ v, V ] };
- key <AB05> { [ b, B ] };
- key <AB06> { [ k, K ] };
- key <AB07> { [ m, M ] };
- key <CAPS> { [ BackSpace, BackSpace, BackSpace, BackSpace ] };
- };
Advertisement
Add Comment
Please, Sign In to add comment