From 2655a17230bca208c886fa51466d8557929e6c1a Mon Sep 17 00:00:00 2001 From: Josh Rahm Date: Thu, 1 Feb 2024 11:30:42 -0700 Subject: Clean up some more bindings. Have tab remap to hyper in the setxbmap script because it's pretty useless unless xcape is running. I'd rather the default behavior be tab acting like tab. Add to the script the ability for caps lock to act as both escape and control. I think I like it. It's still a test run. --- jr | 19 +++++++++---------- setxkbmap.sh | 15 ++++++++++++++- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/jr b/jr index f45a738..72cf909 100644 --- a/jr +++ b/jr @@ -48,7 +48,7 @@ xkb_symbols "josh-dvorak-intl" { }; key { type[Group1] = "TWO_LEVEL", - symbols[Group1] = [Hyper_L, ISO_Left_Tab] + symbols[Group1] = [Tab, ISO_Left_Tab] }; key { symbols[Group1] = [Hyper_L, Hyper_L] @@ -227,21 +227,20 @@ xkb_symbols "josh-dvorak-intl" { }; key { - symbols[Group1] = [Down, U2193, U21D3] + type[Group1] = "ONE_LEVEL", + symbols[Group1] = [Down] }; key { - symbols[Group1] = [Up, U2191, U21D1] + type[Group1] = "ONE_LEVEL", + symbols[Group1] = [Up] }; key { - symbols[Group1] = [Left, U2190, U21D0] + type[Group1] = "ONE_LEVEL", + symbols[Group1] = [Left] }; key { - symbols[Group1] = [Right, U2192, U21D2] - }; - - // A random key none of my keyboards have. Map it to tab so I can use xcape. - key { - symbols[Group1] = [Tab] + type[Group1] = "ONE_LEVEL", + symbols[Group1] = [Right] }; }; diff --git a/setxkbmap.sh b/setxkbmap.sh index 7595abf..306d20a 100755 --- a/setxkbmap.sh +++ b/setxkbmap.sh @@ -2,5 +2,18 @@ setxkbmap -layout jr -variant jdvprk -option numpad:mac killall xcape -xcape -e 'Hyper_L=Tab' -t 200 + +# Set tab to hyper, and set hyper to set mod3 +xmodmap <(echo ' + keycode 223 = Tab + keycode 23 = Hyper_L + remove mod4 = Hyper_L + add mod3 = Hyper_L + + keycode 222 = Escape + keycode 66 = Control_L + add Control = Control_L +') + +xcape -e 'Hyper_L=Tab;Control_L=Escape' -t 400 xset r rate 200 100 -- cgit