この自動ホットキー スクリプトがあります:
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 16 進キーが左下に表示されます。