AutoHotkeyWikiのサンプルコード集を元にした使用例

このページでは、 TextRunRun の使用例の参考として、
AutoHotkey WikiのWebサイトにある、サンプルコード集を元に TextRunRun上で使う見本を挙げていきます。

外様のWebサイト

AutoHotkey Wiki は、このホームページとは全く関係のない別のWebサイトです。

あくまで参考例として使用させてもらっています。

AutoHotkey Wiki

今回のこのページで説明する事は、このWebサイトの中にある以下のページを参考にした事について語っています。

AutoHotkey Wiki の サンプルコード集

今回の説明で使っている全てのファイルは、以下のリンクからダウンロードできます。

AutoHotkeyWikiStorage.zip

( 8.5 KByte )

1つのキーに3種類以上の動作を割り当て

AutoHotkey Wiki のサンプルコード集のページ」にあるスクリプトを上から順に出来るかどうか試してみます。

まずは、以下の例を試します。

#UseHook    ;ホットキーラベルの定義で、常にフックを使用するようにする

vk1Dsc07B::    ;無変換
    KeyWait,vk1Dsc07B,T0.3    ;0.3秒対象キーが押されたかどうか
    If(ErrorLevel)
    {
        ;ここに任意のコマンド 長押し
        KeyWait,vk1Dsc07B
        Return
    }
    KeyWait,vk1Dsc07B,D T0.2    ;0.2秒対象キーが押されるのを待つ
    If(ErrorLevel)
    {
        ;ここに任意のコマンド 1度押し
        KeyWait,vk1Dsc07B
        Return
    }
    ;ここに任意のコマンド 2度押し
    KeyWait,vk1Dsc07B
    Return

このスクリプトを TextRunRun で実現しようとすると以下の様に変える事になります。

vk1D.txt
F_ErrorLevel_TextRunRunRestore()
KeyWait, vk1D, T0.3
if( ErrorLevel_TextRunRun ){
    ; 長押し
    F_output("処理3")
    KeyWait, vk1D
    F_ErrorLevel_TextRunRunRestore()
    return
}
KeyWait, vk1D, D T0.2
if( ErrorLevel_TextRunRun ){
    ; 1度押し
    F_output("処理1")
    KeyWait, vk1D
    F_ErrorLevel_TextRunRunRestore()
    return
}
; 2度押し
F_output("処理2")
KeyWait, vk1D
F_ErrorLevel_TextRunRunRestore()

このファイルは、 アイテム ではなく hotkeyAllGround に加える「常時使用のキー」のものとして使うファイルです。

trrEvery\fromFileName\[カテゴリー名]\hotkeyAllGround

に入れておけば使用できます。

使ってみた感想は、一応は同じ事ができるといった感じです。

せっかくなんで

出来る事が確認できたので、別のキーでも使える様に直しておきます。

1_ahkwiki.txt
global ahkwiki_key = vk1D

このファイルは アイテム です。
ですので item のフォルダの中に入れておきます。

このファイルはグローバル宣言をするための アイテム であり、 起動時に実行させるアイテム として作ったものなので、起動時に実行させるようにしておきます。

startup のフォルダの中に 1_ahkwiki という名前のフォルダを作っておきます。

次に、先程紹介した vk1D.txt のファイルを変更したものを挙げます。

変更点は vk1D の個所を %ahkwiki_key% に変えたというだけで、変更点はそれだけです。

vk1D.txt
F_ErrorLevel_TextRunRunRestore()
KeyWait, %ahkwiki_key%, T0.3
if( ErrorLevel_TextRunRun ){
    ; 長押し
    F_output("処理3")
    KeyWait, %ahkwiki_key%
    F_ErrorLevel_TextRunRunRestore()
    return
}
KeyWait, %ahkwiki_key%, D T0.2
if( ErrorLevel_TextRunRun ){
    ; 1度押し
    F_output("処理1")
    KeyWait, %ahkwiki_key%
    F_ErrorLevel_TextRunRunRestore()
    return
}
; 2度押し
F_output("処理2")
KeyWait, %ahkwiki_key%
F_ErrorLevel_TextRunRunRestore()
                                

以上のファイルを作って配置した例を以下に挙げます。

画像

黄色がフォルダ、水色がファイルを意味しています。

AutoHotkeyWiki という名前でカテゴリーフォルダを作っています。
その中の itemhotkeyAllGroundstartup のフォルダの中に先ほど挙げたファイルを配置しています。

この「別のキーでも使えるように直したやつ」を使う場合の説明ですが、 1_ahkwiki.txt のファイルの中の
global ahkwiki_key = vk1Dvk1D は、
もう一つの vk1D.txt のファイル名と合わす必要があります。

F1 キーを使うのであれば、
1_ahkwiki.txt のファイルの中は
global ahkwiki_key = F1 に変えて、
vk1D.txt の方のファイル名は F1.txt に変えて使う事になります。

一応出来るといえば出来るので、キーと処理内容を作ってみて試しに使ってみてください。