Autohotkey + LButton SendInput {Shift Up}

0

Eu tentei resolver isso no Autohotkey sem sucesso

Em um programa (de agora em diante chamado VP0) existe uma tecla de atalho Space Click n Drag to Left/Right para definir a ferramenta Tamanho máximo

Eu gostaria de ter a mesma tecla de acesso que é nativa no VP0, mas usando Shift em vez de Space

O problema é que existe uma segunda tecla de atalho nativa no VP0 que usa Shift Space Click n Drag to Left/Right para definir a ferramenta Tamanho Mínimo

O problema é que, se eu quiser definir a primeira tecla de atalho VP0 no AHK, defino LShift deve ser Space (tamanho máximo da ferramenta VP0), mas desde VP0 Tool Min Size = Shift Space ao pressionar LShift para definir VP0 Tool Max Size define VP0 Tool Min Size cuz que o AHK detecta que Shift foi pressionado.

Eu tentei usar ...

SendInput {Shift Up}
SendEvent {Shift Up}

mas apenas envia Shift Up por alguns milissegundos, então o AHK detecta que o Shift está pressionado novamente, como posso evitar isso ?? Eu também tentei este BELLOW, mas eu gostaria de evitar o uso de loops, pq ele alterna rapidamente entre o tamanho máximo do pincel e o tamanho mínimo do pincel.

;   Increase/Decrease Tool Size
#If WinActive("ahk_exe Verve_painter.exe") && !GetKeyState("XButton1", "P") && !GetKeyState("Space", "P")

LShift & LButton::    ; INCREASE TOOL MAX SIZE
    Tooltip, AAAAAAAAAAAAAAAAAA Shift LButton
    SendEvent {Shift Up}
    SendInput {Space Down}
    Click Down
    While GetKeyState("LButton","P")
    {
    SendEvent {Shift Up}
    }
    Tooltip, BBBBBBBBBBBBBBBBBBBBBB LButton was realeasedd

    SendInput {Space Up}
    Click Up
    Return


$^+LButton::    ; INCREASE TOOL MIN SIZE
    ;Tooltip, Shiiiit Ctrl Shift LButton
    SendInput {Ctrl Up}
    Sleep 10

    SendInput {Shift Down}
    SendInput {Space Down}
    Click Down
    KeyWait, LButton

    SendInput {Space Up}
    SendInput {Shift Up}
    Click Up
    Tooltip Ctrl SHift LButton was released
    Return

#If

Obrigado Advanced.

    
por litu16 10.02.2017 / 18:37

1 resposta

1

Tente remapear os botões Shift e Ctrl:

#If WinActive("ahk_exe Verve_painter.exe") && GetKeyState("Shift", "P")

       ; Shift+1
    $1:: 
        KeyWait, Shift
        SendInput, {Shift Up}
        MsgBox, Shift+1
        return

      ; Shift+2
    $2::
        KeyWait, Shift
        SendInput, {Shift Up}
        MsgBox, Shift+2
        return

#If WinActive("ahk_exe Verve_painter.exe") 

       Shift::Space

       Ctrl::Shift

#If
    
por 14.02.2017 / 09:55