FC2ブログ

    2018年12月

    Logicool Gaming Softwareでスクリプトを書こう

    Logicool Gaming Software(以下LGS)さん実はLuaスクリプトを書けます。 

    その前に、LGSのマクロのお話を少し。

    LGSには一定の操作を簡単に自動化できるマクロ機能が実装されています。

    マクロを使うと、「コピー(Ctrl+C)」をワンクリックでできたり、するわけですね。

    ただ「コピー」するだけならショートカット押せばいいじゃないかと思われますので、パッと思いついた使いみちを書くと。
    例えば、「AとDを交互に連打したい」場合があったとすると、通常ならキーボードで「ADADADAD・・・」と打たなければならないわけですが、マクロを使うと「AD」を「1秒ごとに繰り返す」ということができるわけですね。
    (DbDで使っている人がいるかも知れない)
    この操作を、LGSのマクロ機能で書くと画像のようになります。

    s-CB_0006.jpg

    ちょっと説明
    ○キーストローク
    ・下矢印がキーを押し込む操作
    ・上矢印がキーを離す操作
    ・X秒の遅延はX秒何も操作しない時間

    ○繰り返しオプション
    ・ボタンを押している間、1秒ごとにキーストロークを繰り返す

    ●LGSマクロの長所・短所
    ○長所
    ・お手軽
    「記録を開始」ボタンを押したあとに、再現したいキー入力を押すだけでマクロが作れる

    ○短所
    ・可読性が悪い
    上矢印のキーがどこで押されていて、どこで離されているのか分かりづらい。
    ・編集性が悪い
    「AD」と入力していたけれど、「ACD」としたいと思ったときには、「AD」の操作の間を選択して「ここより前/後から記録」としてキー入力を足すわけですが、複雑なマクロをトライアル・アンド・エラーしようと思うと可読性の悪さと相まって、もはや新規にマクロを作り直すことになります。
    ・繰り返しに弱い
    「ABCDEF」「Q」「ABCDEF」「Z」と入力したい場合、素直に「ABCDEF」「Q」「ABCDEF」「Z」とマクロを組むしかない。
    何当たり前のことを言っているんだと思われるかもしれませんが、プログラミングをしたことのある人なら「ABCDEF」の入力は「関数にしてやればいい」とか「for」で回せばいいとか思うことでしょう。

    ●マクロとスクリプトの比較
    イマイチ長所と短所が伝わりづらいと思いますので、「ABCDEF」「Q」「ABCDEF」「Z」をマクロとスクリプトで組んだ場合の違いをお伝えします。

    ○マクロ
    左から右にキー入力のマクロが進んでいきます、記録した直後に見ても、もはや何をしているのかよくわからない状態になっています。
    (マクロ画像はまだ続きますが、ここまでにしておきます。)
    s-CB_0007.jpg s-CB_0008.jpg


    ○スクリプト
    キーの入力(押し込みと離す操作)を1行で書けるので、マクロと比べると非常にスッキリしているかと思います。
    s-CB_0011.jpg 

    PressAndReleaseKey()は「キーを押して離す」操作をしています。
    例えば、PressAndReleaseKey("a")ならAキーを押して、離すということですね。
    PressAndReleaseKey("a", "b")だと、Aキーを押して離したあとに、Bキーを押して離すといった具合になります。

    ○「ABCDEF」「Q」「ABCDEF」「Z」から「ABCDEF」「Q13」「ABC2DEF」「Z3」に変えたい
    マクロの場合は、「Qの後から記録」で「13」をいれて・・・とできないこともないですが、非常に分かりづらいです。

    一応編集したマクロをペタリ。
    s-CB_0013.jpg 

    「Qを離して」から「1を押す」までに遅延が入っていませんね・・・とか、「Q13」としたつもりが「ABCDEF13」になっていたということが容易に起こりうる可読性の悪さです。

    スクリプトをペタリ
    s-CB_0014.jpg 

    非常にわかりやすいですね。
    また、テキストなので、編集が非常に簡単です。
    マクロで、「ああでもないこうでもない」「間違えた・・・」「なんじゃこりゃー」となるところを、スクリプトなら数行でしかも読みやすく、編集しやすくかけるわけです。

    これはもうスクリプトを使うしかない!

    ということで、スクリプトを書きたい方は、先人が書いている解説を参考に学んでみましょー!
    (丸投げ)

    参考:

    自分用に作った関数たち
    昨日スクリプト機能に気がついて書いたのでまだまだ編集中


    スポンサーサイト