autohotkey - ; 作为新的修饰键
问题描述
我想;
成为一个新的修饰键。以下工作几乎完美。
`;::
if GetKeyState("LShift", "P")
Send `:
else
Send `;
return
`; & x::
if GetKeyState("LShift", "P")
...
else
...
return
以下愿望清单中只有第 2 点不起作用。有人知道如何修复此代码吗?
;
被;
单独按下时shift ;
被:
单独按下时;
x
成为第二个...
shift
与成为第;
一个x
...
解决方案
以下工作完美,但由于代码重复而代码难看。也许更简洁的代码是可能的。
started := 0
LShift & `;::
if started = 0
started := A_TickCount
return
`;::
if started = 0
started := A_TickCount
return
LShift & `; Up::
if A_TickCount - started < 500
Send `:
started = 0
return
`; Up::
if A_TickCount - started < 500
Send `;
started = 0
return
`; & x::
started = 0 ; <==== !
if GetKeyState("LShift", "P")
...
else
...
return
现在,只要与(无延迟)组合使用或按下超过半秒,该键;
就可以用作修饰键。x
延迟不是必须的,可以消除;它只是在那里防止将意外的修饰键误解为;
. 冒号:
也可以正常工作。
推荐阅读
- mysql - 嗨,我如何使用 mysql 显示城市中薪酬第二高的员工
- hadoop - 格式化namenode后如何恢复datanode的版本文件
- python - 使用数据框附加 Excel/CSV 文件
- php - <<<_END 这究竟是做什么的?
- solver - 您如何在 Cubical Agda 中使用环求解器?
- python - 动态规划问题的记忆。为什么以下解决方案不起作用?
- java - 如何在以下 lambda exp 中添加同步?
- r - 如何在 ggplot2 中将图例键字形的形状更改为六边形?
- python - 检查两个列表中项目的接近外观 - Python
- c# - 如何使用 Unity 在 iOS 上的下载文件夹中保存文件