我有這個自動熱鍵腳本:
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 ú
您可以透過托盤圖示然後查看選單在腳本的按鍵歷史記錄中尋找虛擬按鍵代碼,或者僅透過執行 Windowscharmap
實用程式來尋找 Unicode 編號,Unicode 十六進位按鍵將顯示在左下角。