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/rules/base.o_s.part1
-rw-r--r--xorg-server/xkeyboard-config/rules/base.xml.in6
-rw-r--r--xorg-server/xkeyboard-config/symbols/group9
-rw-r--r--xorg-server/xkeyboard-config/types/pc8
4 files changed, 24 insertions, 0 deletions
diff --git a/xorg-server/xkeyboard-config/rules/base.o_s.part b/xorg-server/xkeyboard-config/rules/base.o_s.part
index a31556b55..e31ab64e4 100644
--- a/xorg-server/xkeyboard-config/rules/base.o_s.part
+++ b/xorg-server/xkeyboard-config/rules/base.o_s.part
@@ -22,6 +22,7 @@
grp:caps_switch = +capslock(groupshift)
grp:shift_caps_toggle = +group(shift_caps_toggle)
grp:shift_caps_switch = +group(shift_caps_switch)
+ grp:win_space_toggle = +group(win_space_toggle)
grp:win_menu_switch = +group(win_menu_switch)
grp:alt_caps_toggle = +group(alt_caps_toggle)
grp:alt_space_toggle = +group(alt_space_toggle)
diff --git a/xorg-server/xkeyboard-config/rules/base.xml.in b/xorg-server/xkeyboard-config/rules/base.xml.in
index 59b03c338..3b32e2209 100644
--- a/xorg-server/xkeyboard-config/rules/base.xml.in
+++ b/xorg-server/xkeyboard-config/rules/base.xml.in
@@ -5874,6 +5874,12 @@
</option>
<option>
<configItem>
+ <name>grp:win_space_toggle</name>
+ <_description>Win Key+Space</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
<name>grp:rwin_toggle</name>
<_description>Right Win</_description>
</configItem>
diff --git a/xorg-server/xkeyboard-config/symbols/group b/xorg-server/xkeyboard-config/symbols/group
index 8592f4344..91be4863f 100644
--- a/xorg-server/xkeyboard-config/symbols/group
+++ b/xorg-server/xkeyboard-config/symbols/group
@@ -85,6 +85,15 @@ xkb_symbols "shift_caps_switch" {
key <CAPS> { [ ISO_First_Group, ISO_Last_Group ] };
};
+// toggle using win + space as combo
+partial modifier_keys
+xkb_symbols "win_space_toggle" {
+ key <SPCE> {
+ type[Group1]="PC_SUPER_LEVEL2",
+ symbols[Group1]= [ space, ISO_Next_Group ]
+ };
+};
+
// Pressing the left Win key selects the first group,
// pressing the right Win or the Menu key selects the last group.
partial modifier_keys
diff --git a/xorg-server/xkeyboard-config/types/pc b/xorg-server/xkeyboard-config/types/pc
index 17e494b30..404e3c9e7 100644
--- a/xorg-server/xkeyboard-config/types/pc
+++ b/xorg-server/xkeyboard-config/types/pc
@@ -11,6 +11,14 @@ partial default xkb_types "default" {
virtual_modifiers RControl;
virtual_modifiers LControl;
+ type "PC_SUPER_LEVEL2" {
+ modifiers = Mod4;
+ map[None] = Level1;
+ map[Mod4] = Level2;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Super";
+ };
+
type "PC_CONTROL_LEVEL2" {
modifiers = Control;
map[None] = Level1;