【问题标题】:AutoHotkey Script Support Request to lock CapsLock Key in the "On" positionAutoHotkey 脚本支持请求将 CapsLock 键锁定在“开”位置
【发布时间】:2018-02-19 05:24:22
【问题描述】:

请求支持: 我修改了以下 AutoHotkey 脚本(在论坛中找到)将 CapsLock 键设置为我正在处理的数据库表(博士研究项目)的“打开”位置。使用此脚本,CapsLock 键在“On”位置被禁用,这是可取的;但是,无论 CapsLock 键按下多长时间(我使用的是 Win7),脚本功能都不会损坏,我必须退出 AutoHotkey 才能将 CapsLock 键返回到正常的开关状态。

如果 CapsLock 键被按下超过几秒钟,我将不胜感激对以下脚本进行的任何关于打破脚本“ON”循环的建议修改。我是一个新的论坛用户/新手程序员,虽然我确信脚本解决方案很简单,但我不知道如何最好地进一步修改脚本代码以完成程序中断序列。建议或建议将不胜感激。

;Disable modified Caps Lock Key Script
*CapsLock::Return
;Hold Caps Lock for approximately 1 second to enable, tap to disable
CapsLock::
{
SetCapsLockState, On
Return
}
Count=0
While GetKeyState("CapsLock", "P")
{
Count++
Sleep, 1
If Count > 5
{
Send, {CapsLock}
Break
}
}
KeyWait, CapsLock
Return

【问题讨论】:

  • 请将其中一个答案标记为正确。它只是有助于使事情井井有条:-)

标签: autohotkey


【解决方案1】:

如果按住该脚本超过一秒钟,此脚本将启用 CapsLock,然后按任意键将其关闭。

CapsLock::
    KeyWait, CapsLock
    GetKeyState, state, CapsLock, T
    If (A_TimeSinceThisHotkey >= 1000) and !(state = "D")
        SetCapsLockState, On
    Else
        SetCapsLockState, Off
Return

【讨论】:

  • 格雷,艾略特;非常感谢你们两位对此脚本的帮助。灰色的;您的版本实际上符合我的意图,但艾略特;您的版本与我的意图相反,因为在其他情况下首选小写并且我不小心误击了 CapsLock 键,因此您的版本很有帮助。总的来说,问题解决了,我的研究工作又回到了正轨。非常非常感谢您对此的帮助!厄尼
【解决方案2】:

也许最好的选择是在释放此键后切换它的状态?例如:

SetStoreCapslockMode, Off
CapsLock::
   KeyWait, CapsLock
   If A_TimeSinceThisHotkey>=1000 ; check an condition here
      Send, {CapsLock}
   Return

【讨论】:

  • 格雷,艾略特;非常感谢你们两位对此脚本的帮助。灰色的;您的版本实际上符合我的意图,但艾略特;您的版本与我的意图相反,因为在其他情况下首选小写并且我不小心误击了 CapsLock 键,因此您的版本很有帮助。总的来说,问题解决了,我的研究工作又回到了正轨。非常非常感谢您对此的帮助!厄尼
  • 嗨 Grey,我不确定为什么会这样,但是对脚本的这种修改可以完美地切换固定的开关 CapsLock 键功能(避免重复使用 Tab 键和意外造成的问题点击 CapsLock 键),但顺序是 Ctrl _ CapsLock 来切换开关。单独按 CapsLock 键无效。修改如下:
【解决方案3】:

不知道为什么(你能启发吗?),但这个修改完美地工作,但切换顺序是 Ctrl + CapsLock 来切换开关。

;此脚本使 CapsLock 可以锁定在开或关位置。使用 Ctrl + CapsLock 控制是否启用大写或小写锁定。大量使用 Tab 键时,单独按 CapLock 键无效。

CapsLock::
    KeyWait, CapsLock
    GetKeyState, state, CapsLock, T
    If (A_TimeSinceThisHotkey >= 5) and !(state = "D")
        SetCapsLockState, Off
    Else
        SetCapsLockState, on
Return

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多