AutoHotkey отправляет странные символы

AutoHotkey отправляет странные символы

У меня есть этот скрипт autohotkey:

StringCaseSense, On
^'::
{
 Input, char, L1
   if char = a
      Send á
   else if char = A
      Send Á
   else if char = e
      Send é
   else if char = E
      Send É
   else if char = i
      Send í
   else if char = I
      Send Í
   else if char = o
      Send ó
   else if char = O
      Send Ó
   else if char = u
      Send ú
   else if char = U
      Send Ú
   else
      Send %char% ;ignores ctrl+' is if it isn't followed by any of aeioucyAEIOUCY
   return
}

Однако, когда я нажимаю ctrl + ', а затем a (например), он вставляет á (с перевернутой ¡). Однако скрипт говорит, что он должен вставить á. Почему он это делает?

решение1

Это может быть проблема с Unicode/UTF-8 и/или что-то еще.

Попробую поискать virtual keyв разделах справки AHK.

Вероятно, вы можете заменить символы, которые вы пытаетесь отправить, на эквиваленты Unicode, чтобы исправить это... т. е.

Send {U+00FA}      ; Send ú

Вы можете найти виртуальные коды клавиш либо в истории клавиш скрипта с помощью значка в трее, а затем меню «Вид», либо просто найти номер Unicode, запустив charmapутилиту Windows, и шестнадцатеричный ключ Unicode будет показан в левом нижнем углу.

Связанный контент