Autohotkey 自动热键外语口音

Autohotkey 自动热键外语口音,autohotkey,diacritics,Autohotkey,Diacritics,我正在尝试创建一个简单的ahk脚本,用于在用不同语言键入时发送带有重音符号的字母 我知道我可以使用!a::Send{U+00E0}发送a,但是有没有一种简单的方式来说“如果我输入大写字母a,发送?我想我可以使用!+a::Send{U+00C0},但这似乎不起作用(而且似乎比它应该的要复杂一些) 我在AutoHotKey中解决这个问题的方法如下: ;===== SPECIAL CHARACTERS FOR US KEYBOARD DRIVER (NOT US INTERNATIONAL) ====

我正在尝试创建一个简单的ahk脚本,用于在用不同语言键入时发送带有重音符号的字母

我知道我可以使用
!a::Send{U+00E0}
发送a,但是有没有一种简单的方式来说“如果我输入大写字母a,发送?我想我可以使用
!+a::Send{U+00C0}
,但这似乎不起作用(而且似乎比它应该的要复杂一些)

我在AutoHotKey中解决这个问题的方法如下:

;===== SPECIAL CHARACTERS FOR US KEYBOARD DRIVER (NOT US INTERNATIONAL) =======
:?C*:`` :: ; Turn `{Space} into a neutral `, else ` will be used in next vowel.
    Send, ``{Space}{BackSpace}
Return

:?C*:``a::à
:?C*:``i::ì
:?C*:``e::è
:?C*:``o::ò
:?C*:``u::ù
:?C*:``A::À
:?C*:``I::Ì
:?C*:``E::È
:?C*:``O::Ò
:?C*:``U::Ù

:?C*:^ :: ; Turn ^{Space} into neutral ^, else ^ will be used in next vowel.
    Send, {^}{Space}{BackSpace}
Return

:?C*:^a::â
:?C*:^i::î
:?C*:^e::ê
:?C*:^o::ô
:?C*:^u::û
:?C*:^A::Â
:?C*:^I::Î
:?C*:^E::Ê
:?C*:^O::Ô
:?C*:^U::Û

:?C*:`" :: ; Turn "{Space} into neutral ", else " will be used in next vowel.
    Send, +{'}{Space}{BackSpace}
Return

:?C*:`'a::ä ; I used 'because I use the Umlaut's much more often than the accent aigu
:?C*:`;a::ä
:?C*:`'i::ï
:?C*:`;i::ï
:?C*:`'e::ë
:?C*:`;e::ë
:?C*:`'o::ö
:?C*:`;o::ö
:?C*:`'u::ü
:?C*:`;u::ü
:?C*:`'A::Ä
:?C*:`'I::Ï
:?C*:`'E::Ë
:?C*:`'O::Ö
:?C*:`'U::Ü

:?C*:' :: ; Turn '{Space} into neutral ', else ' will be used in next vowel.
    Send, {'}{Space}{BackSpace}
Return

:?C*:`"a::á
:?C*:`"i::í
:?C*:`"e::é
:?C*:`"o::ó
:?C*:`"u::ú
:?C*:`"A::Á
:?C*:`"I::Í
:?C*:`"E::É
:?C*:`"O::Ó
:?C*:`"U::Ú

:?C*:`'c::ç
:?C*:`'C::Ç
:?C*:ss]::ß
:?C*:sss::ß
:?C*:ae]::æ
:?C*:AE]::Æ
:?C*:oe]::œ
:?C*:OE]::Œ
我使用Umlauts的频率远远高于口音aigu,因此我(个人)在我的美国国际键盘上使用了“and”。如果这太令人困惑,那么只需交换:

:?C*:`'a::ä    with    :?C*:`"a::ä  


最后是一些特殊的人物。我使用]作为这些特殊字符的结束符号,因为它靠近[Enter]键。

两者
!a::发送{U+00E0}
(a)和
+发送{U+00C0}
(À)对我来说工作很好。我复制并粘贴了你的代码,并用它来制作字母。当你尝试它时,到底会发生什么?奇怪的是,它在这里似乎工作得很好,但是在记事本++中它不工作,这应该不是一个太大的问题。另一个选择可能是使用热字符串。如果你想试试的话,我可以把它贴出来作为答案。
:?C*:`"a::á    with    :?C*:`'a::á