---
 rules/base.o_s.part |  3 +++
 rules/base.xml.in   | 18 ++++++++++++++++++
 symbols/altwin      | 18 ++++++++++++++++++
 3 files changed, 39 insertions(+)

Patch created against debian-unstable branch of 
https://salsa.debian.org/xorg-team/data/xkb-data.git

diff --git a/rules/base.o_s.part b/rules/base.o_s.part
index 505f094..1893ba6 100644
--- a/rules/base.o_s.part
+++ b/rules/base.o_s.part
@@ -10,6 +10,9 @@
   altwin:swap_lalt_lwin        =       +altwin(swap_lalt_lwin)
   altwin:swap_alt_win  =       +altwin(swap_alt_win)
   altwin:prtsc_rwin    =       +altwin(prtsc_rwin)
+  altwin:lwin_menu     =       +altwin(lwin_menu)
+  altwin:rwin_menu     =       +altwin(rwin_menu)
+  altwin:win_menu      =       +altwin(win_menu)
   grab:debug           =       +srvr_ctrl(grab_debug)
   grp:switch           =       +group(switch)
   grp:lswitch          =       +group(lswitch)
diff --git a/rules/base.xml.in b/rules/base.xml.in
index 3a3a9cd..531755c 100644
--- a/rules/base.xml.in
+++ b/rules/base.xml.in
@@ -6789,6 +6789,24 @@
           <_description>Win is mapped to PrtSc and the usual Win</_description>
         </configItem>
       </option>
+      <option>
+        <configItem>
+          <name>altwin:rwin_menu</name>
+          <_description>Map Shift+Right Win to Menu</_description>
+        </configItem>
+      </option>
+      <option>
+        <configItem>
+          <name>altwin:lwin_menu</name>
+          <_description>Map Shift+Left Win to Menu</_description>
+        </configItem>
+      </option>
+      <option>
+        <configItem>
+          <name>altwin:win_menu</name>
+          <_description>Map Shift+Win (left and right) to Menu</_description>
+        </configItem>
+      </option>
     </group>
     <group allowMultipleSelection="true">
       <!-- Tweaking the position of the "Compose" key: mapping to existing PC 
keys -->
diff --git a/symbols/altwin b/symbols/altwin
index 7240ab8..587c215 100644
--- a/symbols/altwin
+++ b/symbols/altwin
@@ -114,3 +114,21 @@ xkb_symbols "prtsc_rwin" {
     replace key <PRSC> { [ Super_R, Super_R ] };
     modifier_map Mod4 { <PRSC>, <RWIN> };
 };
+
+// Pressing the Shift+Win (left or right, respectively) acts as Menu
+// while Shift+Win acts as Menu.
+partial modifier_keys
+xkb_symbols "win_switch" {
+    include "altwin(lwin_menu)"
+    include "altwin(rwin_menu)"
+};
+
+partial modifier_keys
+xkb_symbols "rwin_menu" {
+    key <RWIN> { [ Super_R, Menu ] };
+};
+
+partial modifier_keys
+xkb_symbols "lwin_menu" {
+    key <LWIN> { [ Super_L, Menu ] };
+};
-- 
2.19.1

Reply via email to