在 Photoshop 中,我的热键“g”有 3 个操作:
如果我按住“space + g”,放大并启用工具(缩放);
如果点击“g”,启用工具(涂抹);
和...
- 如果我点击“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
答案1
由于我是 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
}
}