Alt + A
我有一个 AutoHotkey 脚本,它在按下时发送左箭头键。我还启用了 KeyHistory。
KeyHistory
!a::Send "{Left 1}"
当我打开 KeyHistory 并按 时Alt + A
,KeyHistory 提供以下输出:
我知道该Control
键是作为屏蔽键使用的,但为什么LAlt
松开后又按下去呢?是不是因为我本来是按住 LAlt 键的(按Alt + A
),当脚本执行的时候,脚本需要在按下左键之前先松开 LAlt 键?我认为可能是这种情况,因为如果 LAlt 保持在关闭状态(在这种情况下,发送Alt + left
而不是left
),可能会出现问题。
我猜在left
发送键后,脚本会再次按下LAlt
,因为我仍然按住LAlt
键。
我的假设正确吗?谢谢你!
!a::
您的脚本具有and not的触发器!a up::
,这意味着这将在按下键时触发,而不是在释放键后触发。这意味着,如果保持原样,Left发送键时Alt键仍会被按下。AutoHotkey 在这里试图避免的问题是 与 AltLeft相同Backspace,当然应该避免。
这会强制 AHKAlt在模拟按键的按下和释放之前释放按键Left。
发送密钥后Left,AHK 将再次模拟按键的按下Alt,因此当您稍后实际释放密钥时,情况将是正确的。
请注意,AHK 不知道也不关心 AltLeft与Backspace. Alt这是一种通用机制,可以避免因将键保持在“按下”状态而导致的各种不需要的键组合 。