Problema ao religar Ctrl a Capslock usando Autohotkey

3

Estou usando o AutoHotkey para religar Ctrl ao Capslock assim:

Capslock::Ctrl

Eu também vinculei as teclas de minha casa ao movimento enquanto o Capslock é segurado:

^h::Send {LEFT}
^j::Send {DOWN}
^k::Send {UP}
^l::Send {RIGHT}

O problema é que posso segurar o Capslock e emitir um movimento de combinação, mas toques subseqüentes de h, j, k ou l enquanto ainda segura Capslock resulta em uma daquelas letras que aparecem no meu editor. Em outras palavras, é como se Capslock estivesse sendo lançado, mesmo que eu ainda esteja segurando. Se eu mantiver a tecla Ctrl real e usar as ligações de movimento, tudo funcionará bem. Alguém sabe como corrigir isso?

    
por Charles Roper 27.07.2010 / 17:12

3 respostas

3

A solução foi gentilmente postada no fórum do AutoHotKey por "VxE":

Capslock::
   Gui, 93:+Owner ; prevent display of taskbar button
   Gui, 93:Show, y-99999 NA, Enable nav-hotkeys: hjkl
   Send {LCtrl Down}
   KeyWait, Capslock ; wait until the Capslock button is released
   Gui, 93:Cancel
   Send, {LCtrl Up}
Return

#IfWinExist, Enable nav-hotkeys: hjkl

   *h::Send {Blind}{LCtrl Up}{Left}{LCtrl Down}
   *j::Send {Blind}{LCtrl Up}{Down}{LCtrl Down}
   *k::Send {Blind}{LCtrl Up}{Up}{LCtrl Down}
   *l::Send {Blind}{LCtrl Up}{Right}{LCtrl Down}

#IfWinExist, ; end context-sensitive block
    
por 02.08.2010 / 13:31
0

Acho que é porque o PC lê o capslock como uma tecla TOGGLE. Caps é pressionado e altera um estado, depois é pressionado novamente e o estado volta. As outras teclas sem bloqueio continuam enviando seu sinal enquanto e sempre que são pressionadas.

    
por 27.07.2010 / 18:01
0

Talvez você possa tentar o método de mapeamento de scancode como isso .

    
por 10.11.2010 / 16:40

Tags