Autohotkey 箭头完整映射

Autohotkey 箭头完整映射

到目前为止,我已经使用 autohotkey (.ahk) 获得了此代码

!k::SendInput,{UP}
!j::SendInput,{LEFT}
!æ::SendInput,{RIGHT}
!l::SendInput,{DOWN} 

它正确地将我的箭头键映射到 j、k、l、æ。(æ 是英文键盘上的 ; 键按钮)

这个功能很好用,除了我不能按住“ctrl+alt+j”来转到左边的下一个单词,就像我使用“ctrl+arrowKeyLeft”一样。

我需要它与 shift 配合使用,以突出显示左侧的字母。现在什么都没有发生,所以我想我应该告诉脚本它应该以某种方式突出显示“shift+alt+(j,k,l,æ)”上的文本,但我还没有找到这样做的方法。任何关于如何做到这一点的帮助、喜欢或建议都将不胜感激。提前致谢。

答案1

按照@NextInLine 评论中的思路,类似下面的内容可能是一个起点,但似乎 Windows 和这些组合键之间存在一些奇怪的问题,因此当前脚本的作用就像是整行选择而不是每个单词。也许在您的系统上测试会导致不同的行为。

该脚本基本上执行以下操作:

  1. 检查 Ctrl 和 Alt 的键状态是否为 True(按下)。
  2. 如果为真,则循环包含的代码 20 次
  3. 在循环中,等待按下 j 2 秒。如果按下,则执行 {Alt up}{Ctrl down}{Shift down}{LEFT}
  4. 如果没有检测到 j 键,则中断循环。

代码:

 ^!j::
 {
      if (GetKeyState("Ctrl", "P")) AND (GetKeyState("Alt", "P"))
        { 
        Loop, 20
        {
        KeyWait, j, D T2
        if (GetKeyState("j", "P"))
          {
          SendInput, {Alt up}{Ctrl down}{Shift down}{LEFT}
          }
        else
        {
          break
        }
        }
      SendInput, {Ctrl up}{Shift up}
      return
        }
    }

相关内容