Autohotkey 如何使两个Alt键以相同的方式工作

Autohotkey 如何使两个Alt键以相同的方式工作,autohotkey,Autohotkey,我有一些在Windows XP上使用Alt键的映射。虽然他们可以很好地工作 左Alt键,不使用右Alt键 例如,当我按right_Alt+b时,以下映射不起任何作用, 当按下left_Alt+b时,它会显示一个消息框 !b::MsgBox You pressed Alt+b. 我希望两个Alt键以相同的方式工作并触发映射 上面 下面的映射不适用于右Alt键,但不适用于左Alt键 Alt键: ,按下右键Alt+b时将显示消息框 !b::MsgBox You pressed Alt+b.

我有一些在Windows XP上使用Alt键的映射。虽然他们可以很好地工作 左Alt键,不使用右Alt键

例如,当我按right_Alt+b时,以下映射不起任何作用, 当按下left_Alt+b时,它会显示一个消息框

  !b::MsgBox You pressed Alt+b.
我希望两个Alt键以相同的方式工作并触发映射 上面

下面的映射不适用于右Alt键,但不适用于左Alt键 Alt键:

,按下右键Alt+b时将显示消息框

  !b::MsgBox You pressed Alt+b.
我试着将右Alt映射到左Alt

<^>!::!
!:!

!::发送{ALT}

,但它没有解决问题。

您提到您试图将右Alt映射到左Alt,但没有说明您是如何做到的。无论如何,当我使用这个:

RAlt::LAlt
MsgBox您按了Alt+b。当我按下右Alt+b和左Alt+b时执行。 你能告诉我你是如何映射这两个Alt键的吗?

我写这条评论作为回答,因为有更好的格式选项

以下是我在自动热键(1.1.09.01)中使用的脚本,在常规自动热键中也应使用相同的脚本:

RAlt::LAlt
<^>!b::MsgBox, A You pressed right Alt+b.
^!b::MsgBox, B You pressed Ctrl+Alt+b.  
拉尔特:拉尔特 !b::MsgBox,A您按了右Alt+b。 ^!b::MsgBox,b您按了Ctrl+Alt+b。 测试1:按下Ctrl+LAlt+b。结果:MsgBox B,正常行为
测试2:按下Ctrl+RAlt+b。结果:MsgBox B,由于重新映射而应为

注释了
;^!b::MsgBox,b.
取出并再次测试。
测试3:按下Ctrl+RAlt+b。结果:没有,正如预期的那样

注释
;拉尔特::拉尔特
退出并再次测试:
测试4:按下Ctrl+RAlt+b。结果:MsgBox A,由于不再重新映射,应为

最后但并非最不重要。如果我按Ctrl+RAlt+b或RAlt+Ctrl+b,行为没有区别。还有一个注意事项:我总是使用左Ctrl键,而不是右Ctrl键

你没有得到这些结果吗?

或者,当您使RAlt等于LAlt时,您是否期望得到不同的结果?

我刚刚发现一种情况,这种解决方案不起作用:映射
^!b::MsgBox您按Ctrl-Alt+b
时始终会触发LAlt;如果你先按Ctrl,然后按RAlt,然后按b,什么也不会发生,尽管先按RAlt,然后按Ctrl,然后按b,效果会很好。有什么想法吗?我不明白。在我的系统上(使用autoHotKey_L v1.1.09.01),我测试了这个:^!b::MsgBox您按了Ctrl-Alt+b!b::MsgBox您按了Alt+b RAlt::LAlt,它可以双向工作,先按Ctrl,然后按RAlt,再按b。根据您提供的三个映射,当我按Ctrl,然后按RAlt和b时,我会得到“您按了Alt+b”。我使用的是AutohotkeyV1.0.48.00,这是我发现的最新便携式版本。我刚刚注意到你提到的是“autoHotKeyL”而不是“autoHotKey”。我会尝试一下,看看它是否解决了这个问题。我刚刚用AutoHotkey_L v.1.1.09.02测试了这个解决方案,当我按Ctrl键,然后按RAlt和b键时,仍然会得到“你按了Alt+b键”——也就是说,与AutoHotkey v1.0.48.00呈现的行为相同。有什么想法吗?这是我遗漏的部分:
还有一个注意:我总是使用左Ctrl键,而不是右Ctrl键。
。出于某种原因,我假设两个Ctrl向系统发送相同的信号。。。包括
RCtrl::LCtrl
实现了这一点。非常感谢您的帮助和耐心。您的回答从一开始就是正确的-我得到了与您报告的完全相同的结果。我的无知导致了第二个问题,是你用最后一个音符找到了第二个答案=)
RAlt::LAlt
RAlt::LAlt
<^>!b::MsgBox, A You pressed right Alt+b.
^!b::MsgBox, B You pressed Ctrl+Alt+b.