重新映射键的热键不会触发热字串
Hotkey to remap keys does not trigger hotstring
我有一个热键和热字串似乎不能一起工作:
9::(
:?ob0:(::){left 1}
为了提供一些上下文,在代码的一部分中,我将所有符号重新映射到它们下面的数字,反之亦然,因此 9
打印括号 (
。后来我放了一个热字串,它会在一个圆括号之后输入一个圆括号,然后将光标放在中间。
看起来很简单,因为它们都单独工作,但当我按下 9
键并按空格键时,它们一起工作,我只得到左括号 (
,就好像热字符串被忽略了一样。
我是不是遗漏了什么明显的东西?
尝试使用 Send
and InputLevel
的组合。
#InputLevel 1
9::SendEvent (
#InputLevel 0
;; Add closing parenthesis
:?ob0:(::){left 1}
说明
-
- 默认情况下,hook 热键和热字串会忽略由任何 AutoHotkey 脚本生成的键盘和鼠标事件。可以使用 SendLevel 或 #InputLevel
覆盖此行为
- 通过将
9
热键设置为更高的 InputLevel,可以激活其他热字串。
-
备注
- SendPlay is not affected by InputLevel.
- Remarks for Remapping Keys 可以解释为什么
9::(
不会触发其他热键。
- "虽然重新映射的键可以触发普通热键,但默认情况下它不能触发鼠标热键或挂钩热键。"
相关
我有一个热键和热字串似乎不能一起工作:
9::(
:?ob0:(::){left 1}
为了提供一些上下文,在代码的一部分中,我将所有符号重新映射到它们下面的数字,反之亦然,因此 9
打印括号 (
。后来我放了一个热字串,它会在一个圆括号之后输入一个圆括号,然后将光标放在中间。
看起来很简单,因为它们都单独工作,但当我按下 9
键并按空格键时,它们一起工作,我只得到左括号 (
,就好像热字符串被忽略了一样。
我是不是遗漏了什么明显的东西?
尝试使用 Send
and InputLevel
的组合。
#InputLevel 1
9::SendEvent (
#InputLevel 0
;; Add closing parenthesis
:?ob0:(::){left 1}
说明
-
- 默认情况下,hook 热键和热字串会忽略由任何 AutoHotkey 脚本生成的键盘和鼠标事件。可以使用 SendLevel 或 #InputLevel 覆盖此行为
- 通过将
9
热键设置为更高的 InputLevel,可以激活其他热字串。
备注
- SendPlay is not affected by InputLevel.
- Remarks for Remapping Keys 可以解释为什么
9::(
不会触发其他热键。- "虽然重新映射的键可以触发普通热键,但默认情况下它不能触发鼠标热键或挂钩热键。"