У меня есть этот скрипт 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 будет показан в левом нижнем углу.