Comment 0 for bug 1961506

Revision history for this message
Jane Doe (xcdvz-deactivatedaccount) wrote :

Swapping caps lock and escape in Xubuntu causes the super key to become caps lock. This is because "/etc/xdg/xdg-xubuntu/autostart/xcape-super-binding.desktop" runs "xcape -e 'Super_L=Control_L|Escape'" on startup, which binds super to LCtrl+Escape on release which is bound to xfce4-popup-whiskermenu in xfce4-keyboard-settings. Changing the xcape command in xcape-super-binding.desktop to something not involving escape like "xcape -e 'Super_L=Shift_L|Control_L|Alt_L|Super_L'" and then changing the whiskermenu bind in keyboard settings to Shift+Ctrl+Alt+Super L fixes the issue.
 This fix can be applied with these two patch files, applying the first to "/etc/xdg/xdg-xubuntu/autostart/xcape-super-binding.desktop" and the second to "~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml"
$ cat xcapepatch
--- xcape-super-binding.desktop 2021-08-19 06:33:42.000000000 -0500
+++ xcape-super-binding-updated.desktop 2022-02-19 21:15:45.383340028 -0600
@@ -1,4 +1,4 @@
 [Desktop Entry]
 Name=Bind Super Key
-Exec=xcape -e 'Super_L=Control_L|Escape'
+Exec=xcape -e 'Super_L=Shift_L|Control_L|Alt_L|Super_L'
 OnlyShowIn=XFCE;
$ cat shortcutpatch
--- xfce4-keyboard-shortcuts.xml 2022-02-19 20:57:08.901876000 -0600
+++ xfce4-keyboard-shortcuts-updated.xml 2022-02-19 21:41:15.476227000 -0600
@@ -61,7 +61,6 @@
       </property>
       <property name="XF86Explorer" type="string" value="exo-open --launch FileManager"/>
       <property name="&lt;Super&gt;m" type="string" value="exo-open --launch MailReader"/>
- <property name="&lt;Primary&gt;Escape" type="string" value="xfce4-popup-whiskermenu"/>
       <property name="&lt;Primary&gt;&lt;Shift&gt;Escape" type="string" value="xfce4-taskmanager"/>
       <property name="XF86Calculator" type="string" value="mate-calc"/>
       <property name="&lt;Super&gt;t" type="string" value="exo-open --launch TerminalEmulator"/>
@@ -78,6 +77,7 @@
       <property name="&lt;Super&gt;e" type="string" value="exo-open --launch FileManager"/>
       <property name="XF86WWW" type="string" value="exo-open --launch WebBrowser"/>
       <property name="override" type="bool" value="true"/>
+ <property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Super_L" type="string" value="xfce4-popup-whiskermenu"/>
     </property>
   </property>
   <property name="xfwm4" type="empty">