【问题标题】:Match both shift keys being pressed in AutoHotKey匹配 AutoHotKey 中按下的两个 shift 键
【发布时间】:2020-09-11 19:08:09
【问题描述】:

我的一个键盘有一个更大的 Shift 键,而我的管道/反斜杠键通常是。有没有办法匹配 AutoHotKey 中的 Shift-Shift(即按下两个 Shift 键),以便我仍然可以像使用其他键盘一样键入管道(|)?我试过简单的++,但这似乎等同于Shift-+

【问题讨论】:

  • 不确定您是指左右移位,还是这种“大移位”更特别。如果是特殊键,可以尝试获取其扫描码(SC)或虚拟键码(VK)。这可能是一个足够好的教程:jacks-autohotkey-blog.com/2016/04/14/…
  • 是的,我的意思是左移和右移。这是美式键盘,我通常使用英式布局键盘。

标签: autohotkey


【解决方案1】:

感谢@0x464e 的评论,我能够找到左移和右移的虚拟键代码 (VK):

  1. 在我的 ahk 脚本中添加++::Send {U+007C}:: 的右侧在这里无关,这只是为了让 Shift 出现在键历史记录中)
  2. 右键单击系统托盘中的脚本,单击“打开”,在“查看”选项卡中选择“密钥历史记录”。
  3. 在文本编辑器中输入Shift-+ 几次,然后按每个 Shift 键。
  4. 在“键历史记录”窗口中按 F5 并读取左移和右移的虚拟键值(在我的例子中分别为 VKA0VKA1)。

然后我在我的 ahk 脚本中添加了以下规则,以在我按住右 Shift 键并按下左 Shift 键时发送管道:

VKA1 & VKA0::Send {U+007C}

【讨论】:

  • 好东西,并且为了能够查看密钥历史记录,您的脚本可以只包含#InstallKeybdHook 而没有其他内容。这就是在引擎盖下添加热键的作用。此外,由于我们谈论的只是左右移位而不是特殊的东西,你应该只使用RShift & LShift::SendInput, |SendInput 是推荐的发送模式,但不会在实践中产生任何影响)这个特定的脚本)
猜你喜欢
  • 2017-06-11
  • 1970-01-01
  • 1970-01-01
  • 2013-03-20
  • 2013-11-21
  • 1970-01-01
  • 2014-03-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多