I'm migrating my mac workflow to Windows. One thing I couldn't live without is hyper key which is combination of Ctrl
+ Option
+ Shift
+ Cmd
. I use Karabiner app to remap Capslock
to this Hyper
key. I have heard that Autohotkey is an Karabiner alternative for Windows. Could you guys please help me to emulate this feature in Windows.
My ideal result is:
- Deactivate
Capslock
completely because I rarely use this - Toggle
Capslock
will performESC
key - Hold down
Capslock
will performCtrl
+Alt
+Shift
+Windows
. For exampleCapslock + C
will beCtrl+Alt+Shift+Windows+C
Many thanks in advance!
In the attempt of solving my problem, I wrote some lines of code but it doesn't work at all. Please help me point out my mistake:
;-----------------------------------------
; hyper key for windows
;=========================================
; --------------------------------------------------------------
; notes
; --------------------------------------------------------------
; ! = alt
; ^ = ctrl
; + = shift
; # = lwin|rwin
;
#NoEnv ; recommended for performance and compatibility with future autohotkey releases.
#UseHook
#InstallKeybdHook
#SingleInstance force
SendMode Input
;; deactivate capslock completely
SetCapslockState, AlwaysOff
;; remap capslock to hyper
;; if capslock is toggled, remap it to esc
Capslock::
SendInput {Ctrl Down}{Alt Down}{Shift Down}{LWin Down}
KeyWait, Capslock
SendInput {Ctrl Up}{Alt Up}{Shift Up}{LWin Up}
if (A_PriorKey = "Capslock") {
SendInput {Esc}
}
return
;; vim navigation with hyper
~^!+#h:: SendInput {Left}
~^!+#l:: SendInput {Right}
~^!+#k:: SendInput {Up}
~^!+#j:: SendInput {Down}
;; popular hotkeys with hyper
~^!+<#c:: SendInput ^{c}
~^!+<#v:: SendInput ^{v}
Result:
- Toggle Capslock performs ESC
- Hold Capslock performs Ctrl+Alt+Shift+Win key combination
- Hold Ctrl+Alt+Shift+Win with h,j,k,l,c,v works as expected
- However Hold Capslock with h,j,k,l,c,v doesn't work