X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=setctrl;fp=setctrl;h=77d5ae360c5079aec78ebe2e7895b893f1f0c551;hb=8f54067720ffa7f2457ed77ee9a8fc78b3d3611a;hp=0000000000000000000000000000000000000000;hpb=6e91c7f0015e70fe5ae73ff22e9a93015e9b43fb;p=dispcfg.git diff --git a/setctrl b/setctrl new file mode 100755 index 0000000..77d5ae3 --- /dev/null +++ b/setctrl @@ -0,0 +1,42 @@ +#!/bin/bash +# Set the Control/Win key swap state. This is a hack of a script. +# If the CM Storm keyboard is present, swap Control and Win (Super) keys. If +# this keyboard is not present, unswap. Steve's CM Storm keyboard has had its +# Control and Win keycaps swapped, as the proper Control key locations are, on +# this keyboard, where the Windows keys are by default. + +swapctrl() +{ +xmodmap -e "clear Control" +xmodmap -e "clear Mod4" +xmodmap -e "keycode 133 = Control_L NoSymbol Control_L" +xmodmap -e "keycode 37 = Super_L NoSymbol Super_L" +xmodmap -e "keycode 134 = Control_R NoSymbol Control_R" +xmodmap -e "keycode 105 = Super_R NoSymbol Super_R" +xmodmap -e "keycode 206 =" +xmodmap -e "add Control = Control_L Control_R" +xmodmap -e "add Mod4 = Super_L Super_R" +} + +unswapctrl() +{ +xmodmap -e "clear Control" +xmodmap -e "clear Mod4" +xmodmap -e "keycode 37 = Control_L NoSymbol Control_L" +xmodmap -e "keycode 133 = Super_L NoSymbol Super_L" +xmodmap -e "keycode 206 = NoSymbol Super_L NoSymbol Super_L" +xmodmap -e "keycode 105 = Control_R NoSymbol Control_R" +xmodmap -e "keycode 134 = Super_R NoSymbol Super_R" +xmodmap -e "add Control = Control_L Control_R" +xmodmap -e "add Mod4 = Super_L Super_R" +} + + +if xinput --list --name-only | grep -q "CM Storm"; then + echo 'Swapping Control and Windows/Super keys' + swapctrl +else + echo 'Restoring Control and Windows/Super keys' + unswapctrl +fi +exit 0