我有这个自动热键脚本:
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 十六进制键将显示在左下角。