summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rules/base.o_s.part1
-rw-r--r--rules/base.xml.in6
-rw-r--r--symbols/ctrl8
3 files changed, 15 insertions, 0 deletions
diff --git a/rules/base.o_s.part b/rules/base.o_s.part
index 3e23396d..8191a3f5 100644
--- a/rules/base.o_s.part
+++ b/rules/base.o_s.part
@@ -68,6 +68,7 @@
ctrl:ctrl_aa = +ctrl(ctrl_aa)
ctrl:ctrl_ra = +ctrl(ctrl_ra)
ctrl:ctrl_menu = +ctrl(ctrl_menu)
+ ctrl:ctrl_ralt = +ctrl(ctrl_ralt)
compose:ralt = +compose(ralt)
compose:lwin = +compose(lwin)
compose:rwin = +compose(rwin)
diff --git a/rules/base.xml.in b/rules/base.xml.in
index b56551a6..91996367 100644
--- a/rules/base.xml.in
+++ b/rules/base.xml.in
@@ -5641,6 +5641,12 @@
<_description>Right Ctrl is mapped to Menu</_description>
</configItem>
</option>
+ <option>
+ <configItem>
+ <name>ctrl:ctrl_ralt</name>
+ <_description>Right Alt functions as Ctrl</_description>
+ </configItem>
+ </option>
</group>
<group allowMultipleSelection="true">
<!-- Using startard LEDs to indicate the alternative (not first) group(s) -->
diff --git a/symbols/ctrl b/symbols/ctrl
index 96a1cbcb..55a148fa 100644
--- a/symbols/ctrl
+++ b/symbols/ctrl
@@ -47,3 +47,11 @@ xkb_symbols "ctrl_menu" {
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 "ctrl_ralt" {
+ replace key <RALT> { type[Group1] = "TWO_LEVEL",
+ symbols[Group1] = [ Control_R, Control_R ] };
+ modifier_map Control { <RALT> };
+};