1
votes

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

1 Answers

1
votes

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