首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AutoHotKey密钥交换

AutoHotKey密钥交换
EN

Stack Overflow用户
提问于 2018-11-22 04:00:11
回答 1查看 432关注 0票数 2

嘿,我正在尝试创建一个ahk脚本,它将允许我按一个键"q“,并让它切换"e”键来发送"o“或"p”,这取决于变量"count“。我有一些工作,唯一的问题是,我不能得到"q“的关键工作。当我按下"q“键时,什么都不会出现,尽管"e”键确实按我想要的方式切换。

代码语言:javascript
运行
复制
count = 1

q::
If (count = 1) {
    count = 2
    MsgBox Count is set to 2
    return
} else if (count = 2) {
    count = 1
    MsgBox Count is set to 1
    return
}

e::
If (count = 1) {
    Send o
    return
}
If (count = 2) {
    Send p
    return
}


Escape::
ExitApp
Return
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-22 07:42:53

若要通过按键或键组合在两个不同选项之间切换,请使用:=运算符在true(1)和false(0)之间切换变量的值

代码语言:javascript
运行
复制
toggle := 1 ; true (Option 1)
MsgBox Option 1: "e" to "o"

$q::     ; $ prevents the key from triggering itself
toggle := !toggle
If (toggle)
    MsgBox Option 1: "e" to "o"
else
    MsgBox Option 2: "e" to "p"
return

$e::
If (toggle)
    Send o
else
    Send p
return

若要增加变量的值,请使用++运算符:

代码语言:javascript
运行
复制
count = 0

$q::
count++
If (count = 1)
    MsgBox Count is set to 1
else 
If (count = 2)
     MsgBox Count is set to 2
else {
    count = 1 ; reset
    MsgBox Count is set to 1
}
return

$e::
If (count = 1)
    Send o
If (count = 2)
    Send p
return

https://autohotkey.com/docs/Variables.htm#Operators

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53423686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档