From f7025b4baa1ba35ee796785641f04eac5bedb0a6 Mon Sep 17 00:00:00 2001 From: marha Date: Wed, 5 Oct 2011 17:37:34 +0200 Subject: mkfontscale pixman xserver xtrans libX11 libXdmcp libxcb libXmu mesa git update 5 oct 2011 --- xorg-server/xkeyboard-config/NEWS | 1 + xorg-server/xkeyboard-config/configure.in | 2 +- xorg-server/xkeyboard-config/symbols/in | 12 +- xorg-server/xkeyboard-config/symbols/keypad | 1266 ++++++++++++------------ xorg-server/xkeyboard-config/symbols/srvr_ctrl | 8 +- xorg-server/xkeyboard-config/symbols/terminate | 14 +- 6 files changed, 652 insertions(+), 651 deletions(-) (limited to 'xorg-server/xkeyboard-config') diff --git a/xorg-server/xkeyboard-config/NEWS b/xorg-server/xkeyboard-config/NEWS index e32b2c318..00ae0db79 100644 --- a/xorg-server/xkeyboard-config/NEWS +++ b/xorg-server/xkeyboard-config/NEWS @@ -1,3 +1,4 @@ +2.4.1 Critical bug fixed: many Ctl+Alt combinations broken 2.4 9 bugs fixed, a number of translations updated 2.3 First scheduled (and reasonably polished) release since GNOME3. Serious cleanup of descriptions diff --git a/xorg-server/xkeyboard-config/configure.in b/xorg-server/xkeyboard-config/configure.in index 6a395aab0..fa4baef95 100644 --- a/xorg-server/xkeyboard-config/configure.in +++ b/xorg-server/xkeyboard-config/configure.in @@ -1,4 +1,4 @@ -AC_INIT(xkeyboard-config, 2.4) +AC_INIT(xkeyboard-config, 2.4.1) AC_CONFIG_SRCDIR(rules/base.xml.in) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE diff --git a/xorg-server/xkeyboard-config/symbols/in b/xorg-server/xkeyboard-config/symbols/in index 7b7300f40..84d9b06f8 100644 --- a/xorg-server/xkeyboard-config/symbols/in +++ b/xorg-server/xkeyboard-config/symbols/in @@ -172,7 +172,7 @@ xkb_symbols "bolnagri" { partial alphanumeric_keys xkb_symbols "ben" { - name[Group1]= "Bengali"; + name[Group1]= "Bengali (India)"; // Mainly numbers. key { [ U09E7 ] }; @@ -237,7 +237,7 @@ xkb_symbols "ben" { }; xkb_symbols "ben_probhat" { - name[Group1]= "Bengali (Probhat)"; + name[Group1]= "Bengali (India, Probhat)"; key { [ Escape ] }; // numbers @@ -312,7 +312,7 @@ xkb_symbols "ben_probhat" { // Bengali Baishakhi, Bengali Baishakhi Inscript, Bengali Bornona, Uni Gitanjali Layouts are added by Promathesh Mandal xkb_symbols "ben_baishakhi" { - name[Group1]= "Bengali (Baishakhi)"; + name[Group1]= "Bengali (India, Baishakhi)"; key { [ Escape ] }; // numbers @@ -389,7 +389,7 @@ xkb_symbols "ben_baishakhi" { }; xkb_symbols "ben_inscript" { - name[Group1]= "Bengali (Baishakhi Inscript)"; + name[Group1]= "Bengali (India, Baishakhi Inscript)"; // Mainly numbers. key { [ 0x100200D, 0x100200C ] }; @@ -455,7 +455,7 @@ xkb_symbols "ben_inscript" { }; xkb_symbols "ben_gitanjali" { - name[Group1]= "Bengali (Uni Gitanjali)"; + name[Group1]= "Bengali (India, Uni Gitanjali)"; key { [ Escape ] }; // numbers @@ -533,7 +533,7 @@ xkb_symbols "ben_gitanjali" { xkb_symbols "ben_bornona" { - name[Group1]= "Bengali (Bornona)"; + name[Group1]= "Bengali (India, Bornona)"; key { [ Escape ] }; // numbers diff --git a/xorg-server/xkeyboard-config/symbols/keypad b/xorg-server/xkeyboard-config/symbols/keypad index fb3469850..e85aaacbd 100644 --- a/xorg-server/xkeyboard-config/symbols/keypad +++ b/xorg-server/xkeyboard-config/symbols/keypad @@ -1,633 +1,633 @@ -partial hidden keypad_keys -xkb_symbols "overlay" { - include "keypad(overlay1)" -}; - -partial hidden keypad_keys -xkb_symbols "overlay1" { - - // Begin "Keypad" section - - key { [ KP_Home ], overlay1= }; - key { [ KP_Up ], overlay1= }; - key { [ KP_Prior ], overlay1= }; - - key { [ KP_Left ], overlay1= }; - key { [ KP_Begin ], overlay1= }; - key { [ KP_Right ], overlay1= }; - - key { [ KP_End ], overlay1= }; - key { [ KP_Down ], overlay1= }; - key { [ KP_Next ], overlay1= }; - - key { [ KP_Insert ], overlay1= }; - key { [ KP_Delete ], overlay1= }; - - key { [ KP_7 ] }; - key { [ KP_8 ] }; - key { [ KP_9 ] }; - - key { [ KP_4 ] }; - key { [ KP_5 ] }; - key { [ KP_6 ] }; - - key { [ KP_1 ] }; - key { [ KP_2 ] }; - key { [ KP_3 ] }; - - key { [ KP_0 ] }; - key { [ KP_Decimal ] }; - - // End "Keypad" section -}; - -partial hidden keypad_keys -xkb_symbols "overlay2" { - - // Begin "Keypad" section - - key { [ KP_Home ], overlay2= }; - key { [ KP_Up ], overlay2= }; - key { [ KP_Prior ], overlay2= }; - - key { [ KP_Left ], overlay2= }; - key { [ KP_Begin ], overlay2= }; - key { [ KP_Right ], overlay2= }; - - key { [ KP_End ], overlay2= }; - key { [ KP_Down ], overlay2= }; - key { [ KP_Next ], overlay2= }; - - key { [ KP_Insert ], overlay2= }; - key { [ KP_Delete ], overlay2= }; - - key { [ KP_7 ] }; - key { [ KP_8 ] }; - key { [ KP_9 ] }; - - key { [ KP_4 ] }; - key { [ KP_5 ] }; - key { [ KP_6 ] }; - - key { [ KP_1 ] }; - key { [ KP_2 ] }; - key { [ KP_3 ] }; - - key { [ KP_0 ] }; - key { [ KP_Decimal ] }; - - // End "Keypad" section -}; - -partial hidden default keypad_keys -xkb_symbols "x11" { -// Ungrab cancels server/keyboard/pointer grabs - key { - type="CTRL+ALT", - symbols[Group1]= [ KP_Divide, XF86_Ungrab ] - }; - -// ClsGrb kills whichever client has a grab in effect - key { - type="CTRL+ALT", - symbols[Group1]= [ KP_Multiply, XF86_ClearGrab ] - }; - -// -VMode switches to the previous video mode - key { - type="CTRL+ALT", - symbols[Group1]= [ KP_Subtract, XF86_Prev_VMode ] - }; - - key { [ KP_Home, KP_7 ] }; - key { [ KP_Up, KP_8 ] }; - key { [ KP_Prior, KP_9 ] }; - -// +VMode switches to the next video mode - key { - type="CTRL+ALT", - symbols[Group1]= [ KP_Add, XF86_Next_VMode ] - }; - - key { [ KP_Left, KP_4 ] }; - key { [ KP_Begin, KP_5 ] }; - key { [ KP_Right, KP_6 ] }; - - key { [ KP_End, KP_1 ] }; - key { [ KP_Down, KP_2 ] }; - key { [ KP_Next, KP_3 ] }; - key { [ KP_Enter ] }; - key { [ KP_Equal ] }; - - key { [ KP_Insert, KP_0 ] }; - key { [ KP_Delete, KP_Decimal ] }; - key { [ KP_Decimal, KP_Decimal ] }; -}; - - -// Legacy PC keypad definition -// Copyright © 2006-2007 Nicolas Mailhot -keypad_keys -xkb_symbols "legacy" { - - include "keypad(core)" - include "keypad(legacymath)" - include "keypad(legacynumber)" - include "kpdl(dot)" -}; - - -// Legacy Wang 725-3771-ae and 725-3771-uk keypad definition -// Copyright © 2006-2007 Nicolas Mailhot -keypad_keys -xkb_symbols "legacy_wang" { - - include "keypad(core)" - include "keypad(legacymath)" - include "keypad(legacynumber_wang)" - include "kpdl(dot)" -}; - - -// Complete new keypad definition -// Copyright © 2006-2007 Nicolas Mailhot -keypad_keys -xkb_symbols "oss" { - - include "keypad(core)" - include "keypad(ossmath)" - include "keypad(ossnumber)" - include "kpdl(dotoss)" -}; - - -// Latin9 restriction of new keypad definition -// Copyright © 2006-2007 Nicolas Mailhot -keypad_keys -xkb_symbols "oss_latin9" { - - include "keypad(core)" - include "keypad(ossmath_latin9)" - include "keypad(legacynumber)" - include "kpdl(dotoss_latin9)" -}; - - -// Wang 725-3771-ae and 725-3771-uk keypad variant of oss keypad -// Copyright © 2006-2007 Nicolas Mailhot -keypad_keys -xkb_symbols "oss_wang" { - - include "keypad(core)" - include "keypad(ossmath)" - include "keypad(ossnumber_wang)" - include "kpdl(dotoss)" -}; - - -// Forward-looking keypad definition -// Won't work with applications that make ASCII assumptions -// Copyright © 2007 Nicolas Mailhot -keypad_keys -xkb_symbols "future" { - - include "keypad(core)" - include "keypad(futuremath)" - include "keypad(ossnumber)" - include "kpdl(commaoss)" -}; - - -// Forward-looking keypad definition -// Won't work with applications that make ASCII assumptions -// Copyright © 2007 Nicolas Mailhot -keypad_keys -xkb_symbols "future_wang" { - - include "keypad(core)" - include "keypad(futuremath)" - include "keypad(ossnumber_wang)" - include "kpdl(commaoss)" -}; - - -// Keypad keys nobody changes -// Copyright © 2006 Nicolas Mailhot -partial keypad_keys -xkb_symbols "core" { - - modifier_map Mod2 { Num_Lock }; - - key { [ Num_Lock, Pointer_EnableKeys ] }; - key { [ KP_Enter ] }; - key { [ KP_Equal ] }; -}; - - -// Legacy keypad math area -// Copyright © 2006 Nicolas Mailhot -// -// ┏━━━━━┱─────┬─────┬─────┐ -// ┃Num ┃ ₁ │ ₂ │ ₃ │ ₁ -// ┃Lock⇭┃ / │ * │ - │ ₂ -// ┡━━━━━╃─────┼─────┼─────┤ ₃ -// │ ₄ │ ₄ -// │ │ -// ┤ │ 1 None -// │ │ 2 Ctrl+Alt -// │ + │ -// ╆━━━━━┪ -partial keypad_keys -xkb_symbols "legacymath" { - - key.type[Group1]="CTRL+ALT" ; - - key { [ KP_Divide, XF86_Ungrab ] }; // / - key { [ KP_Multiply, XF86_ClearGrab ] }; // * - key { [ KP_Subtract, XF86_Prev_VMode ] }; // - - - key { [ KP_Add, XF86_Next_VMode ] }; // + - -}; - - -// Keypad math area with non-CS operators -// Copyright © 2006 Nicolas Mailhot -// -// ┏━━━━━┱─────┬─────┬─────┐ -// ┃Num ┃ ∕ ₁ │ . ₂ │ − ₃ │ ₁ -// ┃Lock⇭┃ / ÷ │ * × │ - − │ ₂ -// ┡━━━━━╃─────┼─────┼─────┤ ₃ -// │ + ₄ │ ₄ -// │ │ -// ┤ │ 1 None -// │ │ 2 Level3 ⇮ -// │ + + │ 3 Shift+Level3 ⇧⇮ -// ╆━━━━━┪ 4 Ctrl+Alt -partial keypad_keys -xkb_symbols "ossmath" { - - key.type[Group1]="FOUR_LEVEL_X" ; - - key { [ KP_Divide, 0x1002215, 0x10000F7, XF86_Ungrab ] }; // / ∕ ÷ - key { [ KP_Multiply, 0x10022C5, 0x10000D7, XF86_ClearGrab ] }; // * ⋅ × - key { [ KP_Subtract, 0x1002212, 0x1002212, XF86_Prev_VMode ] }; // - − − - - key { [ KP_Add, 0x100002B, 0x100002B, XF86_Next_VMode ] }; // + + + - -}; - - -// Keypad math area with non-CS operators in first levels -// As demanded by users not interested in legacy pre-unicode junk -// Copyright © 2007 Nicolas Mailhot -// -// ┏━━━━━┱─────┬─────┬─────┐ -// ┃Num ┃ / ₁ │ * ₂ │ - ₃ │ ₁ -// ┃Lock⇭┃ ∕ ÷ │ . × │ − − │ ₂ -// ┡━━━━━╃─────┼─────┼─────┤ ₃ -// │ + ₄ │ ₄ -// │ │ -// ┤ │ 1 None -// │ │ 2 Level3 ⇮ -// │ + + │ 3 Shift+Level3 ⇧⇮ -// ╆━━━━━┪ 4 Ctrl+Alt -partial keypad_keys -xkb_symbols "futuremath" { - - key.type[Group1]="FOUR_LEVEL_X" ; - - key { [ 0x1002215, KP_Divide, 0x10000F7, XF86_Ungrab ] }; // ∕ / ÷ - key { [ 0x10022C5, KP_Multiply, 0x10000D7, XF86_ClearGrab ] }; // ⋅ * × - key { [ 0x1002212, KP_Subtract, 0x1002212, XF86_Prev_VMode ] }; // − - − - - key { [ 0x100002B, KP_Add, 0x100002B, XF86_Next_VMode ] }; // + + + -}; - - -// Keypad math area with non-CS operators, restricted to latin9 -// Copyright © 2006 Nicolas Mailhot -// -// ┏━━━━━┱─────┬─────┬─────┐ -// ┃Num ┃ / ₁ │ · ₂ │ - ₃ │ ₁ -// ┃Lock⇭┃ / ÷ │ * × │ - - │ ₂ -// ┡━━━━━╃─────┼─────┼─────┤ ₃ -// │ + ₄ │ ₄ -// │ │ -// ┤ │ 1 None -// │ │ 2 Level3 ⇮ -// │ + + │ 3 Shift+Level3 ⇧⇮ -// ╆━━━━━┪ 4 Ctrl+Alt -partial keypad_keys -xkb_symbols "ossmath_latin9" { - - key.type[Group1]="FOUR_LEVEL_X"; - - key { [ KP_Divide, slash, division, XF86_Ungrab ] }; // / / ÷ - key { [ KP_Multiply, periodcentered, multiply, XF86_ClearGrab ] }; // * · × - key { [ KP_Subtract, minus, minus, XF86_Prev_VMode ] }; // - - - - - key { [ KP_Add, plus, plus, XF86_Next_VMode ] }; // + + + -}; - - -// Legacy keypad number area -// Copyright © 2006 Nicolas Mailhot -// -// ┏━━━━━┱ ⇱ Home -// ┃Num ┃ ⇲ End -// ┃Lock⇭┃ ⇞ Page up -// ┡━━━━━╃─────┼─────┼ ⇟ Page down -// │ 7 │ 8 │ 9 │ ⇞ Page up -// │ ⇱ │ ⇧ │ ⇞ │ ⎀ Insert -// ├─────┼─────┼─────┤ ␥ Delete -// │ 4 │ 5 │ 6 │ ⇦⇧⇨⇩ Directions -// │ ⇦ │ │ ⇨ │ -// ├─────┼─────┼─────╆ -// │ 1 │ 2 │ 3 ┃ -// │ ⇲ │ ⇩ │ ⇟ ┃ 1 None -// ├─────┴─────┼─────┨ 2 Num Lock ⇭ -// │ 0 │ -// │ ⎀ │ -// └───────────┴ -partial keypad_keys -xkb_symbols "legacynumber" { - - key.type[Group1]="KEYPAD" ; - - key { [ KP_Home, KP_7 ] }; // 7 - key { [ KP_Up, KP_8 ] }; // 8 - key { [ KP_Prior, KP_9 ] }; // 9 - - key { [ KP_Left, KP_4 ] }; // 4 - key { [ KP_Begin, KP_5 ] }; // 5 - key { [ KP_Right, KP_6 ] }; // 6 - - key { [ KP_End, KP_1 ] }; // 1 - key { [ KP_Down, KP_2 ] }; // 2 - key { [ KP_Next, KP_3 ] }; // 3 - - key { [ KP_Insert, KP_0 ] }; // 0 -}; - - -// Legacy Wang 725-3771-ae and 725-3771-uk keypad number area -// Copyright © 2007 Nicolas Mailhot -// This is actually a three-level keypad, declared as four-level -// to avoid defining a new type -// -// ┏━━━━━┱ ⇱ Home -// ┃Num ┃ ⇲ End -// ┃Lock⇭┃ ⇞ Page up -// ┡━━━━━╃─────┼─────┼ ⇟ Page down -// │ 7 │ 8 │ 9 │ ⇞ Page up -// │ ⇱ < │ ⇧ > │ ⇞ ^ │ ⎀ Insert -// ├─────┼─────┼─────┤ ␥ Delete -// │ 4 │ 5 │ 6 │ ⇦⇧⇨⇩ Directions -// │ ⇦ [ │ ] │ ⇨ $ │ -// ├─────┼─────┼─────╆ -// │ 1 │ 2 │ 3 ┃ -// │ ⇲ & │ ⇩ @ │ ⇟ # ┃ 1 None -// ├─────┴─────┼─────┨ 2 Num Lock ⇭ -// │ 0 │ 3 Level3 ⇮ -// │ ⎀ │ -// └───────────┴ -partial keypad_keys -xkb_symbols "legacynumber_wang" { - - key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; - - key { [ KP_Home, KP_7, less ] }; // 7 < - key { [ KP_Up, KP_8, greater ] }; // 8 > - key { [ KP_Prior, KP_9, asciicircum ] }; // 9 ^ - - key { [ KP_Left, KP_4, bracketleft ] }; // 4 [ - key { [ KP_Begin, KP_5, bracketright ] }; // 5 ] - key { [ KP_Right, KP_6, dollar ] }; // 6 $ - - key { [ KP_End, KP_1, ampersand ] }; // 1 & - key { [ KP_Down, KP_2, at ] }; // 2 @ - key { [ KP_Next, KP_3, numbersign ] }; // 3 # - - key { [ KP_Insert, KP_0, apostrophe ] }; // 0 ' -}; - - -// Keypad number area with arrow symbols -// Copyright © 2006 Nicolas Mailhot -// -// ┏━━━━━┱ ⇱ Home -// ┃Num ┃ ⇲ End -// ┃Lock⇭┃ ⇞ Page up -// ┡━━━━━╃─────┼─────┼ ⇟ Page down -// │ 7 ⇖ │ 8 ⇑ │ 9 ⇗ │ ⇞ Page up -// │ ⇱ ↖ │ ⇧ ↑ │ ⇞ ↗ │ ⎀ Insert -// ├─────┼─────┼─────┤ ␥ Delete -// │ 4 ⇐ │ 5 ⇔ │ 6 ⇗ │ ⇦⇧⇨⇩ Directions -// │ ⇦ ← │ ↔ │ ⇨ ↗ │ ⍽ narrow no-break space -// ├─────┼─────┼─────╆ -// │ 1 ⇙ │ 2 ⇓ │ 3 ⇘ ┃ -// │ ⇲ ↙ │ ⇩ ↓ │ ⇟ ↘ ┃ 1 None -// ├─────┴─────┼─────┨ 2 Num Lock ⇭ -// │ 0 ⇕ │ 3 Level3 ⇮ -// │ ⎀ ↕ │ 4 Shift+Level3 ⇧⇮ -// └───────────┴ -partial keypad_keys -xkb_symbols "ossnumber" { - - key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; - - key { [ KP_Home, KP_7, 0x1002196, 0x10021D6 ] }; // 7 ↖ ⇖ - key { [ KP_Up, KP_8, 0x1002191, 0x10021D1 ] }; // 8 ↑ ⇑ - key { [ KP_Prior, KP_9, 0x1002197, 0x10021D7 ] }; // 9 ↗ ⇗ - - key { [ KP_Left, KP_4, 0x1002190, 0x10021D0 ] }; // 4 ← ⇐ - key { [ KP_Begin, KP_5, 0x1002194, 0x10021D4 ] }; // 5 ↔ ⇔ - key { [ KP_Right, KP_6, 0x1002192, 0x10021D2 ] }; // 6 → ⇒ - - key { [ KP_End, KP_1, 0x1002199, 0x10021D9 ] }; // 1 ↙ ⇙ - key { [ KP_Down, KP_2, 0x1002193, 0x10021D3 ] }; // 2 ↓ ⇓ - key { [ KP_Next, KP_3, 0x1002198, 0x10021D8 ] }; // 3 ↘ ⇘ - - key { [ KP_Insert, KP_0, 0x1002195, 0x10021D5 ] }; // 0 ↕ ⇕ -}; - - -// Wang 725-3771-ae and 725-3771-uk keypad number area with additional arrow symbols -// Copyright © 2007 Nicolas Mailhot -// -// ┏━━━━━┱ ⇱ Home -// ┃Num ┃ ⇲ End -// ┃Lock⇭┃ ⇞ Page up -// ┡━━━━━╃─────┼─────┼ ⇟ Page down -// │ 7 ↖ │ 8 ↑ │ 9 ↗ │ ⇞ Page up -// │ ⇱ < │ ⇧ > │ ⇞ ^ │ ⎀ Insert -// ├─────┼─────┼─────┤ ␥ Delete -// │ 4 ← │ 5 ↔ │ 6 → │ ⇦⇧⇨⇩ Directions -// │ ⇦ [ │ ] │ ⇨ $ │ ⍽ narrow no-break space -// ├─────┼─────┼─────╆ -// │ 1 ↙ │ 2 ↓ │ 3 ↘ ┃ -// │ ⇲ & │ ⇩ @ │ ⇟ # ┃ 1 None -// ├─────┴─────┼─────┨ 2 Num Lock ⇭ -// │ 0 ↕ │ 3 Level3 ⇮ -// │ ⎀ ' │ 4 Shift+Level3 ⇧⇮ -// └───────────┴ -partial keypad_keys -xkb_symbols "ossnumber_wang" { - - key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; - - key { [ KP_Home, KP_7, less, 0x1002196 ] }; // 7 < ↖ - key { [ KP_Up, KP_8, greater, 0x1002191 ] }; // 8 > ↑ - key { [ KP_Prior, KP_9, asciicircum, 0x1002197 ] }; // 9 ^ ↗ - - key { [ KP_Left, KP_4, bracketleft, 0x1002190 ] }; // 4 [ ← - key { [ KP_Begin, KP_5, bracketright, 0x1002194 ] }; // 5 ] ↔ - key { [ KP_Right, KP_6, dollar, 0x1002192 ] }; // 6 $ → - - key { [ KP_End, KP_1, ampersand, 0x1002199 ] }; // 1 & ↙ - key { [ KP_Down, KP_2, at, 0x1002193 ] }; // 2 @ ↓ - key { [ KP_Next, KP_3, numbersign, 0x1002198 ] }; // 3 # ↘ - - key { [ KP_Insert, KP_0, apostrophe, 0x1002195 ] }; // 0 ' ↕ -}; - -// Standard base "pc" layout only contains cursor keys, and then gets -// augmented with the digits later. If you define your own layout for -// the numpad you can inherit the cursors, but you'll have to define -// the digits yourself. This module can be included in the rules to -// define math operators; these are the variants used in computer -// languages that are based on ASCII. NoSymbol doesn't mean that -// nothing is bound to the key but that no assignment is done here. -// srvr_ctrl(stdkeypad) and keypad(x11) declare the operator keys to -// be of type CTRL+ALT in order to assign server control events to -// them, but it uses the second level which is overwritten if we have -// more than one definition (shift state) for the key. Instead, here -// the commands are put at the fourth level. -partial keypad_keys -xkb_symbols "ops" { - key { [ NoSymbol, slash, NoSymbol, XF86_Ungrab ] }; - key { [ NoSymbol, asterisk, NoSymbol, XF86_ClearGrab ] }; - key { [ NoSymbol, minus, NoSymbol, XF86_Prev_VMode ] }; - key { [ NoSymbol, plus, NoSymbol, XF86_Next_VMode ] }; - key { [ NoSymbol, equal ] }; -}; - -// Hexadecimal Numpad, by Roland Kaufmann -// License: BSD (also covers variant with ATM digit order) -// Third-level gives the letters used in hexadecimal numbers, or -// columns in small spreadsheets. As a bonus, having 'e' available at -// the center of the keyboard makes it easy to enter floating point -// numbers in scientific notation. -// Equal is added to start formulas (most numpads on PCs don't have -// their own equal key), comma as a list separator (as most -// programming languages wants period as a decimal separator) and -// colon to enter times and ranges. Someone also may want to represent -// multiplication and division in prose using x and colon. -// Two first levels are specified as NoSymbol to not override any -// previous specification. Combine this with another keypad specifier, -// e.g. "legacy". -partial keypad_keys -xkb_symbols "hex" { - key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; - - // None NumLock AltGr - // symbol row - key { [ NoSymbol, NoSymbol, parenleft ] }; - key { [ NoSymbol, NoSymbol, parenright ] }; - key { [ NoSymbol, NoSymbol, dollar ] }; - - // upper row - key { [ NoSymbol, NoSymbol, a ] }; - key { [ NoSymbol, NoSymbol, b ] }; - key { [ NoSymbol, NoSymbol, c ] }; - - // home row - key { [ NoSymbol, NoSymbol, d ] }; - key { [ NoSymbol, NoSymbol, e ] }; - key { [ NoSymbol, NoSymbol, f ] }; - key { [ NoSymbol, NoSymbol, comma ] }; - - // lower row - key { [ NoSymbol, NoSymbol, equal ] }; - key { [ NoSymbol, NoSymbol, x ] }; - key { [ NoSymbol, NoSymbol, colon ] }; - - // decimal row - key { [ NoSymbol, NoSymbol, backslash ] }; -}; - -// Main numbers follows the traditions from ATMs and phones with -// numbers increasing downwards to the right. (It is easier to -// change the keyboard layout than to reprogram your local ATM; -// also cell-phones are becoming more common while calculators are -// becoming more rare). -// First level is left unspecified, so it may be combined with another -// layout, e.g. "legacy". -partial keypad_keys -xkb_symbols "atm" { - // upper row - key { [ NoSymbol, KP_1 ] }; - key { [ NoSymbol, KP_2 ] }; - key { [ NoSymbol, KP_3 ] }; - - // lower row - key { [ NoSymbol, KP_7 ] }; - key { [ NoSymbol, KP_8 ] }; - key { [ NoSymbol, KP_9 ] }; -}; - - -partial default modifier_keys -xkb_symbols "pointerkeys" { - key { [ Num_Lock, Pointer_EnableKeys ] }; -}; - -// Only numbers, operators and decimal separator, -// as seen on keypad overlay on Japanese keyboard. -// ┌─┬─┬─┬─┐ -// │7│8│9│*│ -// ├─┼─┼─┼─┤ -// │4│5│6│-│ -// ├─┼─┼─┼─┤ -// │1│2│3│+│ -// ├─┼─┼─┼─┤ -// │0│ │·│/│ -// └─┴─┴─┴─┘ -partial keypad_keys -xkb_symbols "numoperdecsep" { - key { [ KP_7 ] }; - key { [ KP_8 ] }; - key { [ KP_9 ] }; -// ClsGrb kills whichever client has a grab in effect - key { - type="CTRL+ALT", - symbols[Group1]= [ KP_Multiply, XF86_ClearGrab ] - }; - - key { [ KP_4 ] }; - key { [ KP_5 ] }; - key { [ KP_6 ] }; -// -VMode switches to the previous video mode - key { - type="CTRL+ALT", - symbols[Group1]= [ KP_Subtract, XF86_Prev_VMode ] - }; - - key { [ KP_1 ] }; - key { [ KP_2 ] }; - key { [ KP_3 ] }; -// +VMode switches to the next video mode - key { - type="CTRL+ALT", - symbols[Group1]= [ KP_Add, XF86_Next_VMode ] - }; - - key { [ KP_0 ] }; - key { [ KP_Decimal ] }; -// Ungrab cancels server/keyboard/pointer grabs - key { - type="CTRL+ALT", - symbols[Group1]= [ KP_Divide, XF86_Ungrab ] - }; -}; +partial hidden keypad_keys +xkb_symbols "overlay" { + include "keypad(overlay1)" +}; + +partial hidden keypad_keys +xkb_symbols "overlay1" { + + // Begin "Keypad" section + + key { [ KP_Home ], overlay1= }; + key { [ KP_Up ], overlay1= }; + key { [ KP_Prior ], overlay1= }; + + key { [ KP_Left ], overlay1= }; + key { [ KP_Begin ], overlay1= }; + key { [ KP_Right ], overlay1= }; + + key { [ KP_End ], overlay1= }; + key { [ KP_Down ], overlay1= }; + key { [ KP_Next ], overlay1= }; + + key { [ KP_Insert ], overlay1= }; + key { [ KP_Delete ], overlay1= }; + + key { [ KP_7 ] }; + key { [ KP_8 ] }; + key { [ KP_9 ] }; + + key { [ KP_4 ] }; + key { [ KP_5 ] }; + key { [ KP_6 ] }; + + key { [ KP_1 ] }; + key { [ KP_2 ] }; + key { [ KP_3 ] }; + + key { [ KP_0 ] }; + key { [ KP_Decimal ] }; + + // End "Keypad" section +}; + +partial hidden keypad_keys +xkb_symbols "overlay2" { + + // Begin "Keypad" section + + key { [ KP_Home ], overlay2= }; + key { [ KP_Up ], overlay2= }; + key { [ KP_Prior ], overlay2= }; + + key { [ KP_Left ], overlay2= }; + key { [ KP_Begin ], overlay2= }; + key { [ KP_Right ], overlay2= }; + + key { [ KP_End ], overlay2= }; + key { [ KP_Down ], overlay2= }; + key { [ KP_Next ], overlay2= }; + + key { [ KP_Insert ], overlay2= }; + key { [ KP_Delete ], overlay2= }; + + key { [ KP_7 ] }; + key { [ KP_8 ] }; + key { [ KP_9 ] }; + + key { [ KP_4 ] }; + key { [ KP_5 ] }; + key { [ KP_6 ] }; + + key { [ KP_1 ] }; + key { [ KP_2 ] }; + key { [ KP_3 ] }; + + key { [ KP_0 ] }; + key { [ KP_Decimal ] }; + + // End "Keypad" section +}; + +partial hidden default keypad_keys +xkb_symbols "x11" { +// Ungrab cancels server/keyboard/pointer grabs + key { + type="CTRL+ALT", + symbols[Group1]= [ KP_Divide, VoidSymbol, VoidSymbol, VoidSymbol, XF86_Ungrab ] + }; + +// ClsGrb kills whichever client has a grab in effect + key { + type="CTRL+ALT", + symbols[Group1]= [ KP_Multiply, VoidSymbol, VoidSymbol, VoidSymbol, XF86_ClearGrab ] + }; + +// -VMode switches to the previous video mode + key { + type="CTRL+ALT", + symbols[Group1]= [ KP_Subtract, VoidSymbol, VoidSymbol, VoidSymbol, XF86_Prev_VMode ] + }; + + key { [ KP_Home, KP_7 ] }; + key { [ KP_Up, KP_8 ] }; + key { [ KP_Prior, KP_9 ] }; + +// +VMode switches to the next video mode + key { + type="CTRL+ALT", + symbols[Group1]= [ KP_Add, VoidSymbol, VoidSymbol, VoidSymbol, XF86_Next_VMode ] + }; + + key { [ KP_Left, KP_4 ] }; + key { [ KP_Begin, KP_5 ] }; + key { [ KP_Right, KP_6 ] }; + + key { [ KP_End, KP_1 ] }; + key { [ KP_Down, KP_2 ] }; + key { [ KP_Next, KP_3 ] }; + key { [ KP_Enter ] }; + key { [ KP_Equal ] }; + + key { [ KP_Insert, KP_0 ] }; + key { [ KP_Delete, KP_Decimal ] }; + key { [ KP_Decimal, KP_Decimal ] }; +}; + + +// Legacy PC keypad definition +// Copyright © 2006-2007 Nicolas Mailhot +keypad_keys +xkb_symbols "legacy" { + + include "keypad(core)" + include "keypad(legacymath)" + include "keypad(legacynumber)" + include "kpdl(dot)" +}; + + +// Legacy Wang 725-3771-ae and 725-3771-uk keypad definition +// Copyright © 2006-2007 Nicolas Mailhot +keypad_keys +xkb_symbols "legacy_wang" { + + include "keypad(core)" + include "keypad(legacymath)" + include "keypad(legacynumber_wang)" + include "kpdl(dot)" +}; + + +// Complete new keypad definition +// Copyright © 2006-2007 Nicolas Mailhot +keypad_keys +xkb_symbols "oss" { + + include "keypad(core)" + include "keypad(ossmath)" + include "keypad(ossnumber)" + include "kpdl(dotoss)" +}; + + +// Latin9 restriction of new keypad definition +// Copyright © 2006-2007 Nicolas Mailhot +keypad_keys +xkb_symbols "oss_latin9" { + + include "keypad(core)" + include "keypad(ossmath_latin9)" + include "keypad(legacynumber)" + include "kpdl(dotoss_latin9)" +}; + + +// Wang 725-3771-ae and 725-3771-uk keypad variant of oss keypad +// Copyright © 2006-2007 Nicolas Mailhot +keypad_keys +xkb_symbols "oss_wang" { + + include "keypad(core)" + include "keypad(ossmath)" + include "keypad(ossnumber_wang)" + include "kpdl(dotoss)" +}; + + +// Forward-looking keypad definition +// Won't work with applications that make ASCII assumptions +// Copyright © 2007 Nicolas Mailhot +keypad_keys +xkb_symbols "future" { + + include "keypad(core)" + include "keypad(futuremath)" + include "keypad(ossnumber)" + include "kpdl(commaoss)" +}; + + +// Forward-looking keypad definition +// Won't work with applications that make ASCII assumptions +// Copyright © 2007 Nicolas Mailhot +keypad_keys +xkb_symbols "future_wang" { + + include "keypad(core)" + include "keypad(futuremath)" + include "keypad(ossnumber_wang)" + include "kpdl(commaoss)" +}; + + +// Keypad keys nobody changes +// Copyright © 2006 Nicolas Mailhot +partial keypad_keys +xkb_symbols "core" { + + modifier_map Mod2 { Num_Lock }; + + key { [ Num_Lock, Pointer_EnableKeys ] }; + key { [ KP_Enter ] }; + key { [ KP_Equal ] }; +}; + + +// Legacy keypad math area +// Copyright © 2006 Nicolas Mailhot +// +// ┏━━━━━┱─────┬─────┬─────┐ +// ┃Num ┃ ₁ │ ₂ │ ₃ │ ₁ +// ┃Lock⇭┃ / │ * │ - │ ₂ +// ┡━━━━━╃─────┼─────┼─────┤ ₃ +// │ ₄ │ ₄ +// │ │ +// ┤ │ 1 None +// │ │ 2 Ctrl+Alt +// │ + │ +// ╆━━━━━┪ +partial keypad_keys +xkb_symbols "legacymath" { + + key.type[Group1]="CTRL+ALT" ; + + key { [ KP_Divide, VoidSymbol, VoidSymbol, VoidSymbol, XF86_Ungrab ] }; // / + key { [ KP_Multiply, VoidSymbol, VoidSymbol, VoidSymbol, XF86_ClearGrab ] }; // * + key { [ KP_Subtract, VoidSymbol, VoidSymbol, VoidSymbol, XF86_Prev_VMode ] }; // - + + key { [ KP_Add, VoidSymbol, VoidSymbol, VoidSymbol, XF86_Next_VMode ] }; // + + +}; + + +// Keypad math area with non-CS operators +// Copyright © 2006 Nicolas Mailhot +// +// ┏━━━━━┱─────┬─────┬─────┐ +// ┃Num ┃ ∕ ₁ │ . ₂ │ − ₃ │ ₁ +// ┃Lock⇭┃ / ÷ │ * × │ - − │ ₂ +// ┡━━━━━╃─────┼─────┼─────┤ ₃ +// │ + ₄ │ ₄ +// │ │ +// ┤ │ 1 None +// │ │ 2 Level3 ⇮ +// │ + + │ 3 Shift+Level3 ⇧⇮ +// ╆━━━━━┪ 4 Ctrl+Alt +partial keypad_keys +xkb_symbols "ossmath" { + + key.type[Group1]="FOUR_LEVEL_X" ; + + key { [ KP_Divide, 0x1002215, 0x10000F7, XF86_Ungrab ] }; // / ∕ ÷ + key { [ KP_Multiply, 0x10022C5, 0x10000D7, XF86_ClearGrab ] }; // * ⋅ × + key { [ KP_Subtract, 0x1002212, 0x1002212, XF86_Prev_VMode ] }; // - − − + + key { [ KP_Add, 0x100002B, 0x100002B, XF86_Next_VMode ] }; // + + + + +}; + + +// Keypad math area with non-CS operators in first levels +// As demanded by users not interested in legacy pre-unicode junk +// Copyright © 2007 Nicolas Mailhot +// +// ┏━━━━━┱─────┬─────┬─────┐ +// ┃Num ┃ / ₁ │ * ₂ │ - ₃ │ ₁ +// ┃Lock⇭┃ ∕ ÷ │ . × │ − − │ ₂ +// ┡━━━━━╃─────┼─────┼─────┤ ₃ +// │ + ₄ │ ₄ +// │ │ +// ┤ │ 1 None +// │ │ 2 Level3 ⇮ +// │ + + │ 3 Shift+Level3 ⇧⇮ +// ╆━━━━━┪ 4 Ctrl+Alt +partial keypad_keys +xkb_symbols "futuremath" { + + key.type[Group1]="FOUR_LEVEL_X" ; + + key { [ 0x1002215, KP_Divide, 0x10000F7, XF86_Ungrab ] }; // ∕ / ÷ + key { [ 0x10022C5, KP_Multiply, 0x10000D7, XF86_ClearGrab ] }; // ⋅ * × + key { [ 0x1002212, KP_Subtract, 0x1002212, XF86_Prev_VMode ] }; // − - − + + key { [ 0x100002B, KP_Add, 0x100002B, XF86_Next_VMode ] }; // + + + +}; + + +// Keypad math area with non-CS operators, restricted to latin9 +// Copyright © 2006 Nicolas Mailhot +// +// ┏━━━━━┱─────┬─────┬─────┐ +// ┃Num ┃ / ₁ │ · ₂ │ - ₃ │ ₁ +// ┃Lock⇭┃ / ÷ │ * × │ - - │ ₂ +// ┡━━━━━╃─────┼─────┼─────┤ ₃ +// │ + ₄ │ ₄ +// │ │ +// ┤ │ 1 None +// │ │ 2 Level3 ⇮ +// │ + + │ 3 Shift+Level3 ⇧⇮ +// ╆━━━━━┪ 4 Ctrl+Alt +partial keypad_keys +xkb_symbols "ossmath_latin9" { + + key.type[Group1]="FOUR_LEVEL_X"; + + key { [ KP_Divide, slash, division, XF86_Ungrab ] }; // / / ÷ + key { [ KP_Multiply, periodcentered, multiply, XF86_ClearGrab ] }; // * · × + key { [ KP_Subtract, minus, minus, XF86_Prev_VMode ] }; // - - - + + key { [ KP_Add, plus, plus, XF86_Next_VMode ] }; // + + + +}; + + +// Legacy keypad number area +// Copyright © 2006 Nicolas Mailhot +// +// ┏━━━━━┱ ⇱ Home +// ┃Num ┃ ⇲ End +// ┃Lock⇭┃ ⇞ Page up +// ┡━━━━━╃─────┼─────┼ ⇟ Page down +// │ 7 │ 8 │ 9 │ ⇞ Page up +// │ ⇱ │ ⇧ │ ⇞ │ ⎀ Insert +// ├─────┼─────┼─────┤ ␥ Delete +// │ 4 │ 5 │ 6 │ ⇦⇧⇨⇩ Directions +// │ ⇦ │ │ ⇨ │ +// ├─────┼─────┼─────╆ +// │ 1 │ 2 │ 3 ┃ +// │ ⇲ │ ⇩ │ ⇟ ┃ 1 None +// ├─────┴─────┼─────┨ 2 Num Lock ⇭ +// │ 0 │ +// │ ⎀ │ +// └───────────┴ +partial keypad_keys +xkb_symbols "legacynumber" { + + key.type[Group1]="KEYPAD" ; + + key { [ KP_Home, KP_7 ] }; // 7 + key { [ KP_Up, KP_8 ] }; // 8 + key { [ KP_Prior, KP_9 ] }; // 9 + + key { [ KP_Left, KP_4 ] }; // 4 + key { [ KP_Begin, KP_5 ] }; // 5 + key { [ KP_Right, KP_6 ] }; // 6 + + key { [ KP_End, KP_1 ] }; // 1 + key { [ KP_Down, KP_2 ] }; // 2 + key { [ KP_Next, KP_3 ] }; // 3 + + key { [ KP_Insert, KP_0 ] }; // 0 +}; + + +// Legacy Wang 725-3771-ae and 725-3771-uk keypad number area +// Copyright © 2007 Nicolas Mailhot +// This is actually a three-level keypad, declared as four-level +// to avoid defining a new type +// +// ┏━━━━━┱ ⇱ Home +// ┃Num ┃ ⇲ End +// ┃Lock⇭┃ ⇞ Page up +// ┡━━━━━╃─────┼─────┼ ⇟ Page down +// │ 7 │ 8 │ 9 │ ⇞ Page up +// │ ⇱ < │ ⇧ > │ ⇞ ^ │ ⎀ Insert +// ├─────┼─────┼─────┤ ␥ Delete +// │ 4 │ 5 │ 6 │ ⇦⇧⇨⇩ Directions +// │ ⇦ [ │ ] │ ⇨ $ │ +// ├─────┼─────┼─────╆ +// │ 1 │ 2 │ 3 ┃ +// │ ⇲ & │ ⇩ @ │ ⇟ # ┃ 1 None +// ├─────┴─────┼─────┨ 2 Num Lock ⇭ +// │ 0 │ 3 Level3 ⇮ +// │ ⎀ │ +// └───────────┴ +partial keypad_keys +xkb_symbols "legacynumber_wang" { + + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; + + key { [ KP_Home, KP_7, less ] }; // 7 < + key { [ KP_Up, KP_8, greater ] }; // 8 > + key { [ KP_Prior, KP_9, asciicircum ] }; // 9 ^ + + key { [ KP_Left, KP_4, bracketleft ] }; // 4 [ + key { [ KP_Begin, KP_5, bracketright ] }; // 5 ] + key { [ KP_Right, KP_6, dollar ] }; // 6 $ + + key { [ KP_End, KP_1, ampersand ] }; // 1 & + key { [ KP_Down, KP_2, at ] }; // 2 @ + key { [ KP_Next, KP_3, numbersign ] }; // 3 # + + key { [ KP_Insert, KP_0, apostrophe ] }; // 0 ' +}; + + +// Keypad number area with arrow symbols +// Copyright © 2006 Nicolas Mailhot +// +// ┏━━━━━┱ ⇱ Home +// ┃Num ┃ ⇲ End +// ┃Lock⇭┃ ⇞ Page up +// ┡━━━━━╃─────┼─────┼ ⇟ Page down +// │ 7 ⇖ │ 8 ⇑ │ 9 ⇗ │ ⇞ Page up +// │ ⇱ ↖ │ ⇧ ↑ │ ⇞ ↗ │ ⎀ Insert +// ├─────┼─────┼─────┤ ␥ Delete +// │ 4 ⇐ │ 5 ⇔ │ 6 ⇗ │ ⇦⇧⇨⇩ Directions +// │ ⇦ ← │ ↔ │ ⇨ ↗ │ ⍽ narrow no-break space +// ├─────┼─────┼─────╆ +// │ 1 ⇙ │ 2 ⇓ │ 3 ⇘ ┃ +// │ ⇲ ↙ │ ⇩ ↓ │ ⇟ ↘ ┃ 1 None +// ├─────┴─────┼─────┨ 2 Num Lock ⇭ +// │ 0 ⇕ │ 3 Level3 ⇮ +// │ ⎀ ↕ │ 4 Shift+Level3 ⇧⇮ +// └───────────┴ +partial keypad_keys +xkb_symbols "ossnumber" { + + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; + + key { [ KP_Home, KP_7, 0x1002196, 0x10021D6 ] }; // 7 ↖ ⇖ + key { [ KP_Up, KP_8, 0x1002191, 0x10021D1 ] }; // 8 ↑ ⇑ + key { [ KP_Prior, KP_9, 0x1002197, 0x10021D7 ] }; // 9 ↗ ⇗ + + key { [ KP_Left, KP_4, 0x1002190, 0x10021D0 ] }; // 4 ← ⇐ + key { [ KP_Begin, KP_5, 0x1002194, 0x10021D4 ] }; // 5 ↔ ⇔ + key { [ KP_Right, KP_6, 0x1002192, 0x10021D2 ] }; // 6 → ⇒ + + key { [ KP_End, KP_1, 0x1002199, 0x10021D9 ] }; // 1 ↙ ⇙ + key { [ KP_Down, KP_2, 0x1002193, 0x10021D3 ] }; // 2 ↓ ⇓ + key { [ KP_Next, KP_3, 0x1002198, 0x10021D8 ] }; // 3 ↘ ⇘ + + key { [ KP_Insert, KP_0, 0x1002195, 0x10021D5 ] }; // 0 ↕ ⇕ +}; + + +// Wang 725-3771-ae and 725-3771-uk keypad number area with additional arrow symbols +// Copyright © 2007 Nicolas Mailhot +// +// ┏━━━━━┱ ⇱ Home +// ┃Num ┃ ⇲ End +// ┃Lock⇭┃ ⇞ Page up +// ┡━━━━━╃─────┼─────┼ ⇟ Page down +// │ 7 ↖ │ 8 ↑ │ 9 ↗ │ ⇞ Page up +// │ ⇱ < │ ⇧ > │ ⇞ ^ │ ⎀ Insert +// ├─────┼─────┼─────┤ ␥ Delete +// │ 4 ← │ 5 ↔ │ 6 → │ ⇦⇧⇨⇩ Directions +// │ ⇦ [ │ ] │ ⇨ $ │ ⍽ narrow no-break space +// ├─────┼─────┼─────╆ +// │ 1 ↙ │ 2 ↓ │ 3 ↘ ┃ +// │ ⇲ & │ ⇩ @ │ ⇟ # ┃ 1 None +// ├─────┴─────┼─────┨ 2 Num Lock ⇭ +// │ 0 ↕ │ 3 Level3 ⇮ +// │ ⎀ ' │ 4 Shift+Level3 ⇧⇮ +// └───────────┴ +partial keypad_keys +xkb_symbols "ossnumber_wang" { + + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; + + key { [ KP_Home, KP_7, less, 0x1002196 ] }; // 7 < ↖ + key { [ KP_Up, KP_8, greater, 0x1002191 ] }; // 8 > ↑ + key { [ KP_Prior, KP_9, asciicircum, 0x1002197 ] }; // 9 ^ ↗ + + key { [ KP_Left, KP_4, bracketleft, 0x1002190 ] }; // 4 [ ← + key { [ KP_Begin, KP_5, bracketright, 0x1002194 ] }; // 5 ] ↔ + key { [ KP_Right, KP_6, dollar, 0x1002192 ] }; // 6 $ → + + key { [ KP_End, KP_1, ampersand, 0x1002199 ] }; // 1 & ↙ + key { [ KP_Down, KP_2, at, 0x1002193 ] }; // 2 @ ↓ + key { [ KP_Next, KP_3, numbersign, 0x1002198 ] }; // 3 # ↘ + + key { [ KP_Insert, KP_0, apostrophe, 0x1002195 ] }; // 0 ' ↕ +}; + +// Standard base "pc" layout only contains cursor keys, and then gets +// augmented with the digits later. If you define your own layout for +// the numpad you can inherit the cursors, but you'll have to define +// the digits yourself. This module can be included in the rules to +// define math operators; these are the variants used in computer +// languages that are based on ASCII. NoSymbol doesn't mean that +// nothing is bound to the key but that no assignment is done here. +// srvr_ctrl(stdkeypad) and keypad(x11) declare the operator keys to +// be of type CTRL+ALT in order to assign server control events to +// them, but it uses the second level which is overwritten if we have +// more than one definition (shift state) for the key. Instead, here +// the commands are put at the fourth level. +partial keypad_keys +xkb_symbols "ops" { + key { [ NoSymbol, slash, NoSymbol, XF86_Ungrab ] }; + key { [ NoSymbol, asterisk, NoSymbol, XF86_ClearGrab ] }; + key { [ NoSymbol, minus, NoSymbol, XF86_Prev_VMode ] }; + key { [ NoSymbol, plus, NoSymbol, XF86_Next_VMode ] }; + key { [ NoSymbol, equal ] }; +}; + +// Hexadecimal Numpad, by Roland Kaufmann +// License: BSD (also covers variant with ATM digit order) +// Third-level gives the letters used in hexadecimal numbers, or +// columns in small spreadsheets. As a bonus, having 'e' available at +// the center of the keyboard makes it easy to enter floating point +// numbers in scientific notation. +// Equal is added to start formulas (most numpads on PCs don't have +// their own equal key), comma as a list separator (as most +// programming languages wants period as a decimal separator) and +// colon to enter times and ranges. Someone also may want to represent +// multiplication and division in prose using x and colon. +// Two first levels are specified as NoSymbol to not override any +// previous specification. Combine this with another keypad specifier, +// e.g. "legacy". +partial keypad_keys +xkb_symbols "hex" { + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; + + // None NumLock AltGr + // symbol row + key { [ NoSymbol, NoSymbol, parenleft ] }; + key { [ NoSymbol, NoSymbol, parenright ] }; + key { [ NoSymbol, NoSymbol, dollar ] }; + + // upper row + key { [ NoSymbol, NoSymbol, a ] }; + key { [ NoSymbol, NoSymbol, b ] }; + key { [ NoSymbol, NoSymbol, c ] }; + + // home row + key { [ NoSymbol, NoSymbol, d ] }; + key { [ NoSymbol, NoSymbol, e ] }; + key { [ NoSymbol, NoSymbol, f ] }; + key { [ NoSymbol, NoSymbol, comma ] }; + + // lower row + key { [ NoSymbol, NoSymbol, equal ] }; + key { [ NoSymbol, NoSymbol, x ] }; + key { [ NoSymbol, NoSymbol, colon ] }; + + // decimal row + key { [ NoSymbol, NoSymbol, backslash ] }; +}; + +// Main numbers follows the traditions from ATMs and phones with +// numbers increasing downwards to the right. (It is easier to +// change the keyboard layout than to reprogram your local ATM; +// also cell-phones are becoming more common while calculators are +// becoming more rare). +// First level is left unspecified, so it may be combined with another +// layout, e.g. "legacy". +partial keypad_keys +xkb_symbols "atm" { + // upper row + key { [ NoSymbol, KP_1 ] }; + key { [ NoSymbol, KP_2 ] }; + key { [ NoSymbol, KP_3 ] }; + + // lower row + key { [ NoSymbol, KP_7 ] }; + key { [ NoSymbol, KP_8 ] }; + key { [ NoSymbol, KP_9 ] }; +}; + + +partial default modifier_keys +xkb_symbols "pointerkeys" { + key { [ Num_Lock, Pointer_EnableKeys ] }; +}; + +// Only numbers, operators and decimal separator, +// as seen on keypad overlay on Japanese keyboard. +// ┌─┬─┬─┬─┐ +// │7│8│9│*│ +// ├─┼─┼─┼─┤ +// │4│5│6│-│ +// ├─┼─┼─┼─┤ +// │1│2│3│+│ +// ├─┼─┼─┼─┤ +// │0│ │·│/│ +// └─┴─┴─┴─┘ +partial keypad_keys +xkb_symbols "numoperdecsep" { + key { [ KP_7 ] }; + key { [ KP_8 ] }; + key { [ KP_9 ] }; +// ClsGrb kills whichever client has a grab in effect + key { + type="CTRL+ALT", + symbols[Group1]= [ KP_Multiply, VoidSymbol, VoidSymbol, VoidSymbol, XF86_ClearGrab ] + }; + + key { [ KP_4 ] }; + key { [ KP_5 ] }; + key { [ KP_6 ] }; +// -VMode switches to the previous video mode + key { + type="CTRL+ALT", + symbols[Group1]= [ KP_Subtract, VoidSymbol, VoidSymbol, VoidSymbol, XF86_Prev_VMode ] + }; + + key { [ KP_1 ] }; + key { [ KP_2 ] }; + key { [ KP_3 ] }; +// +VMode switches to the next video mode + key { + type="CTRL+ALT", + symbols[Group1]= [ KP_Add, VoidSymbol, VoidSymbol, VoidSymbol, XF86_Next_VMode ] + }; + + key { [ KP_0 ] }; + key { [ KP_Decimal ] }; +// Ungrab cancels server/keyboard/pointer grabs + key { + type="CTRL+ALT", + symbols[Group1]= [ KP_Divide, VoidSymbol, VoidSymbol, VoidSymbol, XF86_Ungrab ] + }; +}; diff --git a/xorg-server/xkeyboard-config/symbols/srvr_ctrl b/xorg-server/xkeyboard-config/symbols/srvr_ctrl index 8bdf503a1..7d47d66a3 100644 --- a/xorg-server/xkeyboard-config/symbols/srvr_ctrl +++ b/xorg-server/xkeyboard-config/symbols/srvr_ctrl @@ -12,25 +12,25 @@ xkb_symbols "stdkeypad" { // Ungrab cancels server/keyboard/pointer grabs key { type="CTRL+ALT", - symbols[Group1]= [ KP_Divide, XF86_Ungrab ] + symbols[Group1]= [ KP_Divide, VoidSymbol, VoidSymbol, VoidSymbol, XF86_Ungrab ] }; // ClsGrb kills whichever client has a grab in effect key { type="CTRL+ALT", - symbols[Group1]= [ KP_Multiply, XF86_ClearGrab ] + symbols[Group1]= [ KP_Multiply, VoidSymbol, VoidSymbol, VoidSymbol, XF86_ClearGrab ] }; // -VMode switches to the previous video mode key { type="CTRL+ALT", - symbols[Group1]= [ KP_Subtract, XF86_Prev_VMode ] + symbols[Group1]= [ KP_Subtract, VoidSymbol, VoidSymbol, VoidSymbol, XF86_Prev_VMode ] }; // +VMode switches to the next video mode key { type="CTRL+ALT", - symbols[Group1]= [ KP_Add, XF86_Next_VMode] + symbols[Group1]= [ KP_Add, VoidSymbol, VoidSymbol, VoidSymbol, XF86_Next_VMode] }; }; diff --git a/xorg-server/xkeyboard-config/symbols/terminate b/xorg-server/xkeyboard-config/symbols/terminate index 8bb528cf8..96dd6e8f2 100644 --- a/xorg-server/xkeyboard-config/symbols/terminate +++ b/xorg-server/xkeyboard-config/symbols/terminate @@ -1,7 +1,7 @@ -partial default modifier_keys -xkb_symbols "ctrl_alt_bksp" { - key { - type="CTRL+ALT", - symbols[Group1] = [ NoSymbol, Terminate_Server ] - }; -}; +partial default modifier_keys +xkb_symbols "ctrl_alt_bksp" { + key { + type="CTRL+ALT", + symbols[Group1] = [ NoSymbol, VoidSymbol, VoidSymbol, VoidSymbol, Terminate_Server ] + }; +}; -- cgit v1.2.3