Windows 7 如何在无意识激活Capslock模式的情况下交换Capslock和Ctrl?
我有一个简单的自动热键脚本:Windows 7 如何在无意识激活Capslock模式的情况下交换Capslock和Ctrl?,windows-7,autohotkey,ctrl,capslock,Windows 7,Autohotkey,Ctrl,Capslock,我有一个简单的自动热键脚本: Capslock::Ctrl #Capslock::Capslock 关键是,有时capslock模式会被激活,即使我只想让它作为Ctrl键运行,但我无法让它停止。唯一的方法是暂停脚本,修复它,然后重新激活它 我如何才能使其按预期工作 关键历史 代码中一个值得注意的问题是,Ctrl是一个修改键,而Capslock不是,这将产生意想不到的结果,包括Roman所描述的结果 请尝试以下方法: Capslock::SendInput {Ctrl Down} Capsl
Capslock::Ctrl
#Capslock::Capslock
关键是,有时capslock模式会被激活,即使我只想让它作为Ctrl键运行,但我无法让它停止。唯一的方法是暂停脚本,修复它,然后重新激活它
我如何才能使其按预期工作
关键历史
代码中一个值得注意的问题是,
Ctrl
是一个修改键,而Capslock
不是,这将产生意想不到的结果,包括Roman所描述的结果
请尝试以下方法:
Capslock::SendInput {Ctrl Down}
Capslock Up::SendInput {Ctrl Up}
#Capslock::Capslock
代码中一个值得注意的问题是,
Ctrl
是一个修改键,而Capslock
不是,这将产生意想不到的结果,包括Roman所描述的结果
请尝试以下方法:
Capslock::SendInput {Ctrl Down}
Capslock Up::SendInput {Ctrl Up}
#Capslock::Capslock
答复:
为什么先按Shift+Caps(
Shift
)会激活capslock模式
因为从技术上讲,+Capslock
是另一个热键,您可能希望通过添加另一个条目来分配另一个任务,+Capslock::
,因此默认情况下,Capslock::
不会捕获该热键
要捕获所有组合而不为每个组合添加单独的条目,请尝试:
*Capslock::SendInput {Blind}{Ctrl Down}
*Capslock Up::SendInput {Blind}{Ctrl Up}
但是,这可能会干扰#Capslock::
条目,具体取决于上下文
所以,指定所有可能的组合是安全的,尽管它看起来有点太复杂甚至丑陋
编辑:
关于您添加的关键历史记录
进程优先级,脚本顶部的一个确实有帮助,使故障发生的频率大大降低
为什么先按Shift+Caps(
Shift
)会激活capslock模式
因为从技术上讲,+Capslock
是另一个热键,您可能希望通过添加另一个条目来分配另一个任务,+Capslock::
,因此默认情况下,Capslock::
不会捕获该热键
要捕获所有组合而不为每个组合添加单独的条目,请尝试:
*Capslock::SendInput {Blind}{Ctrl Down}
*Capslock Up::SendInput {Blind}{Ctrl Up}
但是,这可能会干扰#Capslock::
条目,具体取决于上下文
所以,指定所有可能的组合是安全的,尽管它看起来有点太复杂甚至丑陋
编辑:
关于您添加的关键历史记录
进程优先级,脚本顶部的一个确实有帮助,使故障发生的频率大大降低
#空格::Capslock
使用Capslock::Ctrl
优于Capslock::SendInput{Blind}{Ctrl Down}
,因为它在第一次按下Shift时不会激活Shift+Ctrl。如中所述,可能是因为
脚本本身忙于做其他事情,或者由于占用CPU的其他任务,操作系统没有为脚本提供足够的时间片
所以我也无能为力。所以我的解决办法是
#空格::Capslock
使用
Capslock::Ctrl
比使用Capslock::SendInput{Blind}{Ctrl Down}
更好,因为在第一次按下Shift时,它不会激活Shift+Ctrl。我尝试过,除了按Windows键加上Capslock时,我没有让Capslock激活一次。但是,当我按住capslock几秒钟时,我确实收到了关于短时间内收到大量热键并检查#MaxHotkeysPerInterval的警告。我尝试了一下,但除了按Windows键和capslock时,我没有让capslock激活一次。但是,当我按住capslock几秒钟时,我确实收到了关于短时间内收到大量热键并检查#MaxHotkeysPerInterval的警告。为什么按Shift+Caps
(Shift
首先)会激活capslock模式?为什么按Shift+Caps
(Shift
首先)会激活Caps模式激活capslock模式?这种情况再次发生。你知道为什么吗?我无法复制。您可以通过双击任务栏图标并按ctrl+H查看键历史记录来查看它。如果所有其他操作都失败,请添加一个条目+Capslock::
。因此,避免出现故障的唯一方法是提高脚本的优先级?我们为什么不把它设为最高优先级呢?一般来说,您不希望将任何用户线程的优先级设置为高于正常值的任何值,这可能会破坏