求助用autohotkey编写键盘替换脚本
要求:当按下“~”键时(不输出“~”)Q键替换为7,W键替换为8,E键替换为9(具体还有8个键要替换,这里就不写了,我自己来增加)若按下空格键,则输出空格键,结束上面的按...
要求:
当按下“~”键时(不输出“~”)
Q键替换为7,W键替换为8,E键替换为9(具体还有8个键要替换,这里就不写了,我自己来增加)
若按下空格键,则输出空格键,结束上面的按键替换,键盘恢复正常
等待下一次输入“~”键
另,这个脚本不管有无运行,都不能影响我其它不涉及替换的按键的正常使用 展开
当按下“~”键时(不输出“~”)
Q键替换为7,W键替换为8,E键替换为9(具体还有8个键要替换,这里就不写了,我自己来增加)
若按下空格键,则输出空格键,结束上面的按键替换,键盘恢复正常
等待下一次输入“~”键
另,这个脚本不管有无运行,都不能影响我其它不涉及替换的按键的正常使用 展开
1个回答
展开全部
;定义变量
toggle = 0
`::
;~
toggle = 1
Return
~Space::
;加~发送原有按键
toggle = 0
Return
$q::
;加$屏蔽脚本按键
if toggle = 1
{
Send, {7 Down} ;第一次按下一秒内只发送一次
KeyWait, q, T1
Loop
{
GetKeyState, q_state, q, P ;检测q的状态
if q_state = U
{
Send, {7 Up} ;抬起
Break ;中断循环
}
Else
{
Send, {7 Down} ;按下
}
Sleep, 30 ;休息30ms
}
}
if toggle = 0
{
Send, {q Down} ;第一次按下一秒内只发送一次
KeyWait, q, T1
Loop
{
GetKeyState, q_state, q, P ;检测q的状态
if q_state = U
{
Send, {q Up} ;抬起
Break ;中断循环
}
Else
{
Send, {q Down} ;按下
}
Sleep, 30 ;休息30ms
}
}
Return
$w::
;加$屏蔽脚本按键
if toggle = 1
{
Send, {8 Down} ;第一次按下一秒内只发送一次
KeyWait, w, T1
Loop
{
GetKeyState, w_state, w, P ;检测q的状态
if w_state = U
{
Send, {8 Up} ;抬起
Break ;中断循环
}
Else
{
Send, {8 Down} ;按下
}
Sleep, 30 ;休息30ms
}
}
if toggle = 0
{
Send, {w Down} ;第一次按下一秒内只发送一次
KeyWait, w, T1
Loop
{
GetKeyState, w_state, w, P ;检测q的状态
if w_state = U
{
Send, {w Up} ;抬起
Break ;中断循环
}
Else
{
Send, {w Down} ;按下
}
Sleep, 30 ;休息30ms
}
}
Return
更多追问追答
追问
感谢您的答案!
运行发现了一个问题,按Q键时输出了连续的7,我只需要按一次Q输出一次7即可。
可否帮忙调整下。
追答
↑上面已调整 简单版本 仅按一次
;定义变量
toggle = 0
`::
;~
toggle = 1
Return
~Space::
;加~发送原有按键
toggle = 0
Return
$q::
;加$屏蔽脚本按键
if toggle = 1
Send, 7
if toggle = 0
Send, q
Return
$w::
;加$屏蔽脚本按键
if toggle = 1
Send, 8
if toggle = 0
Send, w
Return
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询