AHK - วิธีจัดกลุ่มคำสั่งที่แตกต่างกันไปยังคีย์ลัด?


1

ใน Photoshop ฉันมี 3 การกระทำสำหรับปุ่มลัด "g" ของฉัน:

  1. ถ้าฉันถือ "space + g" ให้ซูมเข้าและเปิดใช้งานเครื่องมือ (ซูม);

  2. หากแตะ "g" ให้เปิดใช้งานเครื่องมือ (รอยเปื้อน)

และ...

  1. หากฉันแตะ "g" 2 ครั้งให้เปิดเมนู (Ctrl + Alt + F12) หากแตะ 4 ครั้งให้เปิดเมนูอื่น (Shift + Alt + F1)

หมายเหตุ: ต้องเป็น "~ g" เพื่อทำงาน

คำถามของฉัน:

วิธีการจัดกลุ่มรหัส 1 และ 2 พร้อมกับกลุ่มที่สาม

วิธีนี้รหัสที่สามไม่ทำงาน:

; CODES 1 AND 2 — WORKS:

g::
if !GetKeyState("Space","U")
{
    Send, g ; CODE 2
    return
} else {
    Send, ^{Numpad0} ; CODE 1
    Sleep 10
    Send, z
    return
}


; CODES 3 — WORKS:

~g::
    if (A_PriorHotkey <> "~g" or A_TimeSincePriorHotkey > 400)
    {
        KeyWait, g
        return
    }
    Send, % ["^!{F12}","+!{F1}"][(count >= 2 || !count) ? count := 1 : ++count]
return

; --------------------------------------------------
; Trying to put together...
; CODES 1 AND 2 + CODE 3 — (THIRD DON'T WORKS):

g::
    if !GetKeyState("Space","U")
    {
        Send, g
        return
    } else {
        Send, ^{Numpad0}
        Sleep 10
        Send, z
        return
    }
    if (A_PriorHotkey <> "~g" or A_TimeSincePriorHotkey > 400)
    {
        KeyWait, g
        return
    }
    Send, % ["^!{F12}","+!{F1}"][(count >= 2 || !count) ? count := 1 : ++count]
return

คำตอบ:


0

ฉันไม่ทราบว่าไวยากรณ์ของรหัสด้านล่างถูกต้องหรือไม่เพราะฉันเป็นมือใหม่ใน AHK แต่อย่างน้อยก็ใช้งานได้

ใช้งานได้กับ Photoshop CC2015:

~g::
{
    Sleep, 150
    GetKeyState, state, g, U
    IfEqual, state, U
    {
        if (A_PriorHotkey <> "~g" or A_TimeSincePriorHotkey > 400)
        {
            KeyWait, g
            return
        }
        Send, % ["^!{F12}","+!{F1}"][(count >= 2 || !count) ? count := 1 : ++count]
        return
    }
    if !GetKeyState("Space","U")
    {
        Send, g
        return
    }
    else
    {
        Send, ^{Numpad0}
        Sleep 10
        Send, z
        return
    }
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.