Why are dead keys not working with some letters in AutoHotkey?

554 Views Asked by At

In an AutoHotkey script, why do dead keys not work with some letters? As an example, when running AutoHotkey with the following script:

#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

then pressing the combination of Alt-Gr & Grave, followed by an 'a', i get à, OK, but Alt-Gr & Grave, followed by an 'e' does NOT produce è.

The issue is not related to grave (`), the same thing happens with any other dead keys (like circumflex, acute, macron etc.)

In my particular case, the letters not working are: e y s d k n. Could it have something to do with the keyboard layout? (I am using a UK English). Any ways of approaching the issue to ensure the dead keys will work?

Thank you!

1

There are 1 best solutions below

1
phil294 On BEST ANSWER

In my particular case, the letters not working are: e y s d k n

Try reorganizing these letters. I find this very hillarious indeed. Please insert any expression of laughter yourself, for it would not be welcomed on stackoverflow if I did.

You forgot to include your %'s. It should be

Input, SingleKey, L1, %EndKeys%

Otherwise, only e, n, d, k, y, s will be recognized as EndKeys