Autohotkey ホットキーとホットストリング

Autohotkey ホットキーとホットストリング

ホットストリングが Autohotkey で動作するように、再マップされたホットキーによってホットストリングがトリガーされるようにするにはどうすればよいですか?

r::Send e
::ee::by the way

キーボードで rr を押すと、「by the way」と印刷されます。

現在は ee を押した場合にのみ印刷されます。

注: 複数のトリガー略語を割り当てて同じ文字列に展開する必要がないソリューションが必要です。

答え1

AHK v1.1以降を使用する場合は#InputLevelを使用できます。http://ahkscript.org/docs/commands/_InputLevel.htm

::ee::by the way
#InputLevel, 1
r::Send e

答え2

代わりにこれを使用してください:

r::Send {ASC 0101}
::えー::ところで
::rr::ところで

答え3

コードは次のとおりです:

r::
Loop
{
    b:=GetKeyState("r")
    if (b !=1)
    {
        ccounter := 1
        Loop
        {
            c:=GetKeyState("r")
            if (c=1)
            {
                MsgBox, by the way
                return
            }
            Sleep, 50

            ccounter:= ccounter + 1

            if (ccounter = 60)
            {
                return
            }
        }
    }
}
return

を 2 回押すと、「ところで」というメッセージ ボックスが表示されますr。ただし、2 回の押下間隔はr最大 3 秒にする必要があります。 を変更することで、その時間を調整できますccounter = 60。各値は 50 ミリ秒 (1000 ミリ秒 = 1 秒) に相当します。

また、常にAutoHotkeyとそのドキュメントを使用してください。http://ahkscript.org/(現在の最新バージョン、新しい公式ウェブサイト)! autohotkey.com の AutoHotkey とそのドキュメントは古くなっており、使用時に問題が発生する可能性があります。

答え4

これは動作します:

:*:rr::  
Goto ::ee  
return  
::ee::  
Send by the way  
return

関連情報