Autohotkey + LButton SendInput {Shift Up}

0

Saya sudah mencoba menyelesaikan ini di Autohotkey tetapi tidak berhasil

Dalam suatu program (mulai sekarang disebut VP0) ada hotkey Space Click n Drag to Left/Rightuntuk mengatur alat Ukuran Maksimum

Saya ingin memiliki hotkey yang sama dengan yang asli di VP0, tetapi menggunakan ShiftbukanSpace

Masalahnya adalah bahwa ada hotkey asli kedua di VP0 yang digunakan Shift Space Click n Drag to Left/Rightuntuk mengatur alat Ukuran Minimum

Masalahnya adalah bahwa jika saya ingin mengatur hotkey VP0 pertama di AHK saya akan mengatur LShiftharus Space(VP0 Tool Max Size), tetapi karena VP0 Tool Min Size = Shift Spaceketika menekan LShiftuntuk mengaturnya VP0 Tool Max Sizeset VP0 Tool Min Sizecuz AHK mendeteksi bahwa Shift telah ditekan.

Saya sudah mencoba menggunakan ...

SendInput {Shift Up}
SendEvent {Shift Up}

tapi itu hanya mengirim Shift Up selama beberapa milidetik, lalu AHK mendeteksi Shift ditekan lagi, bagaimana saya bisa menghindarinya ?? Saya juga telah mencoba BELLOW INI, tapi saya ingin menghindari menggunakan loop, karena itu beralih cepat antara Set Brush Max Size n Set Brush Min Size.

;   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

Terima kasih tingkat lanjut

litu16
sumber
tolong seseorang heeelp
litu16

Jawaban:

1

Cobalah untuk memetakan kembali Shift dan 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
pengguna3419297
sumber
ya saya mencobanya, tetapi saya memiliki subrutin AHK lain yang menggunakan hotkey Shift 1 Shift 2dan mereka tidak berfungsi jika saya melakukannya. ada ide?
litu16
Coba jawaban saya yang diedit.
user3419297
Ya saya bisa melakukan itu, tapi saya harus membuat subrutin untuk setiap hotkey default VP0 yang menggunakan pengubah Shift yang melelahkan. Jadi, sejauh ini saya menggunakan a SendEvent {Shift Up} inside a while loop, btw, mengapa Ctrl :: Shift ??
litu16