用于箭头键的AutoHotkey

时间:2015-05-10 22:58:22

标签: autohotkey

我想举行

alt + spacebar + U for the up key
alt + spacebar + H for the left arrow key
alt + spacebar + J for the right arrow key
alt  +spacebar + N for the down arrow

这可以用AutoHotkey吗?

2 个答案:

答案 0 :(得分:4)

您好,欢迎来到AutoHotkey,

你可能想看看AHK的核心基本介绍,热键:

https://www.autohotkey.com/docs/Hotkeys.htm

配置除了发送另一个密钥之外什么都不做的热键非常简单。例如,alt + spacebar for the up key可以翻译成

!Space::
    send {up}
return

(请注意alt是一个修饰符,可以写成!) 或简短形式:

!Space::send {up}

spacebar + U for the up key将是Space & U::send {up}

但是你正在寻找2键PLUS修饰符(alt)。对于由超过两个键(alt + space + u)触发的热键标签,您需要一个解决方法:

!Space::    ; once alt + space was pressed, ...
    while(getKeyState("alt") || getKeyState("space") || getKeyState("u")) { ; ... while either of these is being pressed down, ...
        hotKey, *u, altSpaceU, ON   ; u should now send {up}
    }
    hotKey, *u, altSpaceU, OFF
return

altSpaceU:  ; note: this is a label, no hotkey
    send {up}
return

请不要被这个打扰。 AutoHotkey实际上非常强大且易于学习。可悲的是,(afaik)这是解决超过两键热键的唯一工作方式。

EDIT 耶稣为什么没有人告诉我..

#if getkeystate("alt")
!space::send {up}
#if

显然是一种更好的解决方案

答案 1 :(得分:0)

这是解决方案 !空间::     发送{up} 返回