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

时间:2013-01-17 11:20:34

标签: autohotkey

我有一些在Windows XP上使用Alt键的映射。虽然他们工作得很好 左Alt,它们没有右Alt键。

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

  !b::MsgBox You pressed Alt+b.

我想让两个Alt键以相同的方式工作并触发映射 以上。

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

  <^>!b::MsgBox You pressed right Alt+b.

一种解决方法是复制包含alt键的所有映射,但是 这将显着增加一些脚本的大小。此外,我找到了 在某些情况下,它不起作用。进一步调查表明了 右Alt键有一个奇怪的行为。在只包含的脚本中 以下映射,

  ^!b::MsgBox You pressed Ctrl+Alt+b.

,按下right_Alt + b时会显示消息框。

我尝试将右Alt映射到左Alt,

<^>!::!

<^>!::Send {ALT}

,但它没有解决问题。

2 个答案:

答案 0 :(得分:2)

你提到你试图将Right-Alt映射到Left-Alt,但不是你怎么做的。无论如何,当我使用它时:

RAlt::LAlt

MsgBox你按下了Alt + b。按下Right-Alt + b和Left-Alt + b时执行。 你能说出你是如何试图映射两个Alt键的吗?

答案 1 :(得分:0)

由于更好​​的格式化选项,我将此评论作为答案撰写。

这是我在AutoHotKey_L(1.1.09.01)中使用的脚本,应该在常规AutoHotKey中使用相同的。:

RAlt::LAlt
<^>!b::MsgBox, A You pressed right Alt+b.
^!b::MsgBox, B You pressed Ctrl+Alt+b.  

测试1:按 Ctrl + LAlt + b 。结果:MsgBox B,正常行为
测试2:按 Ctrl + RAlt + b 。结果:MsgBox B,由于重新映射而预期

评论;^!b::MsgBox, B...并再次测试。
测试3:按 Ctrl + RAlt + b 。结果:没有,如预期的那样

评论;RAlt::LAlt并再次测试:
测试4:按 Ctrl + RAlt + b 。结果:MsgBox A,预计不再重新映射。

最后但并非最不重要。如果按 Ctrl + RAlt + b RAlt + Ctrl <,则行为没有区别/ KBD> + b'/ KBD>。还有一点需要注意:我总是使用LEFT Ctrl 键,而不是右键 Ctrl 键。

你没有得到这些结果吗?
或者当你使 RAlt 等于 LAlt 时,你期望得到不同的结果吗?