如何仅在 Cygwin 中使用 AutoHotKey 将 Caps Lock 重新映射到 Ctrl?

如何仅在 Cygwin 中使用 AutoHotKey 将 Caps Lock 重新映射到 Ctrl?

是否有办法在 Windows 7 中仅在 Cygwin 中使用 AutoHotKey 将 Caps Lock 重新映射到 Ctrl?我可以使用以下脚本对所有程序执行此操作:

Capslock::Control  

但是如何才能让按键重映射仅影响 Cygwin?

以下是我目前所看到的内容:

仅适用于 Emacs 的脚本(来自http://www.emacswiki.org/emacs/MovingTheCtrlKey#toc​​16):

#IfWinActive emacs  ; if in emacs
+Capslock::Capslock ; make shift+Caps-Lock the Caps Lock toggle
Capslock::Control   ; make Caps Lock the control button
#IfWinActive        ; end if in emacs

对我来说不起作用,因为 Cygwin64 的标题只显示 ~

我也尝试过这个:

#If WinActive("ahk_class ConsoleWindowClass"); or WinActive("ahk_class cygwin/x") or WinActive("ahk_class mintty"); if in Cygwin
+Capslock::Capslock ; make shift+Caps-Lock the Caps Lock toggle
Capslock::Control   ; make Caps Lock the control button
#IfWinActive        ; end if in Cygwin

还是没用。

如果我使用以下脚本,我确实可以使其仅适用于 Cygwin:

#IfWinActive ~  ; if in Cygwin
+Capslock::Capslock ; make shift+Caps-Lock the Caps Lock toggle
Capslock::Control   ; make Caps Lock the control button
#IfWinActive        ; end if in Cygwin

但这有时会导致 Chrome 出现一些缩放问题。

任何帮助将不胜感激。

(注意:我无法使用注册密钥解决方案重新映射密钥,我没有管理员权限)。

答案1

如果你向“WinTitle”参数添加更多信息,会怎么样?ahk_exe 命令像这样:

#IfWinActive ~ ahk_exe cmd.exe

这应该可以防止 capslock 干扰 Chrome

需要 AutoHotkey 版本http://ahkscript.org/正如所介绍的ahk_exe作为有效参数 - 参见http://ahkscript.org/docs/misc/WinTitle.htm#ahk_exe

相关内容