AHK substitui Alt + Shift + LMB por Alt + Shift + Ctrl + LMB?

0

Sou novato em AHK, mas eu poderia compor alguns scripts para um. Isso: '

!+LButton::
SendInput {MButton down}{RButton down}  
Loop
{
    Sleep, 10
    GetKeyState, state, LButton, P
    if state = U       
    break

}
SendInput {MButton up}{RButton up} 
return

Eu não sei porque, mas quando eu depurar este script no MacrorRecorder ou outro, ele escreveu:

Keyboard : ShiftLeft : KeyDown
Keyboard : AltLeft : KeyDown
Mouse : 193 : 306 : LeftButtonDown : 0 : 0 : 0
Keyboard : ControlLeft : KeyDown
Keyboard : ControlLeft : KeyUp
Keyboard : ControlLeft : KeyDown
Keyboard : ControlLeft : KeyUp
Keyboard : AltLeft : KeyUp
Keyboard : ShiftLeft : KeyUp
Mouse : 193 : 306 : MiddleButtonDown : 0 : 0 : 0
Mouse : 193 : 306 : RightButtonDown : 0 : 0 : 0
Keyboard : ControlLeft : KeyDown
Keyboard : AltLeft : KeyDown
Keyboard : ControlLeft : KeyUp
Keyboard : ShiftLeft : KeyDown
Keyboard : ControlLeft : KeyDown
Keyboard : ControlLeft : KeyUp
Keyboard : AltLeft : KeyUp
Keyboard : ShiftLeft : KeyUp
Mouse : 236 : 336 : MiddleButtonUp : 0 : 0 : 0
Mouse : 236 : 336 : RightButtonUp : 0 : 0 : 0
Keyboard : AltLeft : KeyDown
Keyboard : AltLeft : KeyDown
DELAY : 38
Keyboard : AltLeft : KeyUp
Keyboard : ShiftLeft : KeyUp

De onde apareceu CTRL ???? Onde está o erro? Obrigada!

    
por OpenglNoob 27.12.2015 / 13:13

1 resposta

0

O controle é alternado antes dos botões do mouse serem "clicados", mas o AutoHotkey não substitui a combinação de teclas, como está implícito no título desta postagem. Não vejo nada de errado com as teclas digitadas porque a tecla Control nunca está inoperante para qualquer ação, é apenas desativada e, em seguida, novamente imediatamente. Se você observar os pressionamentos de tecla do script no AutoHotkey em vez do MacroRecorder, verá que as combinações de teclas geradas após o acionamento da tecla de atalho são ignoradas pelo AutoHotkey porque são geradas internamente. Você está enfrentando algum outro problema como resultado da chave de controle sendo alternada no meio da execução do script?

Fyi, você também pode usar uma tecla de atalho Up como mostrado abaixo ...

!+LButton::
    SendInput {MButton down}{RButton down}  
return

!+LButton Up::
    SendInput {MButton up}{RButton up} 
return
    
por 29.12.2015 / 07:12