aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/xkeyboard-config
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/xkeyboard-config')
-rw-r--r--xorg-server/xkeyboard-config/README38
-rw-r--r--xorg-server/xkeyboard-config/docs/README.symbols45
-rw-r--r--xorg-server/xkeyboard-config/symbols/altwin80
-rw-r--r--xorg-server/xkeyboard-config/symbols/be8
-rw-r--r--xorg-server/xkeyboard-config/symbols/capslock34
-rw-r--r--xorg-server/xkeyboard-config/symbols/ctrl44
-rw-r--r--xorg-server/xkeyboard-config/symbols/level369
-rw-r--r--xorg-server/xkeyboard-config/symbols/level569
-rw-r--r--xorg-server/xkeyboard-config/symbols/rs2
-rw-r--r--xorg-server/xkeyboard-config/symbols/shift29
10 files changed, 208 insertions, 210 deletions
diff --git a/xorg-server/xkeyboard-config/README b/xorg-server/xkeyboard-config/README
index d91eda6e6..2be1ab633 100644
--- a/xorg-server/xkeyboard-config/README
+++ b/xorg-server/xkeyboard-config/README
@@ -1,28 +1,28 @@
X Keyboard Extension
--------------------
-The X Keyboard Extension essentially replaces the core protocol definition of
-keyboard. The extension makes possible to clearly and explicitly specify most
-aspects of keyboard behaviour on per-key basis and to more closely track the
-logical and physical state of the keyboard. It also includes a number of
-keyboard controls designed to make keyboards more accessible to people with
-physical impairments.
+The X Keyboard Extension essentially replaces the core protocol definition
+of the keyboard. The extension makes it possible to clearly and explicitly
+specify most aspects of keyboard behaviour on a per-key basis and to more
+closely track the logical and physical state of the keyboard. It also
+includes a number of keyboard controls designed to make keyboards more
+accessible to people with physical impairments.
-There are five types of components in the server database corresponing to five
-xkb symbolic names: symbols, geometry, keycodes, compat and types which
-determine the keyboard behaviour. These five components can combined together
-into a resulting keyboard mapping using the 'rules' component.
+There are five types of components in the server database corresponding to
+five xkb symbolic names (symbols, geometry, keycodes, compat, and types)
+which determine the keyboard behaviour. These five components can be
+combined into a resulting keyboard mapping using the 'rules' component.
-The complete specification can be found on
-http://xfree86.org/current/XKBproto.pdf
+The complete specification can be found in:
+ http://www.x.org/current/doc/kbproto/xkbproto.pdf
-For XKB configuration information see 'docs/README.config' file.
+For XKB configuration information, see the 'docs/README.config' file.
-For information how to further enhance XKB configuration see 'docs/README.enhancing'
-file.
+For information on how to further enhance XKB configuration, see the
+'docs/README.enhancing' file.
-For information how to replace existing XKB configuration database with
-XKeyboardConfig see 'docs/HOWTO.transition' file.
+For information on how to replace an existing XKB configuration database
+with XKeyboardConfig, see the 'docs/HOWTO.transition' file.
-Contribution guidelines are described at
-http://www.freedesktop.org/wiki/Software/XKeyboardConfig/Rules
+Contribution guidelines are described on:
+ http://www.freedesktop.org/wiki/Software/XKeyboardConfig/Rules
diff --git a/xorg-server/xkeyboard-config/docs/README.symbols b/xorg-server/xkeyboard-config/docs/README.symbols
index 749618e77..31ca053eb 100644
--- a/xorg-server/xkeyboard-config/docs/README.symbols
+++ b/xorg-server/xkeyboard-config/docs/README.symbols
@@ -1,51 +1,48 @@
-The files in the symbols directory describe possible layouts for a given
-keyboard.
+The files in the symbols directory describe possible keyboard layouts
+for a given country or language or script.
The default layout in each file should describe the most common layout
-for its kind, usually the symbols printed on the keys. Layout variants
-can describe common differences that are not necessarily printed on the keys.
-(e.g. a phonetic version of Cyrillic).
+for its kind, usually the one that matches the symbols printed on the
+keys. Layout variants can describe common deviations that are not
+necessarily printed on the keys (e.g. a phonetic version of Cyrillic).
-The names of the files are referenced throughout the XKB rules, and may be
-exposed in the X server configuration and in user configuration tools.
+The names of the files are referenced throughout the XKB rules, and may
+be exposed in the X server configuration and in user configuration tools.
The filenames use the following convention:
Country layouts:
-
Keyboard layouts for a country must use the 2-letter code from the
ISO-3166 standard.
Language layouts:
-
Keyboard layouts for a language must use the 3-letter code from the
ISO-639 standard.
Script layouts:
-
Keyboard layouts for a script must use the 4-letter code from the
ISO-15924 standard.
Other:
+ Keyboard layouts that do not fit in the above categories must use a
+ filename between 5 and 8 characters.
- Keyboard layouts that do not fit in the above model and directories
- must use a filename between 5 and 8 characters.
-
-The ISO codes can be found at the following addressed:
+The relevant ISO codes can be found at the following addresses:
-Country layouts: http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/iso_3166-1_decoding_table.html
-Language layouts: http://www.loc.gov/standards/iso639-2/langcodes.html
+Country layouts: http://www.iso.org/iso/home/standards/country_codes/iso-3166-1_decoding_table.htm
+Language layouts: http://www.loc.gov/standards/iso639-2/php/code_list.php
Script layouts: http://www.unicode.org/iso15924/iso15924-codes.html
-The description in the directory file base.xml.in should match the group names
-in the symbols file.
+The descriptions of the layouts in the file base.xml.in should match the
+group names in the symbols file.
-If the layout is country-based, this has to be the full
-name of the country. It is highly not recommended to use the forms
-"Republic of XXX" or "XXX Republic" - the form "XXX" should be used instead.
-The only exception is "United Kingdom".
+If the layout is country-based, the group name has to be the full name of
+the country. It is highly discouraged to use forms like "Republic of XXX"
+or "XXX Republic" -- the form "XXX" should be used instead. The only
+exception is "United Kingdom".
-If the layout is language-based, this has to be the name of the language.
+If the layout is language-based, the group name has to be the name of the
+language.
-Within single symbols file, all the variants should have the same group name
+Within a single symbols file, all the variants should have the same group name
(implemented using the "include" directive wherever possible).
diff --git a/xorg-server/xkeyboard-config/symbols/altwin b/xorg-server/xkeyboard-config/symbols/altwin
index c65727db4..333b7dacd 100644
--- a/xorg-server/xkeyboard-config/symbols/altwin
+++ b/xorg-server/xkeyboard-config/symbols/altwin
@@ -1,100 +1,106 @@
+// Meta is mapped to second level of Alt keys.
partial modifier_keys
xkb_symbols "meta_alt" {
- key <LALT> { [ Alt_L, Meta_L ] };
+ key <LALT> { [ Alt_L, Meta_L ] };
key <RALT> { type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ Alt_R, Meta_R ] };
- modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
-// modifier_map Mod4 {};
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+// modifier_map Mod4 {};
};
-// Alt is mapped to the Win-keys (and the usual Alt keys).
+// Alt is mapped to the Win keys (and the usual Alt keys).
partial modifier_keys
xkb_symbols "alt_win" {
- key <LWIN> { [ Alt_L ] };
- key <RWIN> { [ Alt_R ] };
+ key <LWIN> { [ Alt_L ] };
+ key <RWIN> { [ Alt_R ] };
modifier_map Mod1 { <LWIN>, <RWIN> };
};
-// Ctrl is mapped to the Win-keys (and the usual Ctrl keys).
+// Ctrl is mapped to the Win keys (and the usual Ctrl keys).
partial modifier_keys
xkb_symbols "ctrl_win" {
- key <LWIN> { [ Control_L ] };
- key <RWIN> { [ Control_R ] };
+ key <LWIN> { [ Control_L ] };
+ key <RWIN> { [ Control_R ] };
modifier_map Control { <LWIN>, <RWIN> };
};
-// Ctrl is mapped to the Alt-keys, Alt is mapped to the Win-keys, Win is mapped to the Ctrl-keys.
+// Ctrl is mapped to the Alt keys, Alt to the Win keys, and Win to the Ctrl keys.
partial modifier_keys
xkb_symbols "ctrl_alt_win" {
- key <LALT> { [ Control_L, Control_L ] };
+ key <LALT> { [ Control_L, Control_L ] };
key <RALT> { type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ Control_R, Control_R ] };
- key <LWIN> { [ Alt_L, Meta_L ] };
- key <RWIN> { [ Alt_R, Meta_R ] };
+ key <LWIN> { [ Alt_L, Meta_L ] };
+ key <RWIN> { [ Alt_R, Meta_R ] };
modifier_map Control { <RALT>, <LALT> };
- modifier_map Mod1 { <LWIN>, <RWIN> };
+ modifier_map Mod1 { <LWIN>, <RWIN> };
};
-
+// Meta is mapped to the Win keys.
partial modifier_keys
xkb_symbols "meta_win" {
- key <LALT> { [ Alt_L, Alt_L ] };
+ key <LALT> { [ Alt_L, Alt_L ] };
key <RALT> { type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ Alt_R, Alt_R ] };
- key <LWIN> { [ Meta_L ] };
- key <RWIN> { [ Meta_R ] };
- modifier_map Mod1 { Alt_L, Alt_R };
- modifier_map Mod4 { <META>, Meta_L, Meta_R };
+ key <LWIN> { [ Meta_L ] };
+ key <RWIN> { [ Meta_R ] };
+ modifier_map Mod1 { Alt_L, Alt_R };
+ modifier_map Mod4 { <META>, Meta_L, Meta_R };
};
+// Meta is mapped to the left Win key.
partial modifier_keys
xkb_symbols "left_meta_win" {
- key <LALT> { [ Alt_L, Alt_L ] };
- key <LWIN> { [ Meta_L ] };
- modifier_map Mod1 { Alt_L };
- modifier_map Mod4 { <META>, Meta_L };
+ key <LALT> { [ Alt_L, Alt_L ] };
+ key <LWIN> { [ Meta_L ] };
+ modifier_map Mod1 { Alt_L };
+ modifier_map Mod4 { <META>, Meta_L };
};
+// Hyper is mapped to the Win keys.
partial modifier_keys
xkb_symbols "hyper_win" {
- key <LWIN> { [ Hyper_L ] };
- key <RWIN> { [ Hyper_R ] };
- modifier_map Mod4 { Hyper_L, Hyper_R };
+ key <LWIN> { [ Hyper_L ] };
+ key <RWIN> { [ Hyper_R ] };
+ modifier_map Mod4 { Hyper_L, Hyper_R };
};
-// Use Menu for the menu key
+// Menu is mapped to the Menu key.
partial modifier_keys
xkb_symbols "menu" {
- key <MENU> { [ Menu ] };
+ key <MENU> { [ Menu ] };
};
// Layout for Tux key caps with additional right Alt key
partial modifier_keys
xkb_symbols "alt_super_win" {
- key <LALT> { [ Alt_L, Meta_L ] };
- key <RWIN> { [ Alt_R, Meta_R ] };
- key <LWIN> { [ Super_L ] };
- key <MENU> { [ Super_R ] };
- modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
- modifier_map Mod4 { Super_L, Super_R };
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <RWIN> { [ Alt_R, Meta_R ] };
+ key <LWIN> { [ Super_L ]};
+ key <MENU> { [ Super_R ] };
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+ modifier_map Mod4 { Super_L, Super_R };
};
+// Swap the Alt and Win keys.
partial modifier_keys
xkb_symbols "swap_alt_win" {
include "altwin(swap_lalt_lwin)"
include "altwin(swap_ralt_rwin)"
};
+// Swap the left Alt and Win keys.
partial hidden modifier_keys
xkb_symbols "swap_lalt_lwin" {
key <LALT> { type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ Super_L ] };
- key <LWIN> { [ Alt_L, Meta_L ] };
+ key <LWIN> { [ Alt_L, Meta_L ] };
};
+// Swap the right Alt and Win keys.
partial hidden modifier_keys
xkb_symbols "swap_ralt_rwin" {
key <RALT> { type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ Super_R ] };
- key <RWIN> { [ Alt_R, Meta_R ] };
+ key <RWIN> { [ Alt_R, Meta_R ] };
};
diff --git a/xorg-server/xkeyboard-config/symbols/be b/xorg-server/xkeyboard-config/symbols/be
index 286e9289e..c89a9338c 100644
--- a/xorg-server/xkeyboard-config/symbols/be
+++ b/xorg-server/xkeyboard-config/symbols/be
@@ -51,11 +51,11 @@ xkb_symbols "basic" {
// │ ³ ≤ │ 1 ≥ │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ™ │ 7 È │ 8 ¡ │ 9 Ç │ 0 À │ ° Ø │ _ ± ┃ ⌫ Retour┃
// │ ² ¹ │ & | │ é @ │ " # │ ' ¸ │ ( ˇ │ § ^ │ è ` │ ! ~ │ ç { │ à } │ ) ø │ - ‑ ┃ arrière┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
-// ┃ ┃ A Æ │ Z  │ E ¢ │ R Ê │ T Þ │ Y Ÿ │ U Û │ I Î │ O Œ │ P Ô │ ¨ ˚ │ * ̨ ┃Entrée ┃
+// ┃ ┃ A Æ │ Z  │ E ¢ │ R Ê │ T Þ │ Y Ÿ │ U Û │ I Î │ O Œ │ P Ô │ ¨ ˚ │ * ̨ ┃Entrée ┃
// ┃Tab ↹ ┃ a æ │ z â │ e € │ r ê │ t þ │ y ÿ │ u û │ i î │ o œ │ p ô │ ^ [ │ $ ] ┃ ⏎ ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
-// ┃ ┃ Q Ä │ S „ │ D Ë │ F ‚ │ G ¥ │ H Ð │ J Ü │ K Ï │ L Ł │ M Ö │ % Ù │ £ ̄ ┃ ┃
-// ┃Maj ⇬ ┃ q ä │ s ß │ d ë │ f ‘ │ g ’ │ h ð │ j ü │ k ï │ l ł │ m ö │ ù ' │ µ ` ┃ ┃
+// ┃ ┃ Q Ä │ S „ │ D Ë │ F ‚ │ G ¥ │ H Ð │ J Ü │ K Ï │ L │ M Ö │ % Ù │ £ ̄ ┃ ┃
+// ┃Maj ⇬ ┃ q ä │ s ß │ d ë │ f ‘ │ g ’ │ h ð │ j ü │ k ï │ l / │ m ö │ ù ' │ µ ` ┃ ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃ ┃ > ≠ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N → │ ? … │ . . │ / ∕ │ + − ┃ ┃
// ┃Shift ⇧┃ < \ │ w « │ x » │ c © │ v ⍽ │ b ↓ │ n ¬ │ , ¿ │ ; × │ : ÷ │ = ~ ┃Shift ⇧ ┃
@@ -92,7 +92,7 @@ xkb_symbols "oss_frbe" {
key <AD12> { [ dollar, asterisk, bracketright, dead_ogonek ] }; // $ * ] ̨
// Third row
- key <AC09> { [ l, L, dead_stroke ] }; // l L ł Ł
+ key <AC09> { [ l, L, dead_stroke ] };
key <BKSL> { [ mu, sterling, dead_grave, dead_macron ] }; // µ £ ` ̄
// Fourth row
diff --git a/xorg-server/xkeyboard-config/symbols/capslock b/xorg-server/xkeyboard-config/symbols/capslock
index 3e0880573..8b315c6f1 100644
--- a/xorg-server/xkeyboard-config/symbols/capslock
+++ b/xorg-server/xkeyboard-config/symbols/capslock
@@ -1,68 +1,68 @@
default partial hidden modifier_keys
xkb_symbols "capslock" {
- replace key <CAPS> { [ Caps_Lock ] };
+ replace key <CAPS> { [ Caps_Lock ] };
modifier_map Lock { Caps_Lock };
};
partial hidden modifier_keys
xkb_symbols "shiftlock" {
- replace key <CAPS> { [ Shift_Lock ] };
+ replace key <CAPS> { [ Shift_Lock ] };
modifier_map Shift { Shift_Lock };
};
partial hidden modifier_keys
xkb_symbols "grouplock" {
- replace key <CAPS> { [ ISO_Next_Group, Caps_Lock ] };
+ replace key <CAPS> { [ ISO_Next_Group, Caps_Lock ] };
};
partial hidden modifier_keys
xkb_symbols "swapescape" {
- key <CAPS> { [ Escape ] };
- key <ESC> { [ Caps_Lock ] };
+ key <CAPS> { [ Escape ] };
+ key <ESC> { [ Caps_Lock ] };
};
partial hidden modifier_keys
xkb_symbols "groupshift" {
key <CAPS> {
- type[Group1]="PC_ALT_LEVEL2",
- [ Mode_switch, Caps_Lock ]
+ type[Group1] = "PC_ALT_LEVEL2",
+ [ Mode_switch, Caps_Lock ]
};
};
partial hidden modifier_keys
xkb_symbols "escape" {
- key <CAPS> { [ Escape ] };
+ key <CAPS> { [ Escape ] };
};
partial hidden modifier_keys
xkb_symbols "backspace" {
- key <CAPS> { [ BackSpace ] };
+ key <CAPS> { [ BackSpace ] };
};
partial hidden modifier_keys
xkb_symbols "super" {
- key <CAPS> { [ Super_L ] };
- modifier_map Mod4 { <CAPS> };
+ key <CAPS> { [ Super_L ] };
+ modifier_map Mod4 { <CAPS> };
};
partial hidden modifier_keys
xkb_symbols "hyper" {
- key <CAPS> { [ Hyper_L ] };
- modifier_map Mod4 { <CAPS> };
+ key <CAPS> { [ Hyper_L ] };
+ modifier_map Mod4 { <CAPS> };
};
partial hidden modifier_keys
xkb_symbols "none" {
- key <CAPS> { [ VoidSymbol ] };
+ key <CAPS> { [ VoidSymbol ] };
};
partial hidden modifier_keys
xkb_symbols "numlock" {
- key <CAPS> { [ Num_Lock ] };
+ key <CAPS> { [ Num_Lock ] };
};
-// This changes the modifier behavior of the <CAPS> key.
-// The keysym will be reset to Caps_Lock
+// This changes the <CAPS> key to become a Control modifier,
+// but it will still produce the Caps_Lock keysym.
partial hidden modifier_keys
xkb_symbols "ctrl_modifier" {
replace key <CAPS> {
diff --git a/xorg-server/xkeyboard-config/symbols/ctrl b/xorg-server/xkeyboard-config/symbols/ctrl
index 09d76b551..ca019ec7d 100644
--- a/xorg-server/xkeyboard-config/symbols/ctrl
+++ b/xorg-server/xkeyboard-config/symbols/ctrl
@@ -1,57 +1,57 @@
-// eliminate the caps lock key completely (replace with control)
+// Eliminate CapsLock, making it another Ctrl.
partial modifier_keys
xkb_symbols "nocaps" {
- replace key <CAPS> { [ Control_L, Control_L ] };
+ replace key <CAPS> { [ Control_L, Control_L ] };
modifier_map Control { <CAPS>, <LCTL> };
};
-// replace left control with Meta
+// Make the left Ctrl key a left Meta.
xkb_symbols "lctrl_meta" {
- replace key <LCTL> { [ Meta_L ] };
+ replace key <LCTL> { [ Meta_L ] };
};
-// swap the caps lock key with the left control key
+// Swap the functions of the CapsLock key and the left Ctrl key.
partial modifier_keys
xkb_symbols "swapcaps" {
- replace key <CAPS> { [ Control_L ] };
- replace key <LCTL> { [ Caps_Lock ] };
+ replace key <CAPS> { [ Control_L ] };
+ replace key <LCTL> { [ Caps_Lock ] };
};
-// moves the control key to the middle row and the caps lock
-// to the bottom row. Only works if the geometry or keycodes
+// Move Ctrl to the leftmost key on the middle row and CapsLock to the
+// leftmost key on the bottom row. Only works if the geometry or keycodes
// file has defined appropriate aliases for the keys in question.
partial modifier_keys
xkb_symbols "ac_ctrl" {
- replace key <AC00> { [ Control_L ] };
- replace key <AA00> { [ Caps_Lock ] };
+ replace key <AC00> { [ Control_L ] };
+ replace key <AA00> { [ Caps_Lock ] };
};
-// Moves the control key to the bottom row and the caps lock
-// to the middle row. Only works if the geometry or keycodes
+// Move Ctrl to the leftmost key on the bottom row and CapsLock to the
+// leftmost key on the middle row. Only works if the geometry or keycodes
// file has defined appropriate aliases for the keys in question.
partial modifier_keys
xkb_symbols "aa_ctrl" {
- replace key <AA00> { [ Control_L ] };
- replace key <AC00> { [ Caps_Lock ] };
+ replace key <AA00> { [ Control_L ] };
+ replace key <AC00> { [ Caps_Lock ] };
};
-// Right Ctrl works as Right Alt
+// Right Ctrl key functions as another right Alt.
partial modifier_keys
xkb_symbols "rctrl_ralt" {
- key <RCTL> { symbols[Group1]= [ Alt_R ] };
+ key <RCTL> { symbols[Group1]= [ Alt_R ] };
};
-// Menu works as Right Ctrl
+// Menu key functions as another right Ctrl.
partial modifier_keys
xkb_symbols "menu_rctrl" {
- replace key <MENU> { [ Control_R, Control_R ] };
- modifier_map Control { Control_L, <MENU> };
+ replace key <MENU> { [ Control_R, Control_R ] };
+ modifier_map Control { Control_L, <MENU> };
};
-// right alt functions as another ctrl key
+// Right Alt key functions as another right Ctrl.
partial modifier_keys
xkb_symbols "ralt_rctrl" {
- replace key <RALT> { type[Group1] = "TWO_LEVEL",
+ replace key <RALT> { type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ Control_R, Control_R ] };
modifier_map Control { <RALT> };
};
diff --git a/xorg-server/xkeyboard-config/symbols/level3 b/xorg-server/xkeyboard-config/symbols/level3
index 2f5575c62..8f3da0da8 100644
--- a/xorg-server/xkeyboard-config/symbols/level3
+++ b/xorg-server/xkeyboard-config/symbols/level3
@@ -1,20 +1,18 @@
-// these variants assign various XKB keycodes to ISO_Level3_Shift so that
-// the third shift level can be reached
-//
+// These partial variants assign ISO_Level3_Shift to various XKB keycodes
+// so that the third shift level can be reached.
-// Ensure a mapping to a real modifier for LevelThree
+// Ensure a mapping to a real modifier for LevelThree.
partial modifier_keys
xkb_symbols "modifier_mapping" {
key.type[Group1] = "ONE_LEVEL";
-
replace key <LVL3> {
symbols[Group1] = [ ISO_Level3_Shift ]
};
modifier_map Mod5 { <LVL3> };
};
-// the default behavior is for the right Alt key (AltGr) to generate the
-// third engraved symbol
+// The default behaviour:
+// the right Alt key (AltGr) chooses the third symbol engraved on a key.
default partial modifier_keys
xkb_symbols "ralt_switch" {
key <RALT> {
@@ -24,10 +22,10 @@ xkb_symbols "ralt_switch" {
include "level3(modifier_mapping)"
};
-// Right Alt key never chooses 3rd level.
-// This option attempts to undo the effect of a layout's
-// including ralt_switch. You may also want to select another
-// level3 option that maps the level3 shift to some other key.
+// The right Alt key never chooses the third level.
+// This option attempts to undo the effect of a layout's inclusion of
+// 'ralt_switch'. You may want to also select another level3 option
+// to map the level3 shift to some other key.
partial modifier_keys
xkb_symbols "ralt_alt" {
key <RALT> {
@@ -40,9 +38,11 @@ xkb_symbols "ralt_alt" {
symbols[Group3] = [ Alt_R, Meta_R ],
symbols[Group4] = [ Alt_R, Meta_R ]
};
- modifier_map Mod1 { <RALT> };
+ modifier_map Mod1 { <RALT> };
};
+// The right Alt key (while pressed) chooses the third shift level,
+// and Compose is mapped to its second level.
partial modifier_keys
xkb_symbols "ralt_switch_multikey" {
key <RALT> {
@@ -52,14 +52,13 @@ xkb_symbols "ralt_switch_multikey" {
include "level3(modifier_mapping)"
};
-// special case or right Alt switch - for use with grp:alts_toggle
-//
+// A special case of the right-Alt switch -- for use with grp:alts_toggle.
partial hidden modifier_keys
xkb_symbols "ralt_switch_for_alts_toggle" {
- virtual_modifiers LAlt, AlGr;
+ virtual_modifiers LAlt, AltGr;
key <LALT> {
type[Group1]="PC_RALT_LEVEL2",
- symbols[Group1] = [ Alt_L, ISO_Prev_Group, ISO_Prev_Group ],
+ symbols[Group1] = [ Alt_L, ISO_Prev_Group, ISO_Prev_Group ],
virtualMods= LAlt
};
key <RALT> {
@@ -70,14 +69,15 @@ xkb_symbols "ralt_switch_for_alts_toggle" {
include "level3(modifier_mapping)"
};
-// using the level(alt_switch) map, either Alt key temporarily chooses
-// the third shift level. (Mostly be used to imitate Mac OS functionality.)
+// Either Alt key (while pressed) chooses the third shift level.
+// (To be used mostly to imitate Mac OS functionality.)
partial modifier_keys
xkb_symbols "alt_switch" {
include "level3(lalt_switch)"
include "level3(ralt_switch)"
};
+// The left Alt key (while pressed) chooses the third shift level.
partial modifier_keys
xkb_symbols "lalt_switch" {
key <LALT> {
@@ -87,8 +87,7 @@ xkb_symbols "lalt_switch" {
include "level3(modifier_mapping)"
};
-// using the level(switch) map, the right Control key temporarily
-// chooses the third shift level (until it is released).
+// The right Ctrl key (while pressed) chooses the third shift level.
partial modifier_keys
xkb_symbols "switch" {
key <RCTL> {
@@ -98,8 +97,7 @@ xkb_symbols "switch" {
include "level3(modifier_mapping)"
};
-// using the level(menu_switch) map, the Menu key temporarily
-// chooses the third shift level (until it is released).
+// The Menu key (while pressed) chooses the third shift level.
partial modifier_keys
xkb_symbols "menu_switch" {
key <MENU> {
@@ -109,16 +107,14 @@ xkb_symbols "menu_switch" {
include "level3(modifier_mapping)"
};
-// using the level3(win_switch) map, the either Windows' logo key
-// temporarily chooses the third shift level.
+// Either Win key (while pressed) chooses the third shift level.
partial modifier_keys
xkb_symbols "win_switch" {
include "level3(lwin_switch)"
include "level3(rwin_switch)"
};
-// using the level3(lwin_switch) map, the left Windows' logo key
-// temporarily chooses the third shift level.
+// The left Win key (while pressed) chooses the third shift level.
partial modifier_keys
xkb_symbols "lwin_switch" {
key <LWIN> {
@@ -128,10 +124,9 @@ xkb_symbols "lwin_switch" {
include "level3(modifier_mapping)"
};
-// using the level(rwin_switch) map, the right Windows' logo key
-// temporarily chooses the third shift level. If you use this map,
-// you should define your keyboard as pc101 or pc102 instead of pc104
-// or pc105.
+// The right Win key (while pressed) chooses the third shift level.
+// (When using this map, you should set your keyboard as pc101 or pc102
+// instead of pc104 or pc105.)
partial modifier_keys
xkb_symbols "rwin_switch" {
key <RWIN> {
@@ -141,9 +136,8 @@ xkb_symbols "rwin_switch" {
include "level3(modifier_mapping)"
};
-// using the level3(enter_switch) map, the Enter key on the keypad
-// temporarily chooses the third shift level. This is especially
-// useful for Mac laptops which miss the right Alt key.
+// The Enter key on the kepypad (while pressed) chooses the third shift level.
+// (This is especially useful for Mac laptops which miss the right Alt key.)
partial modifier_keys
xkb_symbols "enter_switch" {
key <KPEN> {
@@ -153,6 +147,7 @@ xkb_symbols "enter_switch" {
include "level3(modifier_mapping)"
};
+// The CapsLock key (while pressed) chooses the third shift level.
partial modifier_keys
xkb_symbols "caps_switch" {
key <CAPS> {
@@ -162,6 +157,7 @@ xkb_symbols "caps_switch" {
include "level3(modifier_mapping)"
};
+// The Backslash key (while pressed) chooses the third shift level.
partial modifier_keys
xkb_symbols "bksl_switch" {
key <BKSL> {
@@ -171,6 +167,7 @@ xkb_symbols "bksl_switch" {
include "level3(modifier_mapping)"
};
+// The Less/Greater key (while pressed) chooses the third shift level.
partial modifier_keys
xkb_symbols "lsgt_switch" {
key <LSGT> {
@@ -180,6 +177,8 @@ xkb_symbols "lsgt_switch" {
include "level3(modifier_mapping)"
};
+// The CapsLock key (while pressed) chooses the third shift level,
+// and latches when pressed together with another third-level chooser.
partial modifier_keys
xkb_symbols "caps_switch_latch" {
key <CAPS> {
@@ -189,6 +188,8 @@ xkb_symbols "caps_switch_latch" {
include "level3(modifier_mapping)"
};
+// The Backslash key (while pressed) chooses the third shift level,
+// and latches when pressed together with another third-level chooser.
partial modifier_keys
xkb_symbols "bksl_switch_latch" {
key <BKSL> {
@@ -198,6 +199,8 @@ xkb_symbols "bksl_switch_latch" {
include "level3(modifier_mapping)"
};
+// The Less/Greater key (while pressed) chooses the third shift level,
+// and latches when pressed together with another third-level chooser.
partial modifier_keys
xkb_symbols "lsgt_switch_latch" {
key <LSGT> {
diff --git a/xorg-server/xkeyboard-config/symbols/level5 b/xorg-server/xkeyboard-config/symbols/level5
index 09d71cddf..84507e5b3 100644
--- a/xorg-server/xkeyboard-config/symbols/level5
+++ b/xorg-server/xkeyboard-config/symbols/level5
@@ -1,20 +1,17 @@
-// these variants assign various XKB keycodes to ISO_Level5_Shift so that
-// the third shift level can be reached
-//
+// These partial variants assign ISO_Level5_Shift to various XKB keycodes
+// so that the fifth shift level can be reached.
-// Ensure a mapping to a real modifier for LevelFive
+// Ensure a mapping to a real modifier for LevelFive.
partial modifier_keys
xkb_symbols "modifier_mapping" {
key.type[Group1] = "ONE_LEVEL";
-
replace key <MDSW> {
symbols[Group1] = [ ISO_Level5_Shift ]
};
modifier_map Mod3 { <MDSW> };
};
-// using the level(switch) map, the right Control key temporarily
-// chooses the fifth shift level (until it is released).
+// The right Ctrl key (while pressed) chooses the fifth shift level.
partial modifier_keys
xkb_symbols "rctrl_switch" {
key <RCTL> {
@@ -24,6 +21,7 @@ xkb_symbols "rctrl_switch" {
include "level5(modifier_mapping)"
};
+// The Less/Greater key (while pressed) chooses the fifth shift level.
partial modifier_keys
xkb_symbols "lsgt_switch" {
key <LSGT> {
@@ -33,6 +31,7 @@ xkb_symbols "lsgt_switch" {
include "level5(modifier_mapping)"
};
+// The right Alt key (while pressed) chooses the fifth shift level.
partial modifier_keys
xkb_symbols "ralt_switch" {
key <RALT> {
@@ -43,19 +42,14 @@ xkb_symbols "ralt_switch" {
};
-// The following modifier keys are used to switch to the third shift and to set a
-// corresponding lock, implemented as NumLock.
-
+// This adds the definitions needed to create a level5-lock behaviour, using
+// the real modifier NumLock as a lock indicator.
+// See also: types/level5 : EIGHT_LEVEL_LEVEL_FIVE_LOCK
+// See also: compat/level5(level5_lock)
partial modifier_keys
xkb_symbols "lock" {
- // This adds the definitions needed to create a level5-lock behaviour, using
- // the real modifier NumLock as a lock indicator.
- // See also: types/level5 : EIGHT_LEVEL_LEVEL_FIVE_LOCK
- // See also: compat/level5(level5_lock)
key.type[Group1] = "ONE_LEVEL";
-
include "level5(modifier_mapping)"
-
replace key <HYPR> {
vmods = NumLock,
symbols[Group1] = [ NoSymbol ],
@@ -64,90 +58,85 @@ xkb_symbols "lock" {
modifier_map Mod2 { <HYPR> };
};
+// The following modifier keys are used to switch to the third shift level
+// and to set a corresponding lock, implemented as NumLock.
+
partial modifier_keys
xkb_symbols "lsgt_switch_lock" {
-
include "level5(lock)"
-
key <LSGT> {
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 ]
+ 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" {
-
include "level5(lock)"
-
key <LWIN> {
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 ]
+ 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" {
-
include "level5(lock)"
-
key <RALT> {
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 ]
+ 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 <RWIN> {
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 ]
+ 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 <LSGT> {
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 ]
+ 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 <LWIN> {
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 ]
+ 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 <RALT> {
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 ]
+ 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 <RWIN> {
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 ]
+ 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/xkeyboard-config/symbols/rs b/xorg-server/xkeyboard-config/symbols/rs
index 1b88d0131..baa7a345a 100644
--- a/xorg-server/xkeyboard-config/symbols/rs
+++ b/xorg-server/xkeyboard-config/symbols/rs
@@ -108,7 +108,7 @@ xkb_symbols "cyralpha" {
key <AC11> { [ Serbian_tshe, Serbian_TSHE, any,any ] }; // ' "
key <BKSL> { [ Cyrillic_zhe, Cyrillic_ZHE, any,any ] }; // \ |
- key <AB01> { [ Cyrillic_zhe, Cyrillic_ZHE, any,any ] }; // z
+ key <AB01> { [ U0455, U0405, any,any ] }; // z
key <AB02> { [ Cyrillic_dzhe, Cyrillic_DZHE, any,any ] }; // x
key <AB03> { [ Cyrillic_tse, Cyrillic_TSE, any,any ] }; // c
key <AB04> { [ Cyrillic_ve, Cyrillic_VE, any,any ] }; // v
diff --git a/xorg-server/xkeyboard-config/symbols/shift b/xorg-server/xkeyboard-config/symbols/shift
index 6fbec5b2a..8f9022349 100644
--- a/xorg-server/xkeyboard-config/symbols/shift
+++ b/xorg-server/xkeyboard-config/symbols/shift
@@ -1,4 +1,5 @@
-partial modifier_keys
+// Cancel CapsLock when a Shift key is pressed.
+partial modifier_keys
xkb_symbols "breaks_caps" {
key <LFSH> {
type = "ALPHABETIC",
@@ -16,20 +17,21 @@ xkb_symbols "breaks_caps" {
};
};
-// When pressed together with another Shift key, set/release Lock.
+
+// Toggle CapsLock when pressed together with the other Shift key.
partial modifier_keys
xkb_symbols "lshift_both_capslock" {
key <LFSH> {
type[Group1]="TWO_LEVEL",
- symbols[Group1] = [ Shift_L, Caps_Lock ]
+ symbols[Group1] = [ Shift_L, Caps_Lock ]
};
};
-// When pressed together with another Shift key, set or unset Lock.
+// Toggle CapsLock when pressed together with the other Shift key.
partial modifier_keys
xkb_symbols "rshift_both_capslock" {
key <RTSH> {
type[Group1]="TWO_LEVEL",
- symbols[Group1] = [ Shift_R, Caps_Lock ]
+ symbols[Group1] = [ Shift_R, Caps_Lock ]
};
};
partial modifier_keys
@@ -38,20 +40,21 @@ xkb_symbols "both_capslock" {
include "shift(rshift_both_capslock)"
};
-// Release Lock when pressed alone and set Lock when pressed with another Shift key.
+
+// Set CapsLock when pressed with the other Shift key, release it when pressed alone.
partial modifier_keys
xkb_symbols "lshift_both_capslock_cancel" {
key <LFSH> {
type[Group1]="ALPHABETIC",
- symbols[Group1] = [ Shift_L, Caps_Lock ]
+ symbols[Group1] = [ Shift_L, Caps_Lock ]
};
};
-// Release Lock when pressed alone and set Lock when pressed with another Shift key.
+// Set CapsLock when pressed with the other Shift key, release it when pressed alone.
partial modifier_keys
xkb_symbols "rshift_both_capslock_cancel" {
key <RTSH> {
type[Group1]="ALPHABETIC",
- symbols[Group1] = [ Shift_R, Caps_Lock ]
+ symbols[Group1] = [ Shift_R, Caps_Lock ]
};
};
partial modifier_keys
@@ -61,20 +64,20 @@ xkb_symbols "both_capslock_cancel" {
};
-// When pressed together with another Shift key, lock/unlock Shift.
+// Toggle ShiftLock when pressed together with the other Shift key.
partial modifier_keys
xkb_symbols "lshift_both_shiftlock" {
key <LFSH> {
type[Group1]="TWO_LEVEL",
- symbols[Group1] = [ Shift_L, Shift_Lock ]
+ symbols[Group1] = [ Shift_L, Shift_Lock ]
};
};
-// When pressed together with another Shift key, lock/unlock Shift.
+// Toggle ShiftLock when pressed together with the other Shift key.
partial modifier_keys
xkb_symbols "rshift_both_shiftlock" {
key <RTSH> {
type[Group1]="TWO_LEVEL",
- symbols[Group1] = [ Shift_R, Shift_Lock ]
+ symbols[Group1] = [ Shift_R, Shift_Lock ]
};
};
partial modifier_keys