【问题标题】:Disabling all the combinations for a modifier with AutoHotKey使用 AutoHotKey 禁用修饰符的所有组合
【发布时间】:2013-07-09 21:38:15
【问题描述】:

使用AutoHotKey 脚本

LWin::
return

Left Windows 键可以完全禁用。不仅简单的Left Windows 被禁用,而且包括Left Windows 键在内的任何其他组合都无效,因为没有按下Left Windows 键。 例如:LWin+E,通常会打开一个资源管理器窗口,只会发送一个“e”。

无论如何,只要定义了使用左 Windows 键的新映射,Left Windows 键绑定的所有其余部分都会返回活动状态。例如,使用脚本:

LWin::
return


LWin & a::
Send foo
return

LWin + a 将打印“foo”。 Left Windows 一个人不会做任何事情。但是,神奇的是,Left Windows + E 会打开一个资源管理器窗口。

我怎样才能禁用修饰符(如LWinRWinLAltRAltLCtrlRCtrl)以便没有任何键绑定(但我明确定义的那些)运行?

【问题讨论】:

    标签: autohotkey


    【解决方案1】:

    指定您希望禁用的每个LWin 组合。

    LWin::
    LWin & e::    ; this combinations is disabled
    return
    
    
    LWin & a::
    tooltip, foo
    return
    

    除非您禁用它,否则所有其他默认组合仍然有效。

    如果你不愿意写出每一个组合,你可以用不同的方式来做。 由于您现在使用的是Send,因此它的可靠性稍差。

    global LWin_g := 0 
    
    SetTimer , checkLWin , 25
    return
    
    
    checkLWin:
        if( GetKeyState( "LWin" , "P") )
            LWin_g := 1
        else
            LWin_g := 0
    return
    
    $e::
        if( LWin_g )
        {
            tooltip, action 
        }
        else
        {
            Send ,e
        }
    return
    
    LWin::  
    return
    

    【讨论】:

    • 这就是我所担心的。很遗憾知道这一点。
    • 太棒了!你的解决方案太棒了!
    猜你喜欢
    • 1970-01-01
    • 2020-01-23
    • 1970-01-01
    • 2011-11-11
    • 1970-01-01
    • 2017-05-25
    • 2022-06-16
    • 2022-11-30
    • 1970-01-01
    相关资源
    最近更新 更多