$Id: 099j_xkb_new_layouts.diff 1943 2004-10-12 12:15:09Z barbier $ This patch by Denis Barbier. rules/xfree86: + Remove ca, hu, mn and vn layouts from $oldlayouts. + Remove special case that causes PC keyboard models with the us_intl layout to load the us layout and add the us_intl layout to it. symbols/group: + Add "rctrl_switch" needed by the ca layout. symbols/keypad: + Add "comma" needed by the hu layout. symbols/pc/Imakefile: + Add ca, ch, hu, jp, mn and vn. symbols/pc/us: + Add two new variants: 'intl' and 'alt-intl'. The latter is a strict replacement for us_intl, which will become obsolete soon. Providing all alternatives will help users to migrate to the new files. Layouts were taken (2004-10-08) from http://freedesktop.org/cgi-bin/viewcvs.cgi/xlibs/xkbdesc/symbols/ and customized to fix include paths. diff -ruN xc-old/programs/xkbcomp/rules/xorg xc/programs/xkbcomp/rules/xorg --- xc-old/programs/xkbcomp/rules/xorg 2004-10-26 12:42:17.224219000 +0000 +++ xc/programs/xkbcomp/rules/xorg 2004-10-26 12:47:14.277060976 +0000 @@ -8,7 +8,7 @@ // // Layouts that still need be composed by old rules -! $oldlayouts = az bs ca ca_enhanced de_CH fr_CH hu hu_qwerty lt_std mn vn hr_US +! $oldlayouts = az bs ca_enhanced de_CH fr_CH hu_qwerty lt_std hr_US // If you want non-latin layouts implicitly include the en_US layout // uncomment lines below @@ -76,12 +76,15 @@ $mac * = macintosh/us(extended)+macintosh/%l%(v) $pcmodels intl = us(%mcompose) * intl = us(pc104compose) - * jp = jp $pcmodels $oldlayouts = en_US(%m)+%l%(v) $pcmodels $nonlatin = pc/pc(%m)+pc/us+pc/%l%(v):2 + $pcmodels ca = pc/pc(%m)+pc/ca(multi)+pc/ca(multi-2gr):2+group(rctrl_switch) + $pcmodels jp = pc/pc(pc102)+pc/jp(latin)+pc/jp:2 $pcmodels * = pc/pc(%m)+pc/%l%(v) * $oldlayouts = en_US(pc105)+%l%(v) * $nonlatin = pc/pc(pc105)+pc/us+pc/%l%(v):2 + * ca = pc/pc(pc105)+pc/ca(multi)+pc/ca(multi-2gr):2+group(rctrl_switch) + * jp = pc/pc(pc102)+pc/jp(latin)+pc/jp:2 * * = pc/pc(pc105)+pc/%l%(v) ! model layout[1] = symbols diff -ruN xc-old/programs/xkbcomp/symbols/group xc/programs/xkbcomp/symbols/group --- xc-old/programs/xkbcomp/symbols/group 2004-10-26 12:42:17.173227000 +0000 +++ xc/programs/xkbcomp/symbols/group 2004-10-26 12:42:51.692979824 +0000 @@ -63,6 +63,15 @@ }; }; +// Right Ctrl key temporary chooses the second keyboard group. +// Needed mainly for Canadian keyboard +partial modifier_keys +xkb_symbols "rctrl_switch" { + key { + symbols[Group1]= [ Mode_switch ] + }; +}; + // using the group(toggle) map, pressing the right alt key switches to // the next sequential group (until the next explicit group change). partial modifier_keys diff -ruN xc-old/programs/xkbcomp/symbols/keypad xc/programs/xkbcomp/symbols/keypad --- xc-old/programs/xkbcomp/symbols/keypad 2003-11-14 16:49:23.000000000 +0000 +++ xc/programs/xkbcomp/symbols/keypad 2004-10-26 12:42:51.692979824 +0000 @@ -79,3 +79,10 @@ // End "Keypad" section }; + +// Some national standards use comma on the keypad instead of decimal dot +partial keypad_keys +xkb_symbols "comma" { + key { [ KP_Delete, KP_Separator ] }; +}; + diff -ruN xc-old/programs/xkbcomp/symbols/pc/Imakefile xc/programs/xkbcomp/symbols/pc/Imakefile --- xc-old/programs/xkbcomp/symbols/pc/Imakefile 2004-04-23 19:54:55.000000000 +0000 +++ xc/programs/xkbcomp/symbols/pc/Imakefile 2004-10-26 12:48:57.204413640 +0000 @@ -4,16 +4,17 @@ DATAFILES = al am ar \ be ben bg br by \ - cz cz_qwerty \ + ca ch cz cz_qwerty \ de dev dk dvorak dz \ ee el en_US es \ fi fr fr-latin9 \ gb ge_la ge_ru guj gur \ - hr \ + hr hu \ ie il il_phonetic ir is it iu \ + jp \ kan \ la latin lo lt lv \ - mk ml mm mt mt_us \ + mk ml mm mn mt mt_us \ nl no \ ogham ori \ pc pl pl2 pt \ @@ -21,6 +22,7 @@ sapmi se se_FI se_NO se_SE si sk sk_qwerty sr syr syr_phonetic \ tel th th_tis th_pat tj tml tr \ ua us us_intl uz \ + vn \ yu all:: diff -ruN xc-old/programs/xkbcomp/symbols/pc/ca xc/programs/xkbcomp/symbols/pc/ca --- xc-old/programs/xkbcomp/symbols/pc/ca 1970-01-01 00:00:00.000000000 +0000 +++ xc/programs/xkbcomp/symbols/pc/ca 2004-10-26 12:42:51.693979672 +0000 @@ -0,0 +1,204 @@ + +default partial +xkb_symbols "fr" { + name[Group1] = "Canadian French"; + + key { [ numbersign, bar, backslash ] }; + key { [ 1, exclam, plusminus ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, slash, sterling ] }; + key { [ 4, dollar, cent ] }; + key { [ 5, percent, currency ] }; + key { [ 6, question, notsign ] }; + key { [ 7, ampersand, brokenbar ] }; + key { [ 8, asterisk, twosuperior ] }; + key { [ 9, parenleft, threesuperior ] }; + key { [ 0, parenright, onequarter ] }; + key { [ minus, underscore, onehalf ] }; + key { [ equal, plus, threequarters ] }; + + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E ] }; + key { [ r, R ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ o, O, section ] }; + key { [ p, P, paragraph ] }; + key { [dead_circumflex, dead_circumflex, bracketleft ] }; + key { [ dead_cedilla, dead_diaeresis, bracketright ] }; + + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ semicolon, colon, asciitilde ] }; + key { [dead_grave, dead_grave, braceleft ] }; + key { [ less, greater, braceright ] }; + + key { [guillemotleft, guillemotright, degree] }; + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M, mu ] }; + key { [ comma, apostrophe, macron ] }; + key { [ period, period, hyphen ] }; + key { [ eacute, Eacute, dead_acute ] }; + + key { [ space, space, nobreakspace ] }; + + include "level3(ralt_switch)" +}; + +partial +xkb_symbols "fr-legacy" { + + name[Group1] = "Canadian French (Legacy)"; + + include "pc/ca(fr)" + + key { [ degree, degree, notsign ] }; + key { [ 1, exclam, onesuperior ] }; + + key { [ 3, numbersign, threesuperior ] }; + key { [ 4, dollar, onequarter ] }; + key { [ 5, percent, onehalf ] }; + key { [ 6, question, threequarters ] }; + key { [ 7, ampersand, braceleft ] }; + key { [ 8, asterisk, bracketleft ] }; + key { [ 9, parenleft, bracketright, plusminus ] }; + key { [ 0, parenright, braceright ] }; + key { [ minus, underscore, bar, questiondown] }; + key { [ equal, plus, dead_cedilla ] }; + + key { [ r, R, paragraph, registered ] }; + key { [ y, Y, yen ] }; + key { [ o, O, oslash, Ooblique ] }; + key { [ p, P, thorn, THORN ] }; + key { [dead_circumflex, dead_circumflex, degree ] }; + key { [ ccedilla, Ccedilla, dead_tilde, dead_diaeresis ] }; + + key { [ a, A, ae, AE ] }; + key { [ s, S, ssharp, section ] }; + key { [ d, D, eth, ETH ] }; + key { [ f, F, ordfeminine ] }; + key { [ semicolon, colon, dead_acute, dead_acute ] }; + key { [ egrave, Egrave ] }; + key { [ agrave, Agrave, dead_grave ] }; + + key { [ ugrave, Ugrave, backslash, bar ] }; + key { [ z, Z, guillemotleft ] }; + key { [ x, X, guillemotright ] }; + key { [ c, C, cent, copyright ] }; + key { [ m, M, mu, masculine ] }; + key { [ comma, apostrophe, less ] }; + key { [ period, period, greater ] }; + key { [ eacute, Eacute, slash ] }; +}; + +partial +xkb_symbols "multi" { + + name[Group1] = "Canadian Multilingual"; + + include "pc/ca(fr)" + + key { [ slash, backslash, bar ] }; + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, question ] }; + key { [ 7, ampersand, braceleft ] }; + key { [ 8, asterisk, braceright ] }; + key { [ 9, parenleft, bracketleft ] }; + key { [ 0, parenright, bracketright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus, notsign ] }; + + key { [ o, O ] }; + key { [ p, P ] }; + key { [dead_circumflex, dead_diaeresis, dead_grave ] }; + key { [ ccedilla, Ccedilla, asciitilde ] }; + + key { [ semicolon, colon, degree ] }; + key { [ egrave, Egrave ] }; + key { [ agrave, Agrave ] }; + + key { [ ugrave, Ugrave ] }; + key { [ z, Z, guillemotleft ] }; + key { [ x, X, guillemotright ] }; + key { [ comma, apostrophe, less ] }; + key { [ period, quotedbl, greater ] }; + key { [ eacute, Eacute ] }; +}; + +partial +xkb_symbols "multi-2gr" { + + name[Group1] = "Canadian Multilingual group2"; + + key { [ VoidSymbol, hyphen ] }; + key { [ onesuperior, exclamdown ] }; + key { [ twosuperior, VoidSymbol ] }; + key { [ threesuperior, sterling ] }; + key { [ onequarter, currency ] }; + key { [ onehalf,threeeighths ] }; + key { [ threequarters, fiveeighths ] }; + key { [ VoidSymbol,seveneighths ] }; + key { [ VoidSymbol, trademark ] }; + key { [ VoidSymbol, plusminus ] }; + + key { [ VoidSymbol, questiondown] }; + key { [ dead_cedilla, dead_ogonek ] }; + + key { [ VoidSymbol, Greek_OMEGA ] }; + key { [ lstroke, Lstroke ] }; + key { [ oe, OE ] }; + key { [ paragraph, registered ] }; + key { [ tslash, Tslash ] }; + key { [ leftarrow, yen ] }; + key { [ downarrow, uparrow ] }; + key { [ rightarrow, idotless ] }; + key { [ oslash, Ooblique ] }; + key { [ thorn, THORN ] }; + key { [ VoidSymbol, dead_abovering ] }; + key { [ dead_tilde, dead_macron ] }; + + key { [ ae, AE ] }; + key { [ ssharp, section ] }; + key { [ eth, ETH ] }; + key { [ VoidSymbol, ordfeminine ] }; + key { [ eng, ENG ] }; + key { [ hstroke, Hstroke ] }; + key { [ U0133, U0132 ] }; + key { [ kra, VoidSymbol ] }; + key { [ U0140, U013F ] }; + key { [ dead_acute, dead_doubleacute ] }; + key { [ VoidSymbol, dead_caron ] }; + key { [ VoidSymbol, dead_breve ] }; + + + key { [ VoidSymbol, brokenbar ] }; + + key { [ cent, copyright ] }; + key { [ leftdoublequotemark, leftsinglequotemark ] }; + key { [ rightdoublequotemark, rightsinglequotemark ] }; + key { [ U0149, U266A ] }; + key { [ mu, masculine ] }; + key { [ Greek_horizbar, multiply ] }; + key { [ periodcentered, division ] }; + key { [ VoidSymbol, dead_abovedot ] }; + +}; diff -ruN xc-old/programs/xkbcomp/symbols/pc/ch xc/programs/xkbcomp/symbols/pc/ch --- xc-old/programs/xkbcomp/symbols/pc/ch 1970-01-01 00:00:00.000000000 +0000 +++ xc/programs/xkbcomp/symbols/pc/ch 2004-10-26 12:42:51.693979672 +0000 @@ -0,0 +1,116 @@ +// $Xorg: ch,v 1.3 2000/08/17 19:54:42 cpqbld Exp $ + + + + +// $XFree86: xc/programs/xkbcomp/symbols/ch,v 3.6 2002/11/25 14:05:06 eich Exp $ + +partial default alphanumeric_keys +xkb_symbols "basic" { + + include "pc/latin" + + // Alphanumeric section + name[Group1]= "Swiss (German)"; + key { [ section, degree ] }; + key { [ 1, plus, bar, exclamdown ] }; + key { [ 2, quotedbl, at, oneeighth ] }; + key { [ 3, asterisk, numbersign ] }; + key { [ 4, ccedilla ] }; + key { [ 5, percent ] }; + key { [ 6, ampersand, notsign ] }; + key { [ 7, slash, brokenbar ] }; + key { [ 8, parenleft, cent ] }; + key { [ 9, parenright ] }; + key { [ 0, equal ] }; + key { [ apostrophe, question, dead_acute ] }; + key { [ dead_circumflex, dead_grave, dead_tilde ] }; + + key { [ e, E, EuroSign ] }; + key { [ z, Z ] }; + key { [ udiaeresis, egrave, bracketleft ] }; + key { [ dead_diaeresis, exclam, bracketright ] }; + + key { [ odiaeresis, eacute ] }; + key { [ adiaeresis, agrave, braceleft ] }; + key { [ dollar, sterling, braceright ] }; + + key { [ less, greater, backslash, brokenbar ] }; + key { [ y, Y ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "de" { + include "pc/ch(basic)" +}; + +partial alphanumeric_keys +xkb_symbols "de_Sundeadkeys" { + // modify the default Swiss German layout to use Sun dead keys + include "pc/ch(basic)" + key { [ apostrophe, question, SunFA_Acute ] }; + key { [ SunFA_Circum, SunFA_Grave, SunFA_Tilde ] }; + key { [ SunFA_Diaeresis, exclam, bracketright ] }; +}; + +partial alphanumeric_keys +xkb_symbols "de_sundeadkeys" { + include "pc/ch(de_Sundeadkeys)" +}; + +partial alphanumeric_keys +xkb_symbols "de_nodeadkeys" { + // modify the default Swiss German layout not to have any dead keys + include "pc/ch(basic)" + key { [ apostrophe, question, acute ] }; + key { [ asciicircum, grave, asciitilde ] }; + key { [ diaeresis, exclam, bracketright ] }; +}; + +partial alphanumeric_keys +xkb_symbols "fr" { + + // Describes the differences between a very simple US/ASCII + // keyboard and a very simple Swiss/French keybaord + + include "pc/ch(basic)" + name[Group1]= "Swiss (French)"; + + override key { + [ egrave, udiaeresis, bracketleft ] + }; + override key { + [ eacute, odiaeresis ] + }; + override key { + [ agrave, adiaeresis, braceleft ] + }; +}; + +partial alphanumeric_keys +xkb_symbols "fr_Sundeadkeys" { + // modify the default Swiss French layout to use Sun dead keys + include "pc/ch(fr)" + key { [ apostrophe, question, SunFA_Acute ] }; + key { [ SunFA_Circum, SunFA_Grave, SunFA_Tilde ] }; + key { [ SunFA_Diaeresis, exclam, bracketright ] }; +}; + +partial alphanumeric_keys +xkb_symbols "fr_sundeadkeys" { + include "pc/ch(fr_Sundeadkeys)" +}; + +partial alphanumeric_keys +xkb_symbols "fr_nodeadkeys" { + // modify the default Swiss French layout not to have any dead keys + include "pc/ch(fr)" + key { [ apostrophe, question, acute ] }; + key { [ asciicircum, grave, asciitilde ] }; + key { [ diaeresis, exclam, bracketright ] }; +}; diff -ruN xc-old/programs/xkbcomp/symbols/pc/hu xc/programs/xkbcomp/symbols/pc/hu --- xc-old/programs/xkbcomp/symbols/pc/hu 1970-01-01 00:00:00.000000000 +0000 +++ xc/programs/xkbcomp/symbols/pc/hu 2004-10-26 12:42:51.694979520 +0000 @@ -0,0 +1,428 @@ +// New style XKB layout for some widely used Hungarian keyboard layouts +// +// Based on old style 'xkb/symbols/hu" +// +// $XKeyboardConfig: xkbdesc/symbols/hu,v 1.3 2004/09/14 19:14:36 svu Exp $ +// (C) 2002-2004 Soós Péter +// +// 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 + + +// Default layout +default partial +xkb_symbols "basic" { + include "pc/hu(102_qwertz_comma_dead)" +}; + +// Standard layout +partial +xkb_symbols "standard" { + include "pc/hu(102_qwertz_comma_dead)" +}; + +// Standard layout without dead key support +partial +xkb_symbols "nodeadkeys" { + include "pc/hu(102_qwertz_comma_nodead)" +}; + +// Qwerty layout +partial +xkb_symbols "qwerty" { + include "pc/hu(101_qwerty_comma_dead)" +}; + +// 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"; + include "pc/latin" + include "pc/hu(def_101)" + include "pc/hu(def_qwertz)" + include "keypad(comma)" + include "pc/hu(def_dead)" + include "pc/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"; + include "pc/latin" + include "pc/hu(def_101)" + include "pc/hu(def_qwertz)" + include "keypad(comma)" + include "pc/hu(def_nodead)" + include "pc/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"; + include "pc/latin" + include "pc/hu(def_101)" + include "pc/hu(def_qwertz)" + include "pc/hu(def_dot)" + include "pc/hu(def_dead)" + include "pc/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"; + include "pc/latin" + include "pc/hu(def_101)" + include "pc/hu(def_qwertz)" + include "pc/hu(def_dot)" + include "pc/hu(def_nodead)" + include "pc/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"; + include "pc/latin" + include "pc/hu(def_101)" + include "pc/hu(def_qwerty)" + include "keypad(comma)" + include "pc/hu(def_dead)" + include "pc/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"; + include "pc/latin" + include "pc/hu(def_101)" + include "pc/hu(def_qwerty)" + include "keypad(comma)" + include "pc/hu(def_nodead)" + include "pc/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"; + include "pc/latin" + include "pc/hu(def_101)" + include "pc/hu(def_qwerty)" + include "pc/hu(def_dot)" + include "pc/hu(def_dead)" + include "pc/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"; + include "pc/latin" + include "pc/hu(def_101)" + include "pc/hu(def_qwerty)" + include "pc/hu(def_dot)" + include "pc/hu(def_nodead)" + include "pc/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"; + include "pc/latin" + include "pc/hu(def_102)" + include "pc/hu(def_qwertz)" + include "pc/hu(def_comma)" + include "pc/hu(def_dead)" + include "pc/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"; + include "pc/latin" + include "pc/hu(def_102)" + include "pc/hu(def_qwertz)" + include "pc/hu(def_comma)" + include "pc/hu(def_nodead)" + include "pc/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"; + include "pc/latin" + include "pc/hu(def_102)" + include "pc/hu(def_qwertz)" + include "pc/hu(def_dot)" + include "pc/hu(def_dead)" + include "pc/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"; + include "pc/latin" + include "pc/hu(def_102)" + include "pc/hu(def_qwertz)" + include "pc/hu(def_dot)" + include "pc/hu(def_nodead)" + include "pc/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"; + include "pc/latin" + include "pc/hu(def_102)" + include "pc/hu(def_qwerty)" + include "pc/hu(def_comma)" + include "pc/hu(def_dead)" + include "pc/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"; + include "pc/latin" + include "pc/hu(def_102)" + include "pc/hu(def_qwerty)" + include "pc/hu(def_comma)" + include "pc/hu(def_nodead)" + include "pc/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"; + include "pc/latin" + include "pc/hu(def_102)" + include "pc/hu(def_qwerty)" + include "pc/hu(def_dot)" + include "pc/hu(def_dead)" + include "pc/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"; + include "pc/latin" + include "pc/hu(def_102)" + include "pc/hu(def_qwerty)" + include "pc/hu(def_dot)" + include "pc/hu(def_nodead)" + include "pc/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 ] }; + 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 ] }; + key { [ z, Z, greater ] }; +}; + +// 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, comma ] }; +}; + +// 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 { [ 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 ] }; + +}; diff -ruN xc-old/programs/xkbcomp/symbols/pc/jp xc/programs/xkbcomp/symbols/pc/jp --- xc-old/programs/xkbcomp/symbols/pc/jp 1970-01-01 00:00:00.000000000 +0000 +++ xc/programs/xkbcomp/symbols/pc/jp 2004-10-26 12:42:51.696979216 +0000 @@ -0,0 +1,142 @@ +// based on: +// symbols for a Japanese 106 keyboard(by tsuka@kawalab.dnj.ynu.ac.jp) + +default xkb_symbols "jp106" { + include "srvr_ctrl(xfree86)" + + name[Group1]= "Japanese"; + + // Alphanumeric section + key { + type="PC_SYSRQ", + symbols[Group1]= [ Zenkaku_Hankaku, Kanji ] + }; + key { [ kana_NU ] }; + key { [ kana_FU ] }; + key { [ kana_A, kana_a ] }; + key { [ kana_U, kana_u ] }; + key { [ kana_E, kana_e ] }; + key { [ kana_O, kana_o ] }; + key { [ kana_YA, kana_ya ] }; + key { [ kana_YU, kana_yu ] }; + key { [ kana_YO, kana_yo ] }; + key { [ kana_WA, kana_WO ] }; + key { [ kana_HO ] }; + key { [ kana_HE ] }; + key { [ prolongedsound ] }; + + key { [ kana_TA ] }; + key { [ kana_TE ] }; + key { [ kana_I, kana_i ] }; + key { [ kana_SU ] }; + key { [ kana_KA ] }; + key { [ kana_N ] }; + key { [ kana_NA ] }; + key { [ kana_NI ] }; + key { [ kana_RA ] }; + key { [ kana_SE ] }; + key { [ voicedsound ] }; + key { [ semivoicedsound, kana_openingbracket ] }; + + key { [ Eisu_toggle, Caps_Lock ] }; + key { [ kana_CHI ] }; + key { [ kana_TO ] }; + key { [ kana_SHI ] }; + key { [ kana_HA ] }; + key { [ kana_KI ] }; + key { [ kana_KU ] }; + key { [ kana_MA ] }; + key { [ kana_NO ] }; + key { [ kana_RI ] }; + key { [ kana_RE ] }; + key { [ kana_KE ] }; + key { [ kana_MU, kana_closingbracket ] }; + + key { [ kana_TSU, kana_tsu ] }; + key { [ kana_SA ] }; + key { [ kana_SO ] }; + key { [ kana_HI ] }; + key { [ kana_KO ] }; + key { [ kana_MI ] }; + key { [ kana_MO ] }; + key { [ kana_NE, kana_comma ] }; + key { [ kana_RU, kana_fullstop ] }; + key { [ kana_ME, kana_middledot ] }; + key { [ kana_RO ] }; + + key { [ Muhenkan ] }; + + key { + type="PC_SYSRQ", + symbols[Group1]= [ Henkan, Mode_switch ] + }; + key { + type="PC_SYSRQ", + symbols[Group1]= [ Hiragana_Katakana, Romaji ] + }; + + // End alphanumeric section + + key { + type= "PC_SYSRQ", + symbols[Group1]= [ Print, Execute ] + }; + key { + type= "PC_SYSRQ", + symbols[Group1]= [ Print, Execute ] + }; +}; + +// latin part of jp keyboard map +partial hidden +xkb_symbols "latin" { + + include "pc/us" + // Alphanumeric section + key { + type="PC_SYSRQ", + symbols[Group1]= [ Zenkaku_Hankaku, Kanji ] + }; + + key { [ 2, quotedbl ] }; + + key { [ 6, ampersand ] }; + key { [ 7, apostrophe ] }; + key { [ 8, parenleft ] }; + key { [ 9, parenright ] }; + key { [ 0,asciitilde ] }; + key { [ minus, equal ] }; + key { [ asciicircum, asciitilde] }; + key { [ backslash, bar ] }; + + key { [ at, grave ] }; + key { [ bracketleft, braceleft ] }; + + key { [ Eisu_toggle, Caps_Lock ] }; + + key { [ semicolon, plus ] }; + key { [ colon, asterisk ] }; + key { [ bracketright, braceright ] }; + + key { [ backslash, underscore], [ kana_RO ] }; + + key { [ Muhenkan ] }; + + key { + type="PC_SYSRQ", + symbols[Group1]= [ Henkan, Mode_switch ] + }; + key { + type="PC_SYSRQ", + symbols[Group1]= [ Hiragana_Katakana, Romaji ] + }; + + key { + type= "PC_SYSRQ", + symbols[Group1]= [ Print, Execute ] + }; + key { + type= "PC_SYSRQ", + symbols[Group1]= [ Print, Execute ] + }; +}; diff -ruN xc-old/programs/xkbcomp/symbols/pc/mn xc/programs/xkbcomp/symbols/pc/mn --- xc-old/programs/xkbcomp/symbols/pc/mn 1970-01-01 00:00:00.000000000 +0000 +++ xc/programs/xkbcomp/symbols/pc/mn 2004-10-26 12:42:51.696979216 +0000 @@ -0,0 +1,68 @@ +// based on: +// Mongolian standard keyboard +// Author Sanlig Badral +// 2002/12/7 Version 1.0 + +partial default alphanumeric_keys +xkb_symbols "basic" { + + name[Group1]= "Mongolian"; + + key { [ equal, plus, degree ] }; + key { [ 1, numerosign, multiply ] }; + key { [ 2, minus, division ] }; + key { [ 3, quotedbl, plusminus ] }; + key { [ 4, U20ae, notsign ] }; + key { [ 5, colon, NoSymbol ] }; + key { [ 6, period, notequal ] }; + key { [ 7, underscore, ampersand ] }; + key { [ 8, comma, asterisk ] }; + key { [ 9, percent, bracketleft ] }; + key { [ 0, question, bracketright ] }; + key { [ Cyrillic_ie, Cyrillic_IE, X ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA, L ] }; + + key { [ Cyrillic_ef, Cyrillic_EF, apostrophe ] }; + key { [ Cyrillic_tse, Cyrillic_TSE, grave ] }; + key { [ Cyrillic_u, Cyrillic_U, EuroSign ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE, registered ] }; + key { [ Cyrillic_e, Cyrillic_E, trademark ] }; + key { [ Cyrillic_en, Cyrillic_EN, yen ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE, doublelowquotemark ] }; + key { [ Cyrillic_sha, Cyrillic_SHA, leftdoublequotemark ] }; + key { [ Cyrillic_u_straight,Cyrillic_U_straight,rightdoublequotemark] }; + key { [ Cyrillic_ze, Cyrillic_ZE, NoSymbol ] }; + key { [ Cyrillic_ka, Cyrillic_KA, braceleft ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, braceright ] }; + + key { [ Cyrillic_shorti, Cyrillic_SHORTI, mu ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU, sterling ] }; + key { [ Cyrillic_be, Cyrillic_BE, dollar ] }; + key { [ Cyrillic_o_bar, Cyrillic_O_bar, rightdoublequotemark ] }; + key { [ Cyrillic_a, Cyrillic_A, Cyrillic_yeru ] }; + key { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_YERU ] }; + key { [ Cyrillic_er, Cyrillic_ER, Cyrillic_e ] }; + key { [ Cyrillic_o, Cyrillic_O, Cyrillic_E ] }; + key { [ Cyrillic_el, Cyrillic_EL, numerosign ] }; + key { [ Cyrillic_de, Cyrillic_DE, section ] }; + key { [ Cyrillic_pe, Cyrillic_PE, ellipsis ] }; + key { [ exclam, bar, bar ] }; + + key { [ parenleft, parenright, NoSymbol ] }; + key { [ Cyrillic_ya, Cyrillic_YA, emdash ] }; + key { [ Cyrillic_che, Cyrillic_CHE, endash ] }; + key { [ Cyrillic_io, Cyrillic_IO, copyright ] }; + key { [ Cyrillic_es, Cyrillic_ES, NoSymbol ] }; + key { [ Cyrillic_em, Cyrillic_EM, NoSymbol ] }; + key { [ Cyrillic_i, Cyrillic_I, less ] }; + key { [ Cyrillic_te, Cyrillic_TE, greater ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, guillemotleft ] }; + key { [ Cyrillic_ve, Cyrillic_VE, guillemotright ] }; + key { [ Cyrillic_yu, Cyrillic_YU, backslash ] }; + + // End alphanumeric section + + key { [ space, space, nobreakspace ] }; + + include "level3(ralt_switch)" +}; diff -ruN xc-old/programs/xkbcomp/symbols/pc/us xc/programs/xkbcomp/symbols/pc/us --- xc-old/programs/xkbcomp/symbols/pc/us 2004-04-23 19:54:56.000000000 +0000 +++ xc/programs/xkbcomp/symbols/pc/us 2004-10-26 12:42:51.697979064 +0000 @@ -120,3 +120,112 @@ include "level3(ralt_switch_multikey)" }; + + +partial alphanumeric_keys +xkb_symbols "intl" { + + name[Group1]= "US International"; + + include "pc/us(basic)" + + // Alphanumeric section + key { [dead_grave, dead_tilde, grave, asciitilde ] }; + key { [ 1, exclam, exclamdown, onesuperior ] }; + key { [ 2, at, twosuperior, dead_doubleacute ] }; + key { [ 3, numbersign, threesuperior, dead_macron ] }; + key { [ 4, dollar, currency, sterling ] }; + key { [ 5, percent, EuroSign ] }; + key { [ 6, dead_circumflex, onequarter, asciicircum ] }; + key { [ 7, ampersand, onehalf, dead_horn ] }; + key { [ 8, asterisk, threequarters, dead_ogonek ] }; + key { [ 9, parenleft, leftsinglequotemark, dead_breve ] }; + key { [ 0, parenright, rightsinglequotemark, dead_abovering ] }; + key { [ minus, underscore, yen, dead_belowdot ] }; + key { [ equal, plus, multiply, division ] }; + + key { [ q, Q, adiaeresis, Adiaeresis ] }; + key { [ w, W, aring, Aring ] }; + key { [ e, E, eacute, Eacute ] }; + key { [ r, R, registered, registered ] }; + key { [ t, T, thorn, THORN ] }; + key { [ y, Y, udiaeresis, Udiaeresis ] }; + key { [ u, U, uacute, Uacute ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ p, P, odiaeresis, Odiaeresis ] }; + key { [ bracketleft, braceleft, guillemotleft, guillemotleft ] }; + key { [bracketright, braceright, guillemotright,guillemotright ] }; + + key { [ a, A, aacute, Aacute ] }; + key { [ s, S, ssharp, section ] }; + key { [ d, D, eth, ETH ] }; + + key { [ l, L, oslash, Ooblique ] }; + key { [ semicolon, colon, paragraph, degree ] }; + key { [dead_acute, dead_diaeresis, quotedbl, apostrophe ] }; + + key { [ z, Z, ae, AE ] }; + key { [ c, C, copyright, cent ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ m, M, mu, mu ] }; + key { [ comma, less, ccedilla, Ccedilla ] }; + key { [ period, greater, dead_abovedot, dead_caron ] }; + key { [ slash, question, questiondown, dead_hook ] }; + key { [ backslash, bar, notsign, brokenbar ] }; + + include "level3(ralt_switch)" +}; + +// Based on symbols/us_intl keyboard map: +// Dead-keys definition for a very simple US/ASCII layout. +// by Conectiva (http://www.conectiva.com.br) +// modified by Ricardo Y. Igarashi (iga@that.com.br) + +// Added the following deadkeys, to make it truly international: +// +// dead_macron: on AltGr-minus +// dead_breve: on AltGr-parenleft +// dead_abovedot: on AltGr-period +// dead_abovering: on AltGr-0 +// dead_doubleacute: on AltGr-equal (as quotedbl is already used) +// dead_caron: on AltGr-less (AltGr-shift-comma) +// dead_cedilla: on AltGr-comma +// dead_ogonek: on AltGr-semicolon +// dead_belowdot: on AltGr-underscore (AltGr-shift-minus) +// dead_hook: on AltGr-question +// dead_horn: on AltGr-plus (AltGr-shift-equal) +// dead_diaeresis: on AltGr-colon (Alt-shift-semicolon) +// +// those were already there: +// dead_grave +// dead_acute +// dead_circumflex +// dead_tilde +// dead_diaeresis + +partial alphanumeric_keys +xkb_symbols "alt-intl" { + + name[Group1]= "US/ASCII"; + include "pc/us" + + key { [ dead_grave, dead_tilde, grave, asciitilde ] }; + key { [ 5, percent, EuroSign ] }; + key { [ 6, dead_circumflex, asciicircum, asciicircum ] }; + key { [ 9, parenleft, dead_breve, dead_breve ] }; + key { [ 0, parenright, dead_abovering, dead_abovering] }; + key { [ minus, underscore, dead_macron, dead_belowdot ] }; + key { [ equal, plus, dead_doubleacute, dead_horn ] }; + + key { [ e, E, EuroSign, cent ] }; + + key { [ semicolon, colon, dead_ogonek, dead_diaeresis ] }; + key { [ dead_acute, dead_diaeresis, apostrophe, quotedbl ] }; + + key { [ comma, less, dead_cedilla, dead_caron ] }; + key { [ period, greater, dead_abovedot, dead_circumflex ] }; + key { [ slash, question, dead_hook, dead_hook ] }; + + include "level3(ralt_switch)" +}; diff -ruN xc-old/programs/xkbcomp/symbols/pc/vn xc/programs/xkbcomp/symbols/pc/vn --- xc-old/programs/xkbcomp/symbols/pc/vn 1970-01-01 00:00:00.000000000 +0000 +++ xc/programs/xkbcomp/symbols/pc/vn 2004-10-26 12:42:51.697979064 +0000 @@ -0,0 +1,37 @@ +// based on: +// vn, TCVN 5712:1993 +// Le Hong Boi +// August 1999 +// Further modified by Ashley Clark +// July 2000 for X 4.0 + + +partial default alphanumeric_keys +xkb_symbols "basic" { + + include "pc/us" + + name[Group1]= "Vietnamese"; + + // Alphanumeric section + key { [ quoteleft, asciitilde ] }; + key { [ 1, exclam, abreve, Abreve ] }; + key { [ 2, at, acircumflex, Acircumflex ] }; + key { [ 3, numbersign, ecircumflex, Ecircumflex ] }; + key { [ 4, dollar, ocircumflex, Ocircumflex ] }; + key { [ 5, percent, dead_grave, percent ] }; + key { [ 6, asciicircum,dead_hook, asciicircum ] }; + key { [ 7, ampersand, dead_tilde, ampersand ] }; + key { [ 8, asterisk, dead_acute, asterisk ] }; + key { [ 9, parenlef, dead_belowdot,parenleft ] }; + key { [ 0, parenright, dstroke, Dstroke ] }; + key { [ minus, underscore ] }; + key { [ equal, plus, DongSign ] }; + + key { [ bracketleft, braceleft, uhorn, Uhorn ] }; + key { [ bracketright, braceright, ohorn, Ohorn ] }; + + // End alphanumeric section + + include "level3(ralt_switch)" +};