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

时间:2016-04-13 12:43:17

标签: macos windows-7 keyboard macros autohotkey

所以,正如标题所说,每当我将我的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的磨难;我只需要找出问题所以这三个按钮可以正确交换。如果有人知道为什么会发生这种情况,我将深表感激。感谢您的时间和精力。

1 个答案:

答案 0 :(得分:0)

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

当你点击LALT时,它发送LCTRL,触发LALT ...... 如果您的热键的输出与另一个热键的输入相匹配,请在热键前加上$,以阻止它们相互触发:

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

此外,我认为您的#IfWinActive没有做任何事情,因为它没有WinTitle参数,加上最后的return不是您如何结束{{1}阻止,您使用#IfWinActive启动它,并以#IfWinActive <WinTitle>

结束