我正在尝试单击ALT以在程序之间来回切换,但不会干扰或破坏按住键的本机功能,但是A_PriorKey
[下文] 似乎只考虑键盘键而不是鼠标按钮或点击。
我怎样才能让鼠标键也被考虑?
- 目标是仅当按住 时没有按下其他键时才在最后一个活动的两个程序之间来回切换ALT:
~$LAlt Up:: { ToolTip, % A_PriorKey if (A_PriorKey = "LAlt") { send, !{Tab} } Return }
我正在尝试单击ALT以在程序之间来回切换,但不会干扰或破坏按住键的本机功能,但是A_PriorKey
[下文] 似乎只考虑键盘键而不是鼠标按钮或点击。
我怎样才能让鼠标键也被考虑?
~$LAlt Up::
{
ToolTip, % A_PriorKey
if (A_PriorKey = "LAlt")
{
send, !{Tab}
}
Return
}
如果您不尝试并担心检测其他键,而只需使用计时器值来确保您ALT在相当短的时间内按下开/关,它就可以工作。
您可以尝试以下操作,但它需要短暂的开/关ALT,并且不会检查是否按下了其他键,还允许您进行多次短开/关以触发多个ALT+TAB ⭾并切换回不仅仅是最后一个活动计划;例如,两次快速开/关键可让您进入倒数第二个程序并更改ALT+TAB ⭾程序列表的顺序。
deltaTime
如果触发不正确,请更改比较常数,并启用deltaTime
工具提示以查看触发器按平均值设置比较常数的值:200ms
[ ] 是您必须为多次+按下SetTimer, SendAltTab, -200
触发额外的背靠背按下的时间;如果您不想使用多个+按下,请禁用时间延迟 [直接设置或包含代码],这样它就不会超过. ALTTAB ⭾ALTTAB ⭾200ms
-1
sendCount
1
200ms
计时器以要求更快的背靠背按下,并在最后一次按下时执行更快速,因为它会更快地超时),或者您可以减慢它以不具有在背靠背压力机上尽可能快(在最后一次压力机上稍微延迟执行,因为它会超时)。下面的计时器值在尝试后感觉很自然。如果您需要实际检查其他键,您可以执行替代实现来设置一个变量,↓ ALT该变量会因按下任何其他键而取消设置,然后再次检查该变量 on ↑ ALT。
A_PriorKey
它↓ ALT是否已更改为,但是如果您连续两次执行相同的+击键↑ ALT,这将不起作用,因为它看起来像一个键没有被按下,触发一个+ 。ALT<whatever>
ALTTAB ⭾您可以通过在热键中为每个组合设置一个标志来明确排除组合。
您的示例对我不起作用,因此第一个选择是使用ALT.
选项 1. 使用另一个键
我在这里使用L SHIFT:
选项 2. 使用 LAlt(有一些技巧)
仍然可以使用L ALT,但它更复杂,需要一个技巧来阻止 Windows 的硬编码
Alt up
菜单调用。结合上面的方法: