AutoHotKey:通过同时按下两个 Shift 键来更改键盘布局

AutoHotKey: Change keyboard layout by pressing both shift keys

我已经使用 Linux 和 KDE 很长时间了,我的肌肉记忆想通过同时按下两个 shift 键来切换键盘布局。我可以使用 AutoHotKey 在 Windows 上实现吗?

我缺少两条信息:

  1. 如何重新映射 "both shift keys pressed at the same time"?我可以使用 + 捕捉一个 shift 键的按下,但是两个呢?

  2. 如何发送 Windows 用于切换布局的组合键(在我当前的设置中为 Ctrl+Shift)?更一般地说,如何将某些内容重新映射到组合键?

使用组合键符号和L/R前缀,参见the documentation(或帮助文件):

LShift & RShift::send {LShift down}{LCtrl down}{LShift up}{LCtrl up}

我想完全禁用本机 Windows 热键。到目前为止,以下运行良好,包括控制台 windows.

~RShift & ~LShift::
~LShift & ~RShift::
INPUTLANGCHANGE_FORWARD := 0x2
WM_INPUTLANGCHANGEREQUEST := 0x0050
WinGet, windows, List
Loop % windows {
  PostMessage WM_INPUTLANGCHANGEREQUEST, INPUTLANGCHANGE_FORWARD, % Lan, , % "ahk_id " windows%A_Index%
}
return