2013-01-17 37 views
0

我有一些在Windows XP上使用Alt键的映射。虽然它们与 左侧的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键的所有映射,但 那会显著增加一些脚本的大小。此外,我发现 ,在某些情况下,它不起作用。进一步的调查显示,右键有一个奇怪的行为。在仅含有 以下映射脚本,

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

,当按下right_Alt + B被显示在消息框。

我试着右Alt映射到左Alt,

<^>!::! 

<^>!::Send {ALT} 

,但它并没有解决问题。

回答

1

你提到你试图将Right-Alt映射到Left-Alt,而不是你如何做到这一点。无论如何,当我使用这个:

RAlt::LAlt 

MsgBox你按下Alt + b。当我按下右键Alt + b和左键Alt + b时执行。 你能告诉你如何试图映射两个Alt键吗?

+0

我刚刚发现这种解决方案无法正常工作的情况:映射'^!b :: MsgBox您按下Ctrl-Alt + b'总是触发LAlt;如果你按Ctrl然后RAlt然后b什么也没有发生,尽管它起作用,如果你先按下RAlt,然后按Ctrl然后按b。有任何想法吗? – mMontu

+0

我不明白这一点。在我的系统上(使用autoHotKey_L v1.1.09.01),我测试了这个:^!b :: MsgBox你按下了Ctrl-Alt + b !b :: MsgBox你按了Alt + b RAlt :: LAlt, ,首先按住Ctrl并先用RAlt –

+0

按照您提供的三种映射,当我按下Ctrl后跟RAlt和b时,我会得到“您按下了Alt + b”。我使用的是autoHotKey v1.0.48.00,这是我发现的最新便携版本。 – mMontu

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。结果:消息框B,由于重新映射而预期

;^!b::MsgBox, B...注释掉并再次测试。
测试3:压制Ctrl + RAlt + b。结果:没什么,如预期

评论;RAlt::LAlt并再次测试:
测试4:按下Ctrl键+RALT + b。结果:MsgBox A,因为没有更多的重新映射。

最后但并非最不重要。有行为没​​有什么区别,如果我按按Ctrl +RALT + bRALT + 按Ctrl +b。再多注意一点:我总是用左键Ctrl键,而不是右键Ctrl键。

你没有得到这些结果吗?
或者当您制作RAlt等于LAlt时,您是否期待不同的结果?

+0

这是我失踪的那一块:'还有一点需要注意:我总是使用LEFT Ctrl键,而不是RIGHT Ctrl键。出于某种原因,我假定两个Ctrl都向系统发送相同的信号......包括'RCtrl :: LCtrl'使这成为事实。非常感谢您的帮助和耐心。 – mMontu

+0

不客气。很高兴你找到答案! –

+0

您的答案从一开始就是正确的 - 我得到了与您报告完全相同的结果。我的无知导致了第二个问题,这是你发现你的最后一个音符=第二个答案) – mMontu

相关问题