1

私は AHK の専門家ではありませんが、少し前に、アポストロフィ デッド キーの動作を変更する非常に単純なコードを作成しました。私が欲しかったのは、単独で押された場合にアポストロフィを直接出力するキーと、右の Ctrl で押された場合の通常のデッドキー機能を持つことでした。
私のコードは次のとおりでした

$'::send '{space}
^'::send '

加えて、関連性がないと思われる他のいくつかのもの。しばらくは問題なく動作していましたが、最近停止しました。何らかのアップデートか何かが疑われます。

今では予想とは異なる動作をします.1回だけ押すと、後ろにスペースを入れずにアポストロフィが印刷されます(今まではすべて問題ありません)が、Ctrlキーを押しながらそれを押してから他の文字を押すと、文字だけが印刷されます。Ctrl を 2 回押すと、2 回目のプレス後に 2 つのアポストロフィが出力され、最初に Ctrl を押した後にキー自体 (Ctrl なし) を押すと、2 つのアポストロフィの後に 1 つのスペースが出力されます。

実際には:

Ctrl+' followed by e = <e> with no apostrophe anywhere.  
Ctrl+' followed by r = <r> again with no apostrophe anywhere.  
Ctrl+' followed by Ctrl+' = <''>  
Ctrl+' followed by just ' alone = <'' >  

これは私を非常に困惑させます。以前のように機能させるための提案はありますか?
前もって感謝します。

4

1 に答える 1

1

Skipjack3、私のせいです。前の回答で2つのキーボードを切り替えました。US (US International ではなく) を選択した場合、OS によって保持されているデッド キーがないため、AHK はこれらのキーを使用して文字列をトリガーできます。

私が自分のシステムで何年も前に行った方法(そして今日も使用しています)は次のとおりです。

:?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::ä
:?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*:`'c::ç
:?C*:`'C::Ç
:?C*:ss\::ß
:?C*:ae\::æ
:?C*:AE\::Æ
:?C*:oe\::œ
:?C*:OE\::Œ
于 2016-06-08T06:45:12.717 に答える