Вероятно, это проблема кодирования, как отметили пользователи в комментариях, однако вы можете также столкнуться с неожиданным поведением при Send
, когда обычно отправляет символы, которых нет в текущей раскладке клавиатуры.
Хороший способ обойти эту проблему и не беспокоиться о проблемах с кодировкой - это указать эти специальные символы с символьной нотацией Unicode .
Кроме того, поскольку у вас есть однострочные горячие клавиши, вы можете опустить Return
s и сделать это следующим образом:
!+A::SendInput, {U+00C4}
!a::SendInput, {U+00E4}
!+O::SendInput, {U+00D6}
!o::SendInput, {U+00F6}
Чтобы получить Unicodes для символов, вы можете использовать, например, this website.
Я также использую SendInput
вместо Send
, так как это просто хорошая практика. Даже при том, что здесь нет никакой разницы (как описано в моей выше ссылке о символьной нотации Unicode).
Кроме того, ваш скрипт, кажется, включает в себя автоматически сгенерированный код ahk вверху, который задает SendMode, Input
, что означает, что все экземпляры Send
автоматически конвертируются в SendInput
.
Весь автоматически сгенерированный код в верхней части может быть удален, если вы хотите хороший легкий скрипт. Ничто из того, что там делается, ничего не делает для вас.