// Hungarian keyboard symbols for XKB and PC keyboard // // (C) 2002 Peter Soos // // 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. // // It describes the differences between a very simple US/ASCII keyboard // layout and some widely used Hungarian keyboard layouts. // Tested on Linux with XFree86 3.3.6 // // $XFree86: xc/programs/xkbcomp/symbols/hu,v 1.7 2002/12/13 04:18:03 dawes Exp $ // Default layout default partial xkb_symbols "default" { include "hu(102_qwertz_comma)" }; // Standard layout partial xkb_symbols "standard" { include "hu(102_qwertz_comma)" }; // Main layouts // 101_qwertz_comma: // Unicode based 101 key qwertz layout with decimal comma on keypad // You have to set your locale settings (at least LC_CTYPE) to hu_HU. partial xkb_symbols "101_qwertz_comma" { name[Group1] = "Hungarian"; include "hu(def_uni)" include "hu(def_101)" include "hu(def_qwertz)" include "hu(def_comma)" include "hu(def_common)" }; // 101_qwertz_dot: // Unicode based 101 key qwertz layout with decimal dot on keypad // You have to set your locale settings (at least LC_CTYPE) to hu_HU. partial xkb_symbols "101_qwertz_dot" { name[Group1] = "Hungarian"; include "hu(def_uni)" include "hu(def_101)" include "hu(def_qwertz)" include "hu(def_dot)" include "hu(def_common)" }; // 101_qwerty_comma: // Unicode based 101 key qwerty layout with decimal comma on keypad // You have to set your locale settings (at least LC_CTYPE) to hu_HU. partial xkb_symbols "101_qwerty_comma" { name[Group1] = "Hungarian"; include "hu(def_uni)" include "hu(def_101)" include "hu(def_qwerty)" include "hu(def_comma)" include "hu(def_common)" }; // 101_qwerty_dot: // Unicode based 101 key qwerty layout with decimal dot on keypad // You have to set your locale settings (at least LC_CTYPE) to hu_HU. partial xkb_symbols "101_qwerty_dot" { name[Group1] = "Hungarian"; include "hu(def_uni)" include "hu(def_101)" include "hu(def_qwerty)" include "hu(def_dot)" include "hu(def_common)" }; // 102_qwertz_comma: // Unicode based 102 key qwertz layout with decimal comma on keypad // You have to set your locale settings (at least LC_CTYPE) to hu_HU. partial xkb_symbols "102_qwertz_comma" { name[Group1] = "Hungarian"; include "hu(def_uni)" include "hu(def_102)" include "hu(def_qwertz)" include "hu(def_comma)" include "hu(def_common)" }; // 102_qwertz_dot: // Unicode based 102 key qwertz layout with decimal dot on keypad // You have to set your locale settings (at least LC_CTYPE) to hu_HU. partial xkb_symbols "102_qwertz_dot" { name[Group1] = "Hungarian"; include "hu(def_uni)" include "hu(def_102)" include "hu(def_qwertz)" include "hu(def_dot)" include "hu(def_common)" }; // 102_qwerty_comma: // Unicode based 102 key qwerty layout with decimal comma on keypad // You have to set your locale settings (at least LC_CTYPE) to hu_HU. partial xkb_symbols "102_qwerty_comma" { name[Group1] = "Hungarian"; include "hu(def_uni)" include "hu(def_102)" include "hu(def_qwerty)" include "hu(def_comma)" include "hu(def_common)" }; // 102_qwerty_dot: // Unicode based 102 key qwerty layout with decimal dot on keypad // You have to set your locale settings (at least LC_CTYPE) to hu_HU. partial xkb_symbols "102_qwerty_dot" { name[Group1] = "Hungarian"; include "hu(def_uni)" include "hu(def_102)" include "hu(def_qwerty)" include "hu(def_dot)" include "hu(def_common)" }; // Partial layouts // def_uni: // Unicode based Hungarian keybaord. hidden partial alphanumeric_keys xkb_symbols "def_uni" { key { [ u, U ], [ EuroSign ] }; key { [ s, S ], [ dstroke ] }; key { [ d, D ], [ Dstroke ] }; key { [ k, K ], [ lstroke ] }; key { [ l, L ], [ Lstroke ] }; key { [ odoubleacute, Odoubleacute ], [ division ] }; key { [ udoubleacute, Udoubleacute ], [ currency ] }; }; // def_102: // The standard Hungarian 102 key layout hidden partial alphanumeric_keys xkb_symbols "def_102" { key { [ 0, section ], [ notsign ] }; }; // def_101: // An alternative layout for 101 key keyboards hidden partial alphanumeric_keys xkb_symbols "def_101" { key { [ iacute, Iacute ], [ 0, section ] }; }; // def_qwertz: // The standard Hungaryan qwertz layout hidden partial alphanumeric_keys xkb_symbols "def_qwertz" { key { [ y, Y ], [ greater ] }; key { [ z, Z ] }; }; // def_qwerty: // The qwerty layout for people who familiar with the standard US layout hidden partial alphanumeric_keys xkb_symbols "def_qwerty" { key { [ z, Z ], [ greater ] }; key { [ y, Y ] }; }; // def_comma: // The Hungarian standard is the comma on the keypad not decimal dot hidden partial keypad_keys xkb_symbols "def_comma" { key { [ KP_Delete, KP_Separator ] }; }; // 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_common: // The common part of all Hungarian layout above hidden partial alphanumeric_keys modifier_keys xkb_symbols "def_common" { // Alphanumeric section 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, degree ] }; key { [ 9, parenright ], [ dead_acute, acute ] }; key { [ odiaeresis, Odiaeresis ], [ dead_doubleacute, doubleacute ] }; key { [ udiaeresis, Udiaeresis ], [ dead_diaeresis, diaeresis ] }; key { [ oacute, Oacute ], [ dead_cedilla, cedilla ] }; key { [ q, Q ], [ backslash ] }; key { [ w, W ], [ bar ] }; key { [ i, I ], [ Iacute ] }; key { [ uacute, Uacute ], [ multiply ] }; key { [ f, F ], [ bracketleft ] }; key { [ g, G ], [ bracketright ] }; key { [ j, J ], [ iacute ] }; key { [ eacute, Eacute ], [ dollar ] }; key { [ aacute, Aacute ], [ ssharp ] }; key { [ iacute, Iacute ], [ less ] }; 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 ] }; key { [ Mode_switch, Multi_key ] }; key { [ Alt_L, Meta_L ] }; // End alphanumeric section // begin modifier mappings modifier_map Shift { Shift_L }; modifier_map Lock { Caps_Lock }; modifier_map Control{ Control_L }; modifier_map Mod3 { Mode_switch }; }; partial xkb_symbols "Sundeadkeys" { include "hu(default)" // for consistent naming }; partial xkb_symbols "sundeadkeys" { include "hu(Sundeadkeys)" // for consistent naming }; partial xkb_symbols "nodeadkeys" { // modify the default Hungarian layout to not have any dead keys include "hu(default)" 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 ] }; };