Създаване на функционалност, подобна на Vim, с AutoHotKey (AHK)

Наскоро използвах autoHotKeyна машина с Windows 8 и ми хареса. Но искам да мога да натискам caps lock и да превключа клавиатурата в команден режим, подобен на vim, за преместване на курсора, лесно вмъкване и изтриване във всяка програма.

АКТУАЛИЗАЦИЯ (Благодаря на @MCL за помощта досега)

Опитвам се да използвам следния скрипт, но той няма да промени поведението въз основа на състоянието

state := GetKeyState("Capslock", "T") 
if state
  j::Send,{Left}
  l::Send,{Right}
  i::Send,{Up}
  k::Send,{Down}
return

person Damo    schedule 04.12.2014    source източник
comment
Готина история брато. Има ли въпрос някъде? Нещо, което сте опитвали? Някакъв точен проблем, с който се сблъскахте?   -  person MCL    schedule 04.12.2014
comment
Съжалявам, да, проблемът е, че не мога да накарам AHK да промени функционалността на клавиша въз основа на наличието на включен capslock. мога да открия, че capslock в момента е натиснат, но не и че е включен или изключен.   -  person Damo    schedule 04.12.2014
comment
Тъй като не предоставихте никакъв код, мога само да предполагам, че не използвате режим на превключване. Прочетете за това тук.   -  person MCL    schedule 04.12.2014


Отговори (1)


Създайте контекстно-чувствителни клавишни комбинации с #If:

#If GetKeyState("CapsLock", "T")=1

; The following hotkeys will only be effective if GetKeyState("CapsLock", "T")=1
j::Send,{Left}
l::Send,{Right}
i::Send,{Up}
k::Send,{Down}

#If ; end of #If
person fxam    schedule 04.12.2014
comment
Няма нужда от =1, тъй като GetKeyState така или иначе е квазибулев. - person MCL; 04.12.2014