【问题标题】:Binding to Ctrl-Shift in AutoHotKey在 AutoHotKey 中绑定到 Ctrl-Shift
【发布时间】:2012-08-21 17:51:42
【问题描述】:

我想使用 AutoHotKey 将命令绑定到 Ctrl+Shift,就像 Windows 检测到它以便将文本方向从右更改为-从左到右。即:我希望在 Ctrl+Shiftlet go 时调用它,并且只有在按下 之间没有按下任何键的情况下Ctrl+Shift 然后放开。

我在 ^~ Shift Up 上绑定了一个热键,我希望它的行为与 Windows 绑定到它以更改文本方向时的行为相同。但是,我发现即使在我不想调用它的情况下也会调用它。

例如,我可以通过按 CtrlShift 选择几个单词,然后使用箭头键。然后我松开 Ctrl 和 Shift 并调用热键。我不想要这个。我想要一个只有在 Ctrl 和 Shift 之后没有其他任何东西时才会调用的热键。如果我使用任何其他键,我希望不调用热键。

有没有办法用 AHK 做到这一点?

【问题讨论】:

    标签: windows autohotkey


    【解决方案1】:
    #InstallKeybdHook
    
    Hotkey, ^LShift Up, ControlShiftUp
    Return
    
    ControlShiftUp:
        if (A_PriorKey != "LShift") ; [v1.1.01+]
            return
        ; do something
        msgbox hi
    Return
    

    【讨论】:

    • 看起来不错。它在它自己的文件中时有效,但当我将它放入现有的.ahk 文件时不起作用,这就是我想要使用它的方式。知道为什么吗?
    • 首先,我将检查现有的 .ahk 脚本是否在所需版本 v1.1.01 上运行良好,而无需实现我提供的代码。其次,我会确保没有使用 LShift 分配热键的行。话虽如此,但没有看到您的实际代码,我无法判断。这将是一个不同的问题。
    • 我缩小了范围,结果发现即使只添加一个简单的热键,如#z:: Click 0, 0,也会导致您的脚本无法工作。我很困惑。你知道为什么会这样吗?
    猜你喜欢
    • 2021-08-09
    • 2013-03-06
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-23
    相关资源
    最近更新 更多