1

У меня есть скрипт 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 + ', а затем (например), он вставляет Ã (с перевернутым вверх ¡). Тем не менее, сценарий говорит, что он должен вставить. Почему это делает это?

1 ответ1

0

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

Попытка поиска virtual key в разделах справки AHK.

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

Send {U+00FA}      ; Send ú

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .