aboutsummaryrefslogtreecommitdiff
path: root/xorg-server
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server')
-rw-r--r--xorg-server/xkeyboard-config/rules/base.o_s.part9
-rw-r--r--xorg-server/xkeyboard-config/rules/base.xml.in20
-rw-r--r--xorg-server/xkeyboard-config/symbols/ctrl106
3 files changed, 75 insertions, 60 deletions
diff --git a/xorg-server/xkeyboard-config/rules/base.o_s.part b/xorg-server/xkeyboard-config/rules/base.o_s.part
index 3e23396da..6cf9f1406 100644
--- a/xorg-server/xkeyboard-config/rules/base.o_s.part
+++ b/xorg-server/xkeyboard-config/rules/base.o_s.part
@@ -64,10 +64,11 @@
ctrl:nocaps = +ctrl(nocaps)
ctrl:lctrl_meta = +ctrl(lctrl_meta)
ctrl:swapcaps = +ctrl(swapcaps)
- ctrl:ctrl_ac = +ctrl(ctrl_ac)
- ctrl:ctrl_aa = +ctrl(ctrl_aa)
- ctrl:ctrl_ra = +ctrl(ctrl_ra)
- ctrl:ctrl_menu = +ctrl(ctrl_menu)
+ ctrl:ac_ctrl = +ctrl(ac_ctrl)
+ ctrl:aa_ctrl = +ctrl(aa_ctrl)
+ ctrl:rctrl_ralt = +ctrl(rctrl_ralt)
+ ctrl:menu_rctrl = +ctrl(menu_rctrl)
+ ctrl:ralt_rctrl = +ctrl(ralt_rctrl)
compose:ralt = +compose(ralt)
compose:lwin = +compose(lwin)
compose:rwin = +compose(rwin)
diff --git a/xorg-server/xkeyboard-config/rules/base.xml.in b/xorg-server/xkeyboard-config/rules/base.xml.in
index b56551a67..062fe1d72 100644
--- a/xorg-server/xkeyboard-config/rules/base.xml.in
+++ b/xorg-server/xkeyboard-config/rules/base.xml.in
@@ -5602,13 +5602,13 @@
<option>
<configItem>
<name>ctrl:nocaps</name>
- <_description>Make Caps Lock an additional Ctrl</_description>
+ <_description>Caps Lock as Ctrl</_description>
</configItem>
</option>
<option>
<configItem>
<name>ctrl:lctrl_meta</name>
- <_description>Meta on Left Ctrl</_description>
+ <_description>Left Ctrl as Meta</_description>
</configItem>
</option>
<option>
@@ -5619,26 +5619,32 @@
</option>
<option>
<configItem>
- <name>ctrl:ctrl_ac</name>
+ <name>ctrl:ac_ctrl</name>
<_description>At left of 'A'</_description>
</configItem>
</option>
<option>
<configItem>
- <name>ctrl:ctrl_aa</name>
+ <name>ctrl:aa_ctrl</name>
<_description>At bottom left</_description>
</configItem>
</option>
<option>
<configItem>
- <name>ctrl:ctrl_ra</name>
+ <name>ctrl:rctrl_ralt</name>
<_description>Right Ctrl as Right Alt</_description>
</configItem>
</option>
<option>
<configItem>
- <name>ctrl:ctrl_menu</name>
- <_description>Right Ctrl is mapped to Menu</_description>
+ <name>ctrl:menu_rctrl</name>
+ <_description>Menu as Right Ctrl</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>ctrl:ctrl_ralt</name>
+ <_description>Right Alt as Right Ctrl</_description>
</configItem>
</option>
</group>
diff --git a/xorg-server/xkeyboard-config/symbols/ctrl b/xorg-server/xkeyboard-config/symbols/ctrl
index 189ce739b..09d76b551 100644
--- a/xorg-server/xkeyboard-config/symbols/ctrl
+++ b/xorg-server/xkeyboard-config/symbols/ctrl
@@ -1,49 +1,57 @@
-// eliminate the caps lock key completely (replace with control)
-partial modifier_keys
-xkb_symbols "nocaps" {
- replace key <CAPS> { [ Control_L, Control_L ] };
- modifier_map Control { <CAPS>, <LCTL> };
-};
-
-// replace left control with Meta
-xkb_symbols "lctrl_meta" {
- replace key <LCTL> { [ Meta_L ] };
-};
-
-// swap the caps lock key with the left control key
-partial modifier_keys
-xkb_symbols "swapcaps" {
- 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
-// file has defined appropriate aliases for the keys in question.
-partial modifier_keys
-xkb_symbols "ctrl_ac" {
- 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
-// file has defined appropriate aliases for the keys in question.
-partial modifier_keys
-xkb_symbols "ctrl_aa" {
- replace key <AA00> { [ Control_L ] };
- replace key <AC00> { [ Caps_Lock ] };
-};
-
-// Right Ctrl works as Right Alt
-partial modifier_keys
-xkb_symbols "ctrl_ra" {
- key <RCTL> { symbols[Group1]= [ Alt_R ] };
-};
-
-// Menu works as Right Ctrl
-partial modifier_keys
-xkb_symbols "ctrl_menu" {
- replace key <MENU> { [ Control_R, Control_R ] };
- modifier_map Control { Control_L, <MENU> };
-};
+// eliminate the caps lock key completely (replace with control)
+partial modifier_keys
+xkb_symbols "nocaps" {
+ replace key <CAPS> { [ Control_L, Control_L ] };
+ modifier_map Control { <CAPS>, <LCTL> };
+};
+
+// replace left control with Meta
+xkb_symbols "lctrl_meta" {
+ replace key <LCTL> { [ Meta_L ] };
+};
+
+// swap the caps lock key with the left control key
+partial modifier_keys
+xkb_symbols "swapcaps" {
+ 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
+// 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 ] };
+};
+
+// Moves the control key to the bottom row and the caps lock
+// to 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 ] };
+};
+
+// Right Ctrl works as Right Alt
+partial modifier_keys
+xkb_symbols "rctrl_ralt" {
+ key <RCTL> { symbols[Group1]= [ Alt_R ] };
+};
+
+// Menu works as Right Ctrl
+partial modifier_keys
+xkb_symbols "menu_rctrl" {
+ replace key <MENU> { [ Control_R, Control_R ] };
+ modifier_map Control { Control_L, <MENU> };
+};
+
+// right alt functions as another ctrl key
+partial modifier_keys
+xkb_symbols "ralt_rctrl" {
+ replace key <RALT> { type[Group1] = "TWO_LEVEL",
+ symbols[Group1] = [ Control_R, Control_R ] };
+ modifier_map Control { <RALT> };
+};