微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NumLock上的GetKeyState的if-else同时活动的AutoHotKey脚本

如何解决NumLock上的GetKeyState的if-else同时活动的AutoHotKey脚本

我写了一个AHK脚本来交换以及其他类似的键,这样我在编写HTML和CSS时就不必按shift键,但是希望能够使用Numlock按钮进行切换。我的脚本代码如下:

if (GetKeyState("Numlock","T"))
{
    $[::Send {Raw}{
    $]::Send {Raw}}
    $+[::Send `[
    $+]::Send `]
}
else
{
    $,::Send `<
    $+,::Send `,$.::Send `>
    $+.::Send `.
}

实际上,在运行此脚本的同时, [ / { {和kbd>), / 键是“反转”,无论Numlock处于打开还是关闭状态。

任何见识都会受到赞赏。

解决方法

嗯,这是一个很好的问题,您非常亲密!我相信您正在寻找的是context-sensitive hotkeys。请查看以下各项是否对您有用:

#if (GetKeyState("NumLock","T"))
    $[::Send {Raw}{
    $]::Send {Raw}}
    $+[::Send `[
    $+]::Send `]
#if !(GetKeyState("NumLock","T"))
    $,::Send `<
    $+,::Send `,$.::Send `>
    $+.::Send `.
#if

请注意,不一定总是要用#if来结束上下文相关的部分,但是我喜欢这样做,因为它使我更容易跟踪正在发生的事情。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。