From b26731866b21540d615a84bc2c41ccb454305990 Mon Sep 17 00:00:00 2001 From: marha Date: Thu, 6 May 2010 06:07:20 +0000 Subject: xkeyboard-config git update 6/5/2010 --- xorg-server/xkbdata.src/compat/Makefile.am | 2 +- xorg-server/xkbdata.src/compat/caps | 12 + xorg-server/xkbdata.src/geometry/pc | 11 +- xorg-server/xkbdata.src/rules/base.o_c.part | 1 - xorg-server/xkbdata.src/rules/base.o_s.part | 16 + xorg-server/xkbdata.src/rules/base.xml.in | 89 ++++- xorg-server/xkbdata.src/symbols/cz | 348 +++++++++---------- xorg-server/xkbdata.src/symbols/fi | 2 +- xorg-server/xkbdata.src/symbols/gh | 2 +- xorg-server/xkbdata.src/symbols/hu | 6 +- xorg-server/xkbdata.src/symbols/il | 508 ++++++++++++++-------------- xorg-server/xkbdata.src/symbols/level3 | 36 ++ xorg-server/xkbdata.src/symbols/level5 | 66 ++++ xorg-server/xkbdata.src/symbols/rs | 27 ++ xorg-server/xkbdata.src/symbols/shift | 45 +++ xorg-server/xkbdata.src/symbols/tm | 1 - xorg-server/xkbdata.src/types/level5 | 242 ++++++------- 17 files changed, 838 insertions(+), 576 deletions(-) create mode 100644 xorg-server/xkbdata.src/compat/caps diff --git a/xorg-server/xkbdata.src/compat/Makefile.am b/xorg-server/xkbdata.src/compat/Makefile.am index 4e56a2427..54a659eec 100644 --- a/xorg-server/xkbdata.src/compat/Makefile.am +++ b/xorg-server/xkbdata.src/compat/Makefile.am @@ -1,7 +1,7 @@ compatdir = $(xkb_base)/compat dist_compat_DATA = \ -accessx basic complete \ +accessx basic caps complete \ default iso9995 \ japan keypad ledcaps \ lednum ledscroll level5 \ diff --git a/xorg-server/xkbdata.src/compat/caps b/xorg-server/xkbdata.src/compat/caps new file mode 100644 index 000000000..d787ab63d --- /dev/null +++ b/xorg-server/xkbdata.src/compat/caps @@ -0,0 +1,12 @@ +partial xkb_compatibility "caps_lock" { + // Keysym Caps_Lock locks Lock modifier. + // With this, the keysym Caps_Lock can be used without binding the whole + // key to a real modifier. + // This is essential when you don't want to use caps lock on the first + // level. + // This should not have any compatibility issues when used together with + // other layouts which don't utilize this capability. + interpret Caps_Lock { + action = LockMods(modifiers = Lock); + }; +}; diff --git a/xorg-server/xkbdata.src/geometry/pc b/xorg-server/xkbdata.src/geometry/pc index 812f8425f..ee923fc31 100644 --- a/xorg-server/xkbdata.src/geometry/pc +++ b/xorg-server/xkbdata.src/geometry/pc @@ -514,10 +514,13 @@ xkb_geometry "pc105" { shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } }; shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } }; shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } }; - shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,16] } }; + shape "RTRN" { + { [0,0], [28,0], [28,37], [5,37], [5,18], [0,18] } , + { [2,1], [26,1], [26,35], [7,35], [7,16], [2,16] } , + approx = { [5,0], [28,37] } }; shape "CAPS" { { [ 33,18] }, { [2,1], [ 31,16] } }; shape "LFSH" { { [ 25,18] }, { [2,1], [ 23,16] } }; - shape "RTSH" { { [ 50,18] }, { [2,1], [ 50,16] } }; + shape "RTSH" { { [ 50,18] }, { [2,1], [ 48,16] } }; shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } }; shape "SMOD" { { [ 23,18] }, { [2,1], [ 21,16] } }; shape "SPCE" { { [113,18] }, { [2,1], [111,16] } }; @@ -578,7 +581,7 @@ xkb_geometry "pc105" { keys { { , "TABK", color="grey20" }, , , , , , , , , , , - , , { , "BKSL" } + , , { , "RTRN", color="grey20" } }; }; row { @@ -586,7 +589,7 @@ xkb_geometry "pc105" { keys { { , "CAPS", color="grey20" }, , , , , , , , , , , - , { , "RTRN", color="grey20" } + , }; }; row { diff --git a/xorg-server/xkbdata.src/rules/base.o_c.part b/xorg-server/xkbdata.src/rules/base.o_c.part index 8898e3b50..352f8b363 100644 --- a/xorg-server/xkbdata.src/rules/base.o_c.part +++ b/xorg-server/xkbdata.src/rules/base.o_c.part @@ -1,7 +1,6 @@ grp_led:num = +lednum(group_lock) grp_led:caps = +ledcaps(group_lock) grp_led:scroll = +ledscroll(group_lock) - grp:caps_toggle = +ledcaps(group_lock) japan:kana_lock = +japan(kana_lock) caps:shiftlock = +ledcaps(shift_lock) diff --git a/xorg-server/xkbdata.src/rules/base.o_s.part b/xorg-server/xkbdata.src/rules/base.o_s.part index 79f61d959..9958f101d 100644 --- a/xorg-server/xkbdata.src/rules/base.o_s.part +++ b/xorg-server/xkbdata.src/rules/base.o_s.part @@ -113,9 +113,25 @@ shift:both_capslock = +shift(both_capslock) shift:lshift_both_capslock = +shift(lshift_both_capslock) shift:rshift_both_capslock = +shift(rshift_both_capslock) + shift:both_capslock_cancel = +shift(both_capslock_cancel) + shift:lshift_both_capslock_cancel = +shift(lshift_both_capslock_cancel) + shift:rshift_both_capslock_cancel = +shift(rshift_both_capslock_cancel) + shift:both_shiftlock = +shift(both_shiftlock) + shift:lshift_both_shiftlock = +shift(lshift_both_shiftlock) + shift:rshift_both_shiftlock = +shift(rshift_both_shiftlock) lv3:caps_switch = +level3(caps_switch) lv3:bksl_switch = +level3(bksl_switch) + lv3:lsgt_switch = +level3(lsgt_switch) + lv3:caps_switch_latch = +level3(caps_switch_latch) + lv3:bksl_switch_latch = +level3(bksl_switch_latch) + lv3:lsgt_switch_latch = +level3(lsgt_switch_latch) lv5:lsgt_switch_lock = +level5(lsgt_switch_lock) lv5:ralt_switch_lock = +level5(ralt_switch_lock) + lv5:lwin_switch_lock = +level5(lwin_switch_lock) + lv5:rwin_switch_lock = +level5(rwin_switch_lock) + lv5:lsgt_switch_lock_cancel = +level5(lsgt_switch_lock_cancel) + lv5:ralt_switch_lock_cancel = +level5(ralt_switch_lock_cancel) + lv5:lwin_switch_lock_cancel = +level5(lwin_switch_lock_cancel) + lv5:rwin_switch_lock_cancel = +level5(rwin_switch_lock_cancel) diff --git a/xorg-server/xkbdata.src/rules/base.xml.in b/xorg-server/xkbdata.src/rules/base.xml.in index 844bf4536..3a2cfe251 100644 --- a/xorg-server/xkbdata.src/rules/base.xml.in +++ b/xorg-server/xkbdata.src/rules/base.xml.in @@ -1311,7 +1311,7 @@ olpc2 - <_description>Group toggle on multiply/divide key + <_description>Layout toggle on multiply/divide key @@ -2293,10 +2293,16 @@ fin + + + classic + <_description>Classic + + nodeadkeys - <_description>Eliminate dead keys + <_description>Classic, eliminate dead keys @@ -2307,12 +2313,6 @@ sme - - - classic - <_description>Classic - - mac @@ -3594,6 +3594,13 @@ <_description>Latin with guillemets + + + rue + <_description>Pannonian Rusyn Homophonic + rue + + @@ -4717,6 +4724,30 @@ <_description>Backslash + + + + @@ -5094,7 +5125,7 @@ + + @@ -5215,49 +5258,61 @@ + + diff --git a/xorg-server/xkbdata.src/symbols/cz b/xorg-server/xkbdata.src/symbols/cz index 4a45b2ca4..32592799a 100644 --- a/xorg-server/xkbdata.src/symbols/cz +++ b/xorg-server/xkbdata.src/symbols/cz @@ -1,174 +1,174 @@ -// $XKeyboardConfig$ -// $XFree86: xc/programs/xkbcomp/symbols/cz,v 1.2 2002/11/22 04:02:22 dawes -// Exp $ - -partial default alphanumeric_keys -xkb_symbols "basic" { - - // This layout conforms to a new cz compromise standard designed - // to satisfy most unix, windows and mac users. - // 2001 by Kamil Toman - - include "latin" - - name[Group1]= "Czechia"; - - key { [ semicolon, dead_abovering, grave, asciitilde ] }; - key { [ plus, 1, exclam, dead_tilde ] }; - key { [ ecaron, 2, at, dead_caron ] }; - key { [ scaron, 3, numbersign, dead_circumflex ] }; - key { [ ccaron, 4, dollar, dead_breve ] }; - key { [ rcaron, 5, percent, dead_abovering ] }; - key { [ zcaron, 6, asciicircum, dead_ogonek ] }; - key { [ yacute, 7, ampersand, dead_grave ] }; - key { [ aacute, 8, asterisk, dead_abovedot] }; - key { [ iacute, 9, braceleft, dead_acute ] }; - key { [ eacute, 0, braceright, dead_doubleacute ] }; - key { [ equal, percent, NoSymbol, dead_diaeresis ] }; - key { [dead_acute, dead_caron, dead_macron, dead_cedilla ] }; - - key { [ q, Q, backslash, NoSymbol ] }; - key { [ w, W, bar, Nosymbol ] }; - key { [ e, E, EuroSign, NoSymbol ] }; - key { [ r, R, NoSymbol, NoSymbol ] }; - key { [ t, T, NoSymbol, NoSymbol ] }; - key { [ z, Z, NoSymbol, NoSymbol ] }; - key { [ u, U, NoSymbol, NoSymbol ] }; - key { [ i, I, NoSymbol, NoSymbol ] }; - key { [ o, O, NoSymbol, NoSymbol ] }; - key { [ p, P, NoSymbol, NoSymbol ] }; - - key { [ uacute, slash, bracketleft, division ] }; - key { [parenright, parenleft, bracketright, multiply ] }; - - key { [ a, A, asciitilde, NoSymbol ] }; - key { [ s, S, dstroke, NoSymbol ] }; - key { [ d, D, Dstroke, NoSymbol ] }; - key { [ f, F, bracketleft, NoSymbol ] }; - key { [ g, G, bracketright, NoSymbol ] }; - key { [ h, H, grave, NoSymbol ] }; - key { [ j, J, apostrophe, NoSymbol ] }; - key { [ k, K, lstroke, NoSymbol ] }; - key { [ l, L, Lstroke, NoSymbol ] }; - - key { [ uring, quotedbl, dollar, NoSymbol ] }; - key { [ section, exclam, apostrophe, ssharp ] }; - key { [ EuroSign, dead_diaeresis, NoSymbol, NoSymbol ] }; - key { [dead_diaeresis, apostrophe, backslash, bar ] }; - - key { [ backslash, bar, slash, NoSymbol ] }; - key { [ y, Y, degree, NoSymbol ] }; - key { [ x, X, numbersign, Nosymbol ] }; - key { [ c, C, ampersand, NoSymbol ] }; - key { [ v, V, at, NoSymbol ] }; - key { [ b, B, braceleft, NoSymbol ] }; - key { [ n, N, braceright, NoSymbol ] }; - key { [ m, M, asciicircum, NoSymbol ] }; - key { [ comma, question, less, NoSymbol ] }; - key { [ period, colon, greater, NoSymbol ] }; - key { [ minus, underscore, asterisk, NoSymbol ] }; - - key { [ space, space, nobreakspace, nobreakspace ] }; - - include "level3(ralt_switch)" -}; - -// Use instead of (useful for keyboard without key) -xkb_symbols "bksl" { - include "cz(basic)" - name[Group1]= "Czechia - With <\|> key"; - - key { [ backslash, bar, slash, NoSymbol ] }; -}; - -partial alphanumeric_keys -xkb_symbols "qwerty" { - - // This layout should work exactly as a cz with the exception - // of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped). - // 2001 by Kamil Toman - - include "cz(basic)" - name[Group1]= "Czechia - qwerty"; - - key { [ z, Z, degree, NoSymbol ] }; - key { [ y, Y, NoSymbol, NoSymbol ] }; -}; - -// Use instead of (useful for keyboard without key) -xkb_symbols "qwerty_bksl" { - include "cz(qwerty)" - - name[Group1]= "Czechia - qwerty, extended Backslash"; - - key { [ backslash, bar, slash, NoSymbol ] }; -}; - -partial alphanumeric_keys alternate_group -xkb_symbols "ucw" { - - // This layout is usually used as the second group, it contains - // accented characters only, no 'latin' set. - // 2008 by Milan Vancura - - name[Group1]= "Czechia - UCW layout (accented letters only)"; - - key { [zcaron, Zcaron ] }; - key { [ssharp ] }; - key { [ccaron, Ccaron ] }; - key { [ccedilla, Ccedilla ] }; - key { [ntilde, Ntilde ] }; - key { [ncaron, Ncaron ] }; - key { [lacute, Lacute ] }; - - key { [aacute, Aacute ] }; - key { [scaron, Scaron ] }; - key { [dcaron, Dcaron ] }; - key { [ediaeresis, Ediaeresis ] }; - key { [racute, Racute ] }; - key { [uacute, Uacute ] }; - key { [udiaeresis, Udiaeresis ] }; - key { [ocircumflex, Ocircumflex ] }; - key { [lcaron, Lcaron ] }; - - key { [adiaeresis, Adiaeresis ] }; - key { [ecaron, Ecaron ] }; - key { [eacute, Eacute ] }; - key { [rcaron, Rcaron ] }; - key { [tcaron, Tcaron ] }; - key { [yacute, Yacute ] }; - key { [uring, Uring ] }; - key { [iacute, Iacute ] }; - key { [oacute, Oacute ] }; - key { [odiaeresis, Odiaeresis ] }; -}; - -partial alphanumeric_keys -xkb_symbols "dvorak-ucw" { - - // US Dvorak layout extend with UCW - AltGr produces accented characters - - include "us(dvorak)" - - name[Group1]= "Czechia - US Dvorak with CZ UCW support"; - - key { [ j, J, eacute, Eacute ] }; - key { [ k, K, uacute, Uacute ] }; - key { [ z, Z, zcaron, Zcaron ] }; - - key { [ a, A, aacute, Aacute ] }; - key { [ o, O, oacute, Oacute ] }; - key { [ e, E, ecaron, Ecaron ] }; - key { [ u, U, uring, Uring ] }; - key { [ i, I, iacute, Iacute ] }; - key { [ d, D, dcaron, Dcaron ] }; - key { [ t, T, tcaron, Tcaron ] }; - key { [ n, N, ncaron, Ncaron ] }; - key { [ s, S, scaron, Scaron ] }; - - key { [ y, Y, yacute, Yacute ] }; - key { [ c, C, ccaron, Ccaron ] }; - key { [ r, R, rcaron, Rcaron ] }; - - include "level3(ralt_switch)" -}; +// $XKeyboardConfig$ +// $XFree86: xc/programs/xkbcomp/symbols/cz,v 1.2 2002/11/22 04:02:22 dawes +// Exp $ + +partial default alphanumeric_keys +xkb_symbols "basic" { + + // This layout conforms to a new cz compromise standard designed + // to satisfy most unix, windows and mac users. + // 2001 by Kamil Toman + + include "latin" + + name[Group1]= "Czechia"; + + key { [ semicolon, dead_abovering, grave, asciitilde ] }; + key { [ plus, 1, exclam, dead_tilde ] }; + key { [ ecaron, 2, at, dead_caron ] }; + key { [ scaron, 3, numbersign, dead_circumflex ] }; + key { [ ccaron, 4, dollar, dead_breve ] }; + key { [ rcaron, 5, percent, dead_abovering ] }; + key { [ zcaron, 6, asciicircum, dead_ogonek ] }; + key { [ yacute, 7, ampersand, dead_grave ] }; + key { [ aacute, 8, asterisk, dead_abovedot] }; + key { [ iacute, 9, braceleft, dead_acute ] }; + key { [ eacute, 0, braceright, dead_doubleacute ] }; + key { [ equal, percent, NoSymbol, dead_diaeresis ] }; + key { [dead_acute, dead_caron, dead_macron, dead_cedilla ] }; + + key { [ q, Q, backslash, NoSymbol ] }; + key { [ w, W, bar, Nosymbol ] }; + key { [ e, E, EuroSign, NoSymbol ] }; + key { [ r, R, NoSymbol, NoSymbol ] }; + key { [ t, T, NoSymbol, NoSymbol ] }; + key { [ z, Z, NoSymbol, NoSymbol ] }; + key { [ u, U, NoSymbol, NoSymbol ] }; + key { [ i, I, NoSymbol, NoSymbol ] }; + key { [ o, O, NoSymbol, NoSymbol ] }; + key { [ p, P, NoSymbol, NoSymbol ] }; + + key { [ uacute, slash, bracketleft, division ] }; + key { [parenright, parenleft, bracketright, multiply ] }; + + key { [ a, A, asciitilde, NoSymbol ] }; + key { [ s, S, dstroke, NoSymbol ] }; + key { [ d, D, Dstroke, NoSymbol ] }; + key { [ f, F, bracketleft, NoSymbol ] }; + key { [ g, G, bracketright, NoSymbol ] }; + key { [ h, H, grave, NoSymbol ] }; + key { [ j, J, apostrophe, NoSymbol ] }; + key { [ k, K, lstroke, NoSymbol ] }; + key { [ l, L, Lstroke, NoSymbol ] }; + + key { [ uring, quotedbl, dollar, NoSymbol ] }; + key { [ section, exclam, apostrophe, ssharp ] }; + key { [ EuroSign, dead_diaeresis, NoSymbol, NoSymbol ] }; + key { [dead_diaeresis, apostrophe, backslash, bar ] }; + + key { [ backslash, bar, slash, NoSymbol ] }; + key { [ y, Y, degree, NoSymbol ] }; + key { [ x, X, numbersign, Nosymbol ] }; + key { [ c, C, ampersand, NoSymbol ] }; + key { [ v, V, at, NoSymbol ] }; + key { [ b, B, braceleft, NoSymbol ] }; + key { [ n, N, braceright, NoSymbol ] }; + key { [ m, M, asciicircum, NoSymbol ] }; + key { [ comma, question, less, NoSymbol ] }; + key { [ period, colon, greater, NoSymbol ] }; + key { [ minus, underscore, asterisk, NoSymbol ] }; + + key { [ space, space, space, space ] }; + + include "level3(ralt_switch)" +}; + +// Use instead of (useful for keyboard without key) +xkb_symbols "bksl" { + include "cz(basic)" + name[Group1]= "Czechia - With <\|> key"; + + key { [ backslash, bar, slash, NoSymbol ] }; +}; + +partial alphanumeric_keys +xkb_symbols "qwerty" { + + // This layout should work exactly as a cz with the exception + // of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped). + // 2001 by Kamil Toman + + include "cz(basic)" + name[Group1]= "Czechia - qwerty"; + + key { [ z, Z, degree, NoSymbol ] }; + key { [ y, Y, NoSymbol, NoSymbol ] }; +}; + +// Use instead of (useful for keyboard without key) +xkb_symbols "qwerty_bksl" { + include "cz(qwerty)" + + name[Group1]= "Czechia - qwerty, extended Backslash"; + + key { [ backslash, bar, slash, NoSymbol ] }; +}; + +partial alphanumeric_keys alternate_group +xkb_symbols "ucw" { + + // This layout is usually used as the second group, it contains + // accented characters only, no 'latin' set. + // 2008 by Milan Vancura + + name[Group1]= "Czechia - UCW layout (accented letters only)"; + + key { [zcaron, Zcaron ] }; + key { [ssharp ] }; + key { [ccaron, Ccaron ] }; + key { [ccedilla, Ccedilla ] }; + key { [ntilde, Ntilde ] }; + key { [ncaron, Ncaron ] }; + key { [lacute, Lacute ] }; + + key { [aacute, Aacute ] }; + key { [scaron, Scaron ] }; + key { [dcaron, Dcaron ] }; + key { [ediaeresis, Ediaeresis ] }; + key { [racute, Racute ] }; + key { [uacute, Uacute ] }; + key { [udiaeresis, Udiaeresis ] }; + key { [ocircumflex, Ocircumflex ] }; + key { [lcaron, Lcaron ] }; + + key { [adiaeresis, Adiaeresis ] }; + key { [ecaron, Ecaron ] }; + key { [eacute, Eacute ] }; + key { [rcaron, Rcaron ] }; + key { [tcaron, Tcaron ] }; + key { [yacute, Yacute ] }; + key { [uring, Uring ] }; + key { [iacute, Iacute ] }; + key { [oacute, Oacute ] }; + key { [odiaeresis, Odiaeresis ] }; +}; + +partial alphanumeric_keys +xkb_symbols "dvorak-ucw" { + + // US Dvorak layout extend with UCW - AltGr produces accented characters + + include "us(dvorak)" + + name[Group1]= "Czechia - US Dvorak with CZ UCW support"; + + key { [ j, J, eacute, Eacute ] }; + key { [ k, K, uacute, Uacute ] }; + key { [ z, Z, zcaron, Zcaron ] }; + + key { [ a, A, aacute, Aacute ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ e, E, ecaron, Ecaron ] }; + key { [ u, U, uring, Uring ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ d, D, dcaron, Dcaron ] }; + key { [ t, T, tcaron, Tcaron ] }; + key { [ n, N, ncaron, Ncaron ] }; + key { [ s, S, scaron, Scaron ] }; + + key { [ y, Y, yacute, Yacute ] }; + key { [ c, C, ccaron, Ccaron ] }; + key { [ r, R, rcaron, Rcaron ] }; + + include "level3(ralt_switch)" +}; diff --git a/xorg-server/xkbdata.src/symbols/fi b/xorg-server/xkbdata.src/symbols/fi index ce9a3663f..6c5a3e6af 100644 --- a/xorg-server/xkbdata.src/symbols/fi +++ b/xorg-server/xkbdata.src/symbols/fi @@ -197,7 +197,7 @@ xkb_symbols "nodeadkeys" { include "latin(type2_nodeadkeys)" include "fi(fi)" - name[Group1]="Finland - Eliminate dead keys"; + name[Group1]="Finland - Classic, eliminate dead keys"; key { [ acute, grave ] }; key { [ diaeresis, asciicircum, asciitilde, caron ] }; diff --git a/xorg-server/xkbdata.src/symbols/gh b/xorg-server/xkbdata.src/symbols/gh index 0b2a8894f..a997e9fb0 100644 --- a/xorg-server/xkbdata.src/symbols/gh +++ b/xorg-server/xkbdata.src/symbols/gh @@ -42,7 +42,7 @@ xkb_symbols "ewe" { key { [ 0x0100014B, 0x0100014A, c, C ] }; key { [ 0x01000254, 0x01000186, braceleft, braceleft ] }; key { [ 0x0100028B, 0x010001B2, braceright, braceright ] }; - key { [ 0x01000256, 0x01000189, backslash, backslash ] }; + key { [ 0x01000256, 0x01000189, backslash, backslash ] }; key { [ 0x01000192, 0x01000191, j, J ] }; key { [ g, G, 0x01000263, 0x01000194 ] }; diff --git a/xorg-server/xkbdata.src/symbols/hu b/xorg-server/xkbdata.src/symbols/hu index 428009818..e5abdf2ad 100644 --- a/xorg-server/xkbdata.src/symbols/hu +++ b/xorg-server/xkbdata.src/symbols/hu @@ -329,7 +329,7 @@ xkb_symbols "def_101" { // The standard Hungaryan qwertz layout hidden partial alphanumeric_keys xkb_symbols "def_qwertz" { - key { [ z, Z ] }; + key { [ z, Z, endash ] }; key { [ y, Y, greater ] }; }; @@ -338,7 +338,7 @@ xkb_symbols "def_qwertz" { // The qwerty layout for people who familiar with the standard US layout hidden partial alphanumeric_keys xkb_symbols "def_qwerty" { - key { [ y, Y ] }; + key { [ y, Y, endash ] }; key { [ z, Z, greater ] }; }; @@ -396,6 +396,8 @@ xkb_symbols "def_common" { 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 ] }; diff --git a/xorg-server/xkbdata.src/symbols/il b/xorg-server/xkbdata.src/symbols/il index 143a7c5cd..cc29b128e 100644 --- a/xorg-server/xkbdata.src/symbols/il +++ b/xorg-server/xkbdata.src/symbols/il @@ -1,253 +1,255 @@ -// $XKeyboardConfig$ - -// based on a keyboard map from an 'xkb/symbols/il' file -// -// $XFree86: xc/programs/xkbcomp/symbols/il,v 1.3 2003/01/07 02:03:44 dawes Exp $ - -// This is a partial implemetation of the Israeli standard SI-1452 -// It does not implement changes to the English layout ("Alt-English"), -// as I believe that it is not the job of this layout to modify the English -// layout. -partial default alphanumeric_keys -xkb_symbols "basic" { - // uses the kbd layout in use in Israel. - - name[Group1]= "Israel"; - - key { [ slash, Q ] }; - key { [ apostrophe, W ] }; - key { [ hebrew_qoph, E ] }; - key { [ hebrew_resh, R ] }; - key { [ hebrew_aleph,T ] }; - key { [ hebrew_tet, Y ] }; - key { [ hebrew_waw, U ] }; - key { [ hebrew_finalnun, I ] }; - key { [ hebrew_finalmem, O ] }; - key { [ hebrew_pe, P ] }; - - key { [ hebrew_shin, A ] }; - key { [ hebrew_dalet,S ] }; - key { [ hebrew_gimel,D ] }; - key { [ hebrew_kaph, F ] }; - key { [ hebrew_ayin, G ] }; - key { [ hebrew_yod, H ] }; - key { [ hebrew_chet, J ] }; - key { [ hebrew_lamed, K ] }; - key { [ hebrew_finalkaph, L ] }; - key { [ hebrew_finalpe, colon ] }; - key { [ comma, quotedbl ] }; - - key { [ hebrew_zain, Z ] }; - key { [ hebrew_samech, X ] }; - key { [ hebrew_bet, C ] }; - key { [ hebrew_he, V ] }; - key { [ hebrew_nun, B ] }; - key { [ hebrew_mem, N ] }; - key { [ hebrew_zade, M ] }; - // Mirrored: - key { [ hebrew_taw, greater ] }; - key { [ hebrew_finalzade, less ] }; - - key.type[Group1] = "THREE_LEVEL"; - - key { [ semicolon, asciitilde,0x10005b0 ]}; // Sheva - key { [ period, question, 0x10005c3 ]}; // Sof Pasuq - - // The following may get overriden by the iso9995-3(basic101) symbols. - // therefore they are included here. - // Including them isn't a great idea (for instance: what if group 1 uses - // UK keyboard mapping, and maps shift-3 to sterling? This mapping won't - // preserve that, and I'm not sure that this is a good feature. - key { [ 1, exclam , 0x10005b1 ]}; // H. Segol - key { [ 2, at , 0x10005b2 ]}; // H. Patah - key { [ 3, numbersign , 0x10005b3 ]}; // H. Qamats - key { [ 4, dollar , 0x10005b4 ]}; // Hiriq - key { [ 5, percent , 0x10005b5 ]}; // Tsere - key { [ 6, asciicircum , 0x10005b6 ]}; // Segol - key { [ 7, ampersand , 0x10005b7 ]}; // Patah - key { [ 8, asterisk , 0x10005b8 ]}; // Qamats - // Mirrored: - key { [ 9, parenright , 0x10005c2 ]}; // Sin dot - key { [ 0, parenleft , 0x10005c1 ]}; // Shin dot - key { [ minus, underscore , 0x10005b9 ]}; // Holam - key { [ equal, plus , 0x10005bc ]}; // Dagesh/Shuruq - - // Mirrored: - key { [ bracketright, braceright, 0x10005bf ]}; // Rafe - key { [ bracketleft, braceleft, 0x10005bd ]}; // Meteg - - key { [ backslash, bar, 0x10005bb ]}; // Qubuts -}; - - -// nikud patter based on Dekel Tsur's Hebrew mapping for LyX -partial alphanumeric_keys -xkb_symbols "lyx" { - name[Group1]= "Israel - lyx"; - - key { [ semicolon, asciitilde ] }; - // On some key (e.g. AD01, right below) there is not yet mapping for the - // second shift level. Since I could not figure a simple way to map this - // to "emit nothing", it is currently mapped to the same letter of the - // first shift level (avoiding mapping may risk it be used by a character - // from a different group). - key { [ slash, slash ] }; - key { [ apostrophe, apostrophe ] }; - key { [ hebrew_qoph, 0x10005b8 ] }; // Qamats - key { [ hebrew_resh, 0x10005bc ] }; // Dagesh/Shuruq - key { [ hebrew_aleph, 0x100200e ] }; // LRM - key { [ hebrew_tet, 0x100200f ] }; // RLM - key { [ hebrew_waw, 0x10005b9 ] }; // Holam - key { [ hebrew_finalnun,hebrew_finalnun] }; - key { [ hebrew_finalmem,hebrew_finalmem] }; - key { [ hebrew_pe, 0x10005b7 ] }; // Patah - - key { [ hebrew_shin, 0x10005b0 ] }; // Sheva - key { [ hebrew_dalet, 0x10005bc ] }; // Dagesh/Shuruq - key { [ hebrew_gimel, hebrew_gimel ] }; - key { [ hebrew_kaph, hebrew_kaph ] }; - key { [ hebrew_ayin, 0x10005c2 ] }; // Sin dot - key { [ hebrew_yod, 0x10005c1 ] }; // Shin dot - key { [ hebrew_chet, 0x10005b4 ] }; // Hiriq - key { [ hebrew_lamed, 0x10020aa ] }; // NIS - key { [ hebrew_finalkaph,hebrew_finalkaph] }; - key { [ hebrew_finalpe, colon ] }; - key { [ comma, quotedbl ] }; - - key { [ hebrew_zain, hebrew_zain ] }; - key { [ hebrew_samech,0x10005b6 ] }; // Segol - key { [ hebrew_bet, 0x10005bb ] }; // Qubuts - key { [ hebrew_he, 0x10005b1 ] }; // H. Segol - key { [ hebrew_nun, 0x10005b2 ] }; // H. Patah - key { [ hebrew_mem, 0x10005b3 ] }; // H. Qamats - key { [ hebrew_zade, 0x10005b5 ] }; // Tsere - key { [ hebrew_taw, greater ] }; - key { [ hebrew_finalzade, less ] }; - key { [ period, question ] }; - - // Note the parens mirroring below: - key { [ bracketright, braceright ] }; - key { [ bracketleft, braceleft ] }; - key { [ 9 , parenright ] }; - key { [ 0 , parenleft ] }; - - key { [ minus , 0x10005be ] }; // H. Hiphen - key { [ equal , plus ] }; -}; - - -partial alphanumeric_keys -xkb_symbols "phonetic" { - - // uses the phonetic layout from old Slackware 'il.map' file - - name[Group1]= "Israel - Phonetic"; - - key { [ equal, plus, hebrew_doublelowline, hebrew_doublelowline ]}; - - key { [ hebrew_qoph, hebrew_qoph ] }; - key { [ hebrew_waw, hebrew_waw ] }; - key { [ hebrew_aleph, hebrew_aleph ] }; - key { [ hebrew_resh, hebrew_resh ] }; - key { [ hebrew_taw, hebrew_tet ] }; - key { [ hebrew_ayin, hebrew_ayin ] }; - key { [ hebrew_waw, hebrew_waw ] }; - key { [ hebrew_yod, hebrew_yod ] }; - key { [ hebrew_samech, hebrew_samech ] }; - key { [ hebrew_pe, hebrew_finalpe ] }; - - key { [ hebrew_aleph, hebrew_aleph ] }; - key { [ hebrew_shin, hebrew_shin ] }; - key { [ hebrew_dalet, hebrew_dalet ] }; - key { [ hebrew_pe, hebrew_finalpe ] }; - key { [ hebrew_gimel, hebrew_gimel ] }; - key { [ hebrew_he, hebrew_he ] }; - key { [ hebrew_yod, hebrew_yod ] }; - key { [ hebrew_kaph, hebrew_finalkaph ] }; - key { [ hebrew_lamed, hebrew_lamed ] }; - - key { [ hebrew_zain, hebrew_zain ] }; - key { [ hebrew_chet, hebrew_chet ] }; - key { [ hebrew_zade, hebrew_finalzade ] }; - key { [ hebrew_waw, hebrew_waw ] }; - key { [ hebrew_bet, hebrew_bet ] }; - key { [ hebrew_nun, hebrew_finalnun ] }; - key { [ hebrew_mem, hebrew_finalmem ] }; -}; - -// The 'Biblical Hebrew' keyboard layout as defined by Tiro for use with the -// 'SBL Hebrew' font was added 2006.11.13 by Sebastian J. Bronner -// . Its primary features (as compared to the lyx layout) -// are that the consonants are in the Israeli standard positions, that a great -// multitude of glyphs can be input directly from the keyboard, and that it is -// the closest thing to a standard layout a theologian can hope for. -// Documentation (including printable keyboard tables), SBL Hebrew font, and -// keyboard layout for Windows are available at -// http://www.sbl-site.org/Resources/Resources_BiblicalFonts.aspx. -// -// It is of interest that the 'basic' layout defined first in this file (as -// ships with x.org disagrees in the non-consonant characters that the Tiro- -// layout claims to be the Israeli standard. Tiros apparent diligence in the -// PDF-documentation accompanying the keyboard-layout-files lead me to put -// greater stock in their claim than in this file. Therefore, the 'biblical' -// layout below does not include 'il(basic)' but redoes the _whole_ thing from -// scratch. - -partial alphanumeric_keys -xkb_symbols "biblical" { - name[Group1]= "Israel - Biblical Hebrew (Tiro)"; - key.type = "FOUR_LEVEL_SEMIALPHABETIC"; - - key { [ U05C3, U05AE, semicolon, asciitilde ] }; - key { [ 1, U05A9, VoidSymbol, exclam ] }; - key { [ 2, U0599, VoidSymbol, at ] }; - key { [ 3, U0592, VoidSymbol, numbersign ] }; - key { [ 4, U05AF, NewSheqelSign, dollar ] }; - key { [ 5, VoidSymbol, U200D, percent ] }; - key { [ 6, U05B9, U200C, asciicircum ] }; - key { [ 7, U05BF, U034F, ampersand ] }; - key { [ 8, U05C2, U200E, asterisk ] }; - key { [ 9, U05C1, U200F, parenright ] }; - key { [ 0, U059D, U25CC, parenleft ] }; - key { [ U05BE, U05A0, minus, underscore ] }; - key { [ equal, U05BC, VoidSymbol, plus ] }; - - key { [ U0307, U05C4, U0308, slash ] }; - key { [ U05F3, U05AC, U05F4, apostrophe ] }; - key { [ hebrew_qoph, U05AB, U20AC ] }; - key { [ hebrew_resh, U059F ] }; - key { [ hebrew_aleph, U0593 ] }; - key { [ hebrew_tet, U059E ] }; - key { [ hebrew_waw, U059C, U05F0 ] }; - key { [ hebrew_finalnun, U05A1 ] }; - key { [ hebrew_finalmem, U0595 ] }; - key { [ hebrew_pe, U0594 ] }; - key { [ bracketright, U0597, VoidSymbol, braceright ] }; - key { [ bracketleft, U0598, VoidSymbol, braceleft ] }; - key { [ U05C0, U05A8, backslash, bar ] }; - - key { [ hebrew_shin, U05BD ] }; - key { [ hebrew_dalet, U05B0 ] }; - key { [ hebrew_gimel, U05BB ] }; - key { [ hebrew_kaph, U05B4 ] }; - key { [ hebrew_ayin, U05B1 ] }; - key { [ hebrew_yod, U05B6, U05F2 ] }; - key { [ hebrew_chet, U05B5, U05F1 ] }; - key { [ hebrew_lamed, U05B3 ] }; - key { [ hebrew_finalkaph, U05B8, U05C7 ] }; - key { [ hebrew_finalpe, U05B2, VoidSymbol, colon ] }; - key { [ U059a, U05B7, comma, quotedbl ] }; - - key { [ hebrew_zain, U05C5 ] }; - key { [ hebrew_samech, U05A4 ] }; - key { [ hebrew_bet, U05AA, U05A2 ] }; - key { [ hebrew_he, U05A6 ] }; - key { [ hebrew_nun, U05A5, U05C6 ] }; - key { [ hebrew_mem, U05A7 ] }; - key { [ hebrew_zade, U059B ] }; - key { [ hebrew_taw, U0591, VoidSymbol, greater ] }; - key { [ hebrew_finalzade, U0596, VoidSymbol, less ] }; - key { [ U05AD, U05A3, period, question ] }; - - key { [ space, space, thinspace, nobreakspace ] }; -}; +// $XKeyboardConfig$ + +// based on a keyboard map from an 'xkb/symbols/il' file +// +// $XFree86: xc/programs/xkbcomp/symbols/il,v 1.3 2003/01/07 02:03:44 dawes Exp $ + +// This is a partial implemetation of the Israeli standard SI-1452 +// It does not implement changes to the English layout ("Alt-English"), +// as I believe that it is not the job of this layout to modify the English +// layout. +partial default alphanumeric_keys +xkb_symbols "basic" { + // uses the kbd layout in use in Israel. + + name[Group1]= "Israel"; + + key { [ slash, Q ] }; + key { [ apostrophe, W ] }; + key { [ hebrew_resh, R ] }; + key { [ hebrew_aleph,T ] }; + key { [ hebrew_tet, Y ] }; + key { [ hebrew_waw, U ] }; + key { [ hebrew_finalnun, I ] }; + key { [ hebrew_finalmem, O ] }; + key { [ hebrew_pe, P ] }; + + key { [ hebrew_dalet,S ] }; + key { [ hebrew_gimel,D ] }; + key { [ hebrew_kaph, F ] }; + key { [ hebrew_ayin, G ] }; + key { [ hebrew_yod, H ] }; + key { [ hebrew_chet, J ] }; + key { [ hebrew_lamed, K ] }; + key { [ hebrew_finalkaph, L ] }; + key { [ hebrew_finalpe, colon ] }; + key { [ comma, quotedbl ] }; + + key { [ hebrew_zain, Z ] }; + key { [ hebrew_samech, X ] }; + key { [ hebrew_bet, C ] }; + key { [ hebrew_he, V ] }; + key { [ hebrew_nun, B ] }; + key { [ hebrew_mem, N ] }; + key { [ hebrew_zade, M ] }; + // Mirrored: + key { [ hebrew_taw, greater ] }; + key { [ hebrew_finalzade, less ] }; + + key.type[Group1] = "THREE_LEVEL"; + + key { [ semicolon, asciitilde,0x10005b0 ]}; // Sheva + key { [ period, question, 0x10005c3 ]}; // Sof Pasuq + key { [ hebrew_qoph, E, EuroSign ]}; + key { [ hebrew_shin, A, 0x10020AA ]}; + + // The following may get overriden by the iso9995-3(basic101) symbols. + // therefore they are included here. + // Including them isn't a great idea (for instance: what if group 1 uses + // UK keyboard mapping, and maps shift-3 to sterling? This mapping won't + // preserve that, and I'm not sure that this is a good feature. + key { [ 1, exclam , 0x10005b1 ]}; // H. Segol + key { [ 2, at , 0x10005b2 ]}; // H. Patah + key { [ 3, numbersign , 0x10005b3 ]}; // H. Qamats + key { [ 4, dollar , 0x10005b4 ]}; // Hiriq + key { [ 5, percent , 0x10005b5 ]}; // Tsere + key { [ 6, asciicircum , 0x10005b6 ]}; // Segol + key { [ 7, ampersand , 0x10005b7 ]}; // Patah + key { [ 8, asterisk , 0x10005b8 ]}; // Qamats + // Mirrored: + key { [ 9, parenright , 0x10005c2 ]}; // Sin dot + key { [ 0, parenleft , 0x10005c1 ]}; // Shin dot + key { [ minus, underscore , 0x10005b9 ]}; // Holam + key { [ equal, plus , 0x10005bc ]}; // Dagesh/Shuruq + + // Mirrored: + key { [ bracketright, braceright, 0x10005bf ]}; // Rafe + key { [ bracketleft, braceleft, 0x10005bd ]}; // Meteg + + key { [ backslash, bar, 0x10005bb ]}; // Qubuts + + include "level3(ralt_switch)" +}; + + +// nikud patter based on Dekel Tsur's Hebrew mapping for LyX +partial alphanumeric_keys +xkb_symbols "lyx" { + name[Group1]= "Israel - lyx"; + + key { [ semicolon, asciitilde ] }; + // On some key (e.g. AD01, right below) there is not yet mapping for the + // second shift level. Since I could not figure a simple way to map this + // to "emit nothing", it is currently mapped to the same letter of the + // first shift level (avoiding mapping may risk it be used by a character + // from a different group). + key { [ slash, slash ] }; + key { [ apostrophe, apostrophe ] }; + key { [ hebrew_qoph, 0x10005b8 ] }; // Qamats + key { [ hebrew_resh, 0x10005bc ] }; // Dagesh/Shuruq + key { [ hebrew_aleph, 0x100200e ] }; // LRM + key { [ hebrew_tet, 0x100200f ] }; // RLM + key { [ hebrew_waw, 0x10005b9 ] }; // Holam + key { [ hebrew_finalnun,hebrew_finalnun] }; + key { [ hebrew_finalmem,hebrew_finalmem] }; + key { [ hebrew_pe, 0x10005b7 ] }; // Patah + + key { [ hebrew_shin, 0x10005b0 ] }; // Sheva + key { [ hebrew_dalet, 0x10005bc ] }; // Dagesh/Shuruq + key { [ hebrew_gimel, hebrew_gimel ] }; + key { [ hebrew_kaph, hebrew_kaph ] }; + key { [ hebrew_ayin, 0x10005c2 ] }; // Sin dot + key { [ hebrew_yod, 0x10005c1 ] }; // Shin dot + key { [ hebrew_chet, 0x10005b4 ] }; // Hiriq + key { [ hebrew_lamed, 0x10020aa ] }; // NIS + key { [ hebrew_finalkaph,hebrew_finalkaph] }; + key { [ hebrew_finalpe, colon ] }; + key { [ comma, quotedbl ] }; + + key { [ hebrew_zain, hebrew_zain ] }; + key { [ hebrew_samech,0x10005b6 ] }; // Segol + key { [ hebrew_bet, 0x10005bb ] }; // Qubuts + key { [ hebrew_he, 0x10005b1 ] }; // H. Segol + key { [ hebrew_nun, 0x10005b2 ] }; // H. Patah + key { [ hebrew_mem, 0x10005b3 ] }; // H. Qamats + key { [ hebrew_zade, 0x10005b5 ] }; // Tsere + key { [ hebrew_taw, greater ] }; + key { [ hebrew_finalzade, less ] }; + key { [ period, question ] }; + + // Note the parens mirroring below: + key { [ bracketright, braceright ] }; + key { [ bracketleft, braceleft ] }; + key { [ 9 , parenright ] }; + key { [ 0 , parenleft ] }; + + key { [ minus , 0x10005be ] }; // H. Hiphen + key { [ equal , plus ] }; +}; + + +partial alphanumeric_keys +xkb_symbols "phonetic" { + + // uses the phonetic layout from old Slackware 'il.map' file + + name[Group1]= "Israel - Phonetic"; + + key { [ equal, plus, hebrew_doublelowline, hebrew_doublelowline ]}; + + key { [ hebrew_qoph, hebrew_qoph ] }; + key { [ hebrew_waw, hebrew_waw ] }; + key { [ hebrew_aleph, hebrew_aleph ] }; + key { [ hebrew_resh, hebrew_resh ] }; + key { [ hebrew_taw, hebrew_tet ] }; + key { [ hebrew_ayin, hebrew_ayin ] }; + key { [ hebrew_waw, hebrew_waw ] }; + key { [ hebrew_yod, hebrew_yod ] }; + key { [ hebrew_samech, hebrew_samech ] }; + key { [ hebrew_pe, hebrew_finalpe ] }; + + key { [ hebrew_aleph, hebrew_aleph ] }; + key { [ hebrew_shin, hebrew_shin ] }; + key { [ hebrew_dalet, hebrew_dalet ] }; + key { [ hebrew_pe, hebrew_finalpe ] }; + key { [ hebrew_gimel, hebrew_gimel ] }; + key { [ hebrew_he, hebrew_he ] }; + key { [ hebrew_yod, hebrew_yod ] }; + key { [ hebrew_kaph, hebrew_finalkaph ] }; + key { [ hebrew_lamed, hebrew_lamed ] }; + + key { [ hebrew_zain, hebrew_zain ] }; + key { [ hebrew_chet, hebrew_chet ] }; + key { [ hebrew_zade, hebrew_finalzade ] }; + key { [ hebrew_waw, hebrew_waw ] }; + key { [ hebrew_bet, hebrew_bet ] }; + key { [ hebrew_nun, hebrew_finalnun ] }; + key { [ hebrew_mem, hebrew_finalmem ] }; +}; + +// The 'Biblical Hebrew' keyboard layout as defined by Tiro for use with the +// 'SBL Hebrew' font was added 2006.11.13 by Sebastian J. Bronner +// . Its primary features (as compared to the lyx layout) +// are that the consonants are in the Israeli standard positions, that a great +// multitude of glyphs can be input directly from the keyboard, and that it is +// the closest thing to a standard layout a theologian can hope for. +// Documentation (including printable keyboard tables), SBL Hebrew font, and +// keyboard layout for Windows are available at +// http://www.sbl-site.org/Resources/Resources_BiblicalFonts.aspx. +// +// It is of interest that the 'basic' layout defined first in this file (as +// ships with x.org disagrees in the non-consonant characters that the Tiro- +// layout claims to be the Israeli standard. Tiros apparent diligence in the +// PDF-documentation accompanying the keyboard-layout-files lead me to put +// greater stock in their claim than in this file. Therefore, the 'biblical' +// layout below does not include 'il(basic)' but redoes the _whole_ thing from +// scratch. + +partial alphanumeric_keys +xkb_symbols "biblical" { + name[Group1]= "Israel - Biblical Hebrew (Tiro)"; + key.type = "FOUR_LEVEL_SEMIALPHABETIC"; + + key { [ U05C3, U05AE, semicolon, asciitilde ] }; + key { [ 1, U05A9, VoidSymbol, exclam ] }; + key { [ 2, U0599, VoidSymbol, at ] }; + key { [ 3, U0592, VoidSymbol, numbersign ] }; + key { [ 4, U05AF, NewSheqelSign, dollar ] }; + key { [ 5, VoidSymbol, U200D, percent ] }; + key { [ 6, U05B9, U200C, asciicircum ] }; + key { [ 7, U05BF, U034F, ampersand ] }; + key { [ 8, U05C2, U200E, asterisk ] }; + key { [ 9, U05C1, U200F, parenright ] }; + key { [ 0, U059D, U25CC, parenleft ] }; + key { [ U05BE, U05A0, minus, underscore ] }; + key { [ equal, U05BC, VoidSymbol, plus ] }; + + key { [ U0307, U05C4, U0308, slash ] }; + key { [ U05F3, U05AC, U05F4, apostrophe ] }; + key { [ hebrew_qoph, U05AB, U20AC ] }; + key { [ hebrew_resh, U059F ] }; + key { [ hebrew_aleph, U0593 ] }; + key { [ hebrew_tet, U059E ] }; + key { [ hebrew_waw, U059C, U05F0 ] }; + key { [ hebrew_finalnun, U05A1 ] }; + key { [ hebrew_finalmem, U0595 ] }; + key { [ hebrew_pe, U0594 ] }; + key { [ bracketright, U0597, VoidSymbol, braceright ] }; + key { [ bracketleft, U0598, VoidSymbol, braceleft ] }; + key { [ U05C0, U05A8, backslash, bar ] }; + + key { [ hebrew_shin, U05BD ] }; + key { [ hebrew_dalet, U05B0 ] }; + key { [ hebrew_gimel, U05BB ] }; + key { [ hebrew_kaph, U05B4 ] }; + key { [ hebrew_ayin, U05B1 ] }; + key { [ hebrew_yod, U05B6, U05F2 ] }; + key { [ hebrew_chet, U05B5, U05F1 ] }; + key { [ hebrew_lamed, U05B3 ] }; + key { [ hebrew_finalkaph, U05B8, U05C7 ] }; + key { [ hebrew_finalpe, U05B2, VoidSymbol, colon ] }; + key { [ U059a, U05B7, comma, quotedbl ] }; + + key { [ hebrew_zain, U05C5 ] }; + key { [ hebrew_samech, U05A4 ] }; + key { [ hebrew_bet, U05AA, U05A2 ] }; + key { [ hebrew_he, U05A6 ] }; + key { [ hebrew_nun, U05A5, U05C6 ] }; + key { [ hebrew_mem, U05A7 ] }; + key { [ hebrew_zade, U059B ] }; + key { [ hebrew_taw, U0591, VoidSymbol, greater ] }; + key { [ hebrew_finalzade, U0596, VoidSymbol, less ] }; + key { [ U05AD, U05A3, period, question ] }; + + key { [ space, space, thinspace, nobreakspace ] }; +}; diff --git a/xorg-server/xkbdata.src/symbols/level3 b/xorg-server/xkbdata.src/symbols/level3 index 1e58a4830..c2c6b13a2 100644 --- a/xorg-server/xkbdata.src/symbols/level3 +++ b/xorg-server/xkbdata.src/symbols/level3 @@ -162,3 +162,39 @@ xkb_symbols "bksl_switch" { }; modifier_map Mod5 { ISO_Level3_Shift }; }; + +partial modifier_keys +xkb_symbols "lsgt_switch" { + key { + type[Group1]="ONE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift ] + }; + modifier_map Mod5 { ISO_Level3_Shift }; +}; + +partial modifier_keys +xkb_symbols "caps_switch_latch" { + key { + type[Group1]="THREE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ] + }; + modifier_map Mod5 { ISO_Level3_Shift }; +}; + +partial modifier_keys +xkb_symbols "bksl_switch_latch" { + key { + type[Group1]="THREE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ] + }; + modifier_map Mod5 { ISO_Level3_Shift }; +}; + +partial modifier_keys +xkb_symbols "lsgt_switch_latch" { + key { + type[Group1]="THREE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ] + }; + modifier_map Mod5 { ISO_Level3_Shift }; +}; diff --git a/xorg-server/xkbdata.src/symbols/level5 b/xorg-server/xkbdata.src/symbols/level5 index 921592a76..19db36ccd 100644 --- a/xorg-server/xkbdata.src/symbols/level5 +++ b/xorg-server/xkbdata.src/symbols/level5 @@ -54,6 +54,17 @@ xkb_symbols "lsgt_switch_lock" { }; }; +partial modifier_keys +xkb_symbols "lwin_switch_lock" { + + include "level5(lock)" + + key { + type[Group1] = "EIGHT_LEVEL", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] + }; +}; + partial modifier_keys xkb_symbols "ralt_switch_lock" { @@ -64,3 +75,58 @@ xkb_symbols "ralt_switch_lock" { symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] }; }; + +partial modifier_keys +xkb_symbols "rwin_switch_lock" { + + include "level5(lock)" + + key { + type[Group1] = "EIGHT_LEVEL", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] + }; +}; + +partial modifier_keys +xkb_symbols "lsgt_switch_lock_cancel" { + + include "level5(lock)" + + key { + type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] + }; +}; + +partial modifier_keys +xkb_symbols "lwin_switch_lock_cancel" { + + include "level5(lock)" + + key { + type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] + }; +}; + +partial modifier_keys +xkb_symbols "ralt_switch_lock_cancel" { + + include "level5(lock)" + + key { + type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] + }; +}; + +partial modifier_keys +xkb_symbols "rwin_switch_lock_cancel" { + + include "level5(lock)" + + key { + type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] + }; +}; diff --git a/xorg-server/xkbdata.src/symbols/rs b/xorg-server/xkbdata.src/symbols/rs index b34e0dd06..9aab69119 100644 --- a/xorg-server/xkbdata.src/symbols/rs +++ b/xorg-server/xkbdata.src/symbols/rs @@ -299,3 +299,30 @@ xkb_symbols "latinalternatequotes" { key { [ any,any, guillemotright, NoSymbol ] }; // s key { [ any,any, guillemotleft, NoSymbol ] }; // d }; + +xkb_symbols "rue" { + // Homophonic layout for Pannonian Rusyn (spoken mainly in Serbia and + // Croatia by the Rusyn people), based on Ukrainian homophonic. + // Author: Ljubomir J. Papuga (Любомир Я. Папуґа) + + name[Group1]= "Serbia - Pannonian Rusyn Homophonic"; + + include "ua(homophonic)" + + key { [ grave, asciitilde ] }; + key { [ 3, doublelowquotemark ] }; + key { [ 4, rightdoublequotemark ] }; + key { [ 7, EuroSign ] }; + key { [ 0x002D, emdash ] }; + key { [ equal, plus ] }; + + key { [ Ukrainian_ie, Ukrainian_IE ] }; + key { [ Cyrillic_yu, Cyrillic_YU ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + + key { [ Ukrainian_yi, Ukrainian_YI ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; +}; diff --git a/xorg-server/xkbdata.src/symbols/shift b/xorg-server/xkbdata.src/symbols/shift index 4bd1cd627..78951c1ec 100644 --- a/xorg-server/xkbdata.src/symbols/shift +++ b/xorg-server/xkbdata.src/symbols/shift @@ -39,3 +39,48 @@ xkb_symbols "both_capslock" { include "shift(lshift_both_capslock)" include "shift(rshift_both_capslock)" }; + +// Release Lock when pressed alone and set Lock when pressed with another Shift key. +partial modifier_keys +xkb_symbols "lshift_both_capslock_cancel" { + key { + type[Group1]="ALPHABETIC", + symbols[Group1] = [ Shift_L, Caps_Lock ] + }; +}; +// Release Lock when pressed alone and set Lock when pressed with another Shift key. +partial modifier_keys +xkb_symbols "rshift_both_capslock_cancel" { + key { + type[Group1]="ALPHABETIC", + symbols[Group1] = [ Shift_R, Caps_Lock ] + }; +}; +partial modifier_keys +xkb_symbols "both_capslock_cancel" { + include "shift(lshift_both_capslock_cancel)" + include "shift(rshift_both_capslock_cancel)" +}; + + +// When pressed together with another Shift key, lock/unlock Shift. +partial modifier_keys +xkb_symbols "lshift_both_shiftlock" { + key { + type[Group1]="TWO_LEVEL", + symbols[Group1] = [ Shift_L, Shift_Lock ] + }; +}; +// When pressed together with another Shift key, lock/unlock Shift. +partial modifier_keys +xkb_symbols "rshift_both_shiftlock" { + key { + type[Group1]="TWO_LEVEL", + symbols[Group1] = [ Shift_R, Shift_Lock ] + }; +}; +partial modifier_keys +xkb_symbols "both_shiftlock" { + include "shift(lshift_both_shiftlock)" + include "shift(rshift_both_shiftlock)" +}; diff --git a/xorg-server/xkbdata.src/symbols/tm b/xorg-server/xkbdata.src/symbols/tm index aed4c902d..241b4e822 100644 --- a/xorg-server/xkbdata.src/symbols/tm +++ b/xorg-server/xkbdata.src/symbols/tm @@ -9,7 +9,6 @@ xkb_symbols "basic" { name[Group1]="Turkmenistan"; include "us" - key.type[group1]="ALPHABETIC"; key { [ zcaron, Zcaron, grave, asciitilde ] }; key { [ adiaeresis, Adiaeresis, q, Q ] }; diff --git a/xorg-server/xkbdata.src/types/level5 b/xorg-server/xkbdata.src/types/level5 index 963a72ba4..05dafecf6 100644 --- a/xorg-server/xkbdata.src/types/level5 +++ b/xorg-server/xkbdata.src/types/level5 @@ -56,127 +56,127 @@ partial default xkb_types "default" { level_name[Level8] = "X Shift Alt"; }; - type "EIGHT_LEVEL_LEVEL_FIVE_LOCK" { - // Level5-Lock is implemented by using NumLock, because a real modifier - // is required. - - modifiers = Shift + Lock + LevelThree + NumLock + LevelFive; - - map[None] = Level1; - map[Shift] = Level2; - map[LevelThree] = Level3; - map[LevelThree+Shift] = Level4; - - map[LevelFive] = Level5; - map[LevelFive+Shift] = Level6; - map[LevelFive+LevelThree] = Level7; - map[LevelFive+LevelThree+Shift] = Level8; - - map[NumLock] = Level5; - map[NumLock+Shift] = Level6; - map[NumLock+LevelThree] = Level7; - map[NumLock+LevelThree+Shift] = Level8; - - map[NumLock+LevelFive] = Level1; - map[NumLock+LevelFive+Shift] = Level2; - map[NumLock+LevelFive+LevelThree] = Level3; - map[NumLock+LevelFive+LevelThree+Shift] = Level4; - - // Lock has no effect - map[Lock] = Level1; - map[Lock+Shift] = Level2; - map[Lock+LevelThree] = Level3; - map[Lock+LevelThree+Shift] = Level4; - - map[Lock+LevelFive] = Level5; - map[Lock+LevelFive+Shift] = Level6; - map[Lock+LevelFive+LevelThree] = Level7; - map[Lock+LevelFive+LevelThree+Shift] = Level8; - - map[Lock+NumLock] = Level5; - map[Lock+NumLock+Shift] = Level6; - map[Lock+NumLock+LevelThree] = Level7; - map[Lock+NumLock+LevelThree+Shift] = Level8; - - map[Lock+NumLock+LevelFive] = Level1; - map[Lock+NumLock+LevelFive+Shift] = Level2; - map[Lock+NumLock+LevelFive+LevelThree] = Level3; - map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4; - - preserve[LevelFive+Shift] = Shift; - preserve[NumLock+Shift] = Shift; - preserve[Lock+LevelFive+Shift] = Shift; - preserve[Lock+NumLock+Shift] = Shift; - - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Shift Alt"; - level_name[Level5] = "X"; - level_name[Level6] = "X Shift"; - level_name[Level7] = "X Alt Base"; - level_name[Level8] = "X Shift Alt"; - }; - - type "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK" { - // Level5-Lock is implemented by using NumLock, because a real modifier - // is required. - - modifiers = Shift + Lock + LevelThree + NumLock + LevelFive; - - map[None] = Level1; - map[Shift] = Level2; - map[LevelThree] = Level3; - map[LevelThree+Shift] = Level4; - - map[LevelFive] = Level5; - map[LevelFive+Shift] = Level6; - map[LevelFive+LevelThree] = Level7; - map[LevelFive+LevelThree+Shift] = Level8; - - map[NumLock] = Level5; - map[NumLock+Shift] = Level6; - map[NumLock+LevelThree] = Level7; - map[NumLock+LevelThree+Shift] = Level8; - - map[NumLock+LevelFive] = Level1; - map[NumLock+LevelFive+Shift] = Level2; - map[NumLock+LevelFive+LevelThree] = Level3; - map[NumLock+LevelFive+LevelThree+Shift] = Level4; - - // Lock interchanges Level1 and Level2 - map[Lock] = Level2; - map[Lock+Shift] = Level1; - map[Lock+LevelThree] = Level3; - map[Lock+LevelThree+Shift] = Level4; - - map[Lock+LevelFive] = Level5; - map[Lock+LevelFive+Shift] = Level6; - map[Lock+LevelFive+LevelThree] = Level7; - map[Lock+LevelFive+LevelThree+Shift] = Level8; - - map[Lock+NumLock] = Level5; - map[Lock+NumLock+Shift] = Level6; - map[Lock+NumLock+LevelThree] = Level7; - map[Lock+NumLock+LevelThree+Shift] = Level8; - - map[Lock+NumLock+LevelFive] = Level2; - map[Lock+NumLock+LevelFive+Shift] = Level1; - map[Lock+NumLock+LevelFive+LevelThree] = Level4; - map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3; - - preserve[LevelFive+Shift] = Shift; - preserve[NumLock+Shift] = Shift; - - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Shift Alt"; - level_name[Level5] = "X"; - level_name[Level6] = "X Shift"; - level_name[Level7] = "X Alt Base"; - level_name[Level8] = "X Shift Alt"; - }; +// type "EIGHT_LEVEL_LEVEL_FIVE_LOCK" { +// // Level5-Lock is implemented by using NumLock, because a real modifier +// // is required. +// +// modifiers = Shift + Lock + LevelThree + NumLock + LevelFive; +// +// map[None] = Level1; +// map[Shift] = Level2; +// map[LevelThree] = Level3; +// map[LevelThree+Shift] = Level4; +// +// map[LevelFive] = Level5; +// map[LevelFive+Shift] = Level6; +// map[LevelFive+LevelThree] = Level7; +// map[LevelFive+LevelThree+Shift] = Level8; +// +// map[NumLock] = Level5; +// map[NumLock+Shift] = Level6; +// map[NumLock+LevelThree] = Level7; +// map[NumLock+LevelThree+Shift] = Level8; +// +// map[NumLock+LevelFive] = Level1; +// map[NumLock+LevelFive+Shift] = Level2; +// map[NumLock+LevelFive+LevelThree] = Level3; +// map[NumLock+LevelFive+LevelThree+Shift] = Level4; +// +// // Lock has no effect +// map[Lock] = Level1; +// map[Lock+Shift] = Level2; +// map[Lock+LevelThree] = Level3; +// map[Lock+LevelThree+Shift] = Level4; +// +// map[Lock+LevelFive] = Level5; +// map[Lock+LevelFive+Shift] = Level6; +// map[Lock+LevelFive+LevelThree] = Level7; +// map[Lock+LevelFive+LevelThree+Shift] = Level8; +// +// map[Lock+NumLock] = Level5; +// map[Lock+NumLock+Shift] = Level6; +// map[Lock+NumLock+LevelThree] = Level7; +// map[Lock+NumLock+LevelThree+Shift] = Level8; +// +// map[Lock+NumLock+LevelFive] = Level1; +// map[Lock+NumLock+LevelFive+Shift] = Level2; +// map[Lock+NumLock+LevelFive+LevelThree] = Level3; +// map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4; +// +// preserve[LevelFive+Shift] = Shift; +// preserve[NumLock+Shift] = Shift; +// preserve[Lock+LevelFive+Shift] = Shift; +// preserve[Lock+NumLock+Shift] = Shift; +// +// level_name[Level1] = "Base"; +// level_name[Level2] = "Shift"; +// level_name[Level3] = "Alt Base"; +// level_name[Level4] = "Shift Alt"; +// level_name[Level5] = "X"; +// level_name[Level6] = "X Shift"; +// level_name[Level7] = "X Alt Base"; +// level_name[Level8] = "X Shift Alt"; +// }; +// +// type "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK" { +// // Level5-Lock is implemented by using NumLock, because a real modifier +// // is required. +// +// modifiers = Shift + Lock + LevelThree + NumLock + LevelFive; +// +// map[None] = Level1; +// map[Shift] = Level2; +// map[LevelThree] = Level3; +// map[LevelThree+Shift] = Level4; +// +// map[LevelFive] = Level5; +// map[LevelFive+Shift] = Level6; +// map[LevelFive+LevelThree] = Level7; +// map[LevelFive+LevelThree+Shift] = Level8; +// +// map[NumLock] = Level5; +// map[NumLock+Shift] = Level6; +// map[NumLock+LevelThree] = Level7; +// map[NumLock+LevelThree+Shift] = Level8; +// +// map[NumLock+LevelFive] = Level1; +// map[NumLock+LevelFive+Shift] = Level2; +// map[NumLock+LevelFive+LevelThree] = Level3; +// map[NumLock+LevelFive+LevelThree+Shift] = Level4; +// +// // Lock interchanges Level1 and Level2 +// map[Lock] = Level2; +// map[Lock+Shift] = Level1; +// map[Lock+LevelThree] = Level3; +// map[Lock+LevelThree+Shift] = Level4; +// +// map[Lock+LevelFive] = Level5; +// map[Lock+LevelFive+Shift] = Level6; +// map[Lock+LevelFive+LevelThree] = Level7; +// map[Lock+LevelFive+LevelThree+Shift] = Level8; +// +// map[Lock+NumLock] = Level5; +// map[Lock+NumLock+Shift] = Level6; +// map[Lock+NumLock+LevelThree] = Level7; +// map[Lock+NumLock+LevelThree+Shift] = Level8; +// +// map[Lock+NumLock+LevelFive] = Level2; +// map[Lock+NumLock+LevelFive+Shift] = Level1; +// map[Lock+NumLock+LevelFive+LevelThree] = Level4; +// map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3; +// +// preserve[LevelFive+Shift] = Shift; +// preserve[NumLock+Shift] = Shift; +// +// level_name[Level1] = "Base"; +// level_name[Level2] = "Shift"; +// level_name[Level3] = "Alt Base"; +// level_name[Level4] = "Shift Alt"; +// level_name[Level5] = "X"; +// level_name[Level6] = "X Shift"; +// level_name[Level7] = "X Alt Base"; +// level_name[Level8] = "X Shift Alt"; +// }; type "EIGHT_LEVEL_SEMIALPHABETIC" { modifiers = Shift+Lock+LevelThree+LevelFive; -- cgit v1.2.3