这是我第一次为我的新分体键盘编写 AHK 脚本。我熟悉编码,但不太熟悉 AHK 语法。
这是脚本的相关部分:
; Left Space (SC039) is the trigger key, no hold required
~SC039::
{
; Wait for the next key press
userKey:= Input("L1 T5")
; Show MsgBox with the pressed key for debugging
MsgBox("Key pressed after trigger: " userKey)
; If Backspace is pressed, exit the macro sequence
if (userKey = "Backspace")
{
MsgBox("Backspace pressed, exiting the macro.")
return ; Ends the macro and stops further key processing
}
else if (userKey = "n")
{
; Trigger: Open new window of current focused window
MsgBox("Trigger: Open new window of current focused window")
} ... etc
这是我运行脚本时遇到的错误:
Warning: This local variable appears to never be assigned a value.
Specifically: Input
006: {
▶ 009: userKey := Input("L1 T5")
011: MsgBox("Key pressed after trigger: " userKey)
014: If (userKey = "Backspace")
For more details, read the documentation for #Warn.
如果有帮助,我可以提供完整的脚本或任何其他信息。
我改变了输入行
Input, userKey, L1
(我认为是 1.1?)
Input(userKey, "L1")
应 ChatGPT 的要求。
那仍然不起作用,所以我尝试直接使用分配 userKey 变量
userKey:= Input("L1")
并添加“T5”以查看时间限制是否是一个问题。理想情况下,我希望它等到按下另一个键,但没有时间限制。
在 AutoHotkey V2 中,通过引入 InputHook(),输入处理机制得到了显着更新。这种新方法取代了AHK之前的输入方法,提供了更强大、更灵活的输入捕获功能。对于 AHK 开发人员来说,此更改增强了对输入处理的控制,并使创建复杂的输入相关脚本变得更加容易。 主要改进包括:
更强大的输入捕获 处理用户输入具有更大的灵活性 改进了创建自定义输入场景的方法 增强对输入事件的编程控制
有关详细的实现和使用,开发人员应参考关于 InputHook() 的 AutoHotkey V2 官方文档,它提供了有效利用这种新输入法的全面指导。