为什么死键不能用于AutoHotkey中的某些字母?

时间:2015-03-06 14:09:51

标签: keyboard-shortcuts autohotkey globalization keyboard-hook dead-key

在AutoHotkey脚本中,为什么死键不适用于某些字母? 例如,使用以下脚本运行AutoHotkey时:

#InstallKeybdHook
EndKeys = {LControl}{RControl}{LAlt}{RAlt}{LShift}{RShift}{LWin}{RWin}{AppsKey}{F1}{F2}{F3}{F4}{F5}{F6}{F7}{F8}{F9}{F10}{F11}{F12}{Left}{Right}{Up}{Down}{Home}{End}{PgUp}{PgDn}{Del}{Ins}{BS}{Capslock}{Numlock}{PrintScreen}{Pause}

<^>!`::
Input, SingleKey, L1, EndKeys
IfInString,SingleKey,a
Send,{U+00E0} ;à
IfInString,SingleKey,e
Send,{U+00E8} ;è
return
return
然后按下组合 Alt-Gr&amp;坟墓,接着是'a',我得到à,好吧,但是 Alt-Gr&amp;坟墓,然后是'e',不会产生è。

这个问题与坟墓(`)没有关系,任何其他死键(如旋律,急性,宏等等)都会发生同样的事情。

在我的特定情况下,不起作用的字母是:e y s d k n。它可能与键盘布局有关吗? (我使用的是英国英语)。有任何方法可以解决问题,以确保死锁能够正常工作吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

  

在我的特定情况下,不起作用的字母是:e y s d k n

尝试重新组织这些字母。我发现这非常非常有趣。请自己插入任何笑声表达,因为如果我这样做,就不会受到堆栈溢出的欢迎。

您忘了加入%。它应该是

Input, SingleKey, L1, %EndKeys%

否则,只有endkys才会被识别为EndKeys