繁体   English   中英

在 AutoHotKey 中将 Alt 键重新映射到 Ctrl 键会导致同时按下两个键

[英]Remapping Alt key to Ctrl key in AutoHotKey causes both keys to be pressed

因此,就像标题所说的那样,每当我将 LAlt 键重新映射到 LCtrl(或 LCtrl 到 LAlt)时,当使用任一键时,它们都会被按下,这会导致各种问题。

我需要交换这些键的主要原因是在 Windows 7 计算机上与 Mac 键盘一起使用。 不过,老实说,这只是我问题的开始。 我实际上希望 LAlt 键是 LCtrl 键,LWin 键是 LAlt 键,而 LCtrl 键是 LWin 键,这样它就可以适当地模拟 Mac 键盘供个人在Pro Tools 10 中使用 但是,当我尝试这种 3 向交换时,LCtrl 和 LWin 正常运行(分别作为 LWin 和 LAlt),但是 LAlt 键仍然继续按下 LCtrl 和 LAlt。

我的代码如下所示:

#IfWinActive
LAlt::LCtrl
LWin::LAlt
LCtrl::LWin
Return

我对 AHK 还很陌生,但这应该不会太复杂,对吧? 它非常简短和甜蜜,我什至不担心 Alt+Tab 的折磨; 我只需要找出问题,以便可以正确交换这三个按钮。 如果有人知道为什么会发生这种情况,我将不胜感激。 感谢您的时间和精力。

我认为您的热键可能会相互触发。

当你打LALT,它发送LCTRL,这将触发LALT ...当你拥有了一个热键,其输出的另一热键的输入匹配,前缀与您的热键$阻止它们触发对方:

$LAlt::LCtrl
$LWin::LAlt
$LCtrl::LWin

另外,我认为您的#IfWinActive没有做任何事情,因为它没有WinTitle参数,加上最后的return不是您结束#IfWinActive块的方式,您以#IfWinActive <WinTitle>并以#IfWinActive

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM