マクロの概要 - x0oey6B8/KeyToKey-Web GitHub Wiki
目次
マクロとは
マクロとは処理(キーの入力、マウスの移動など)の自動化のことをいいます。 マクロにはブロックマクロ、 アクションマクロ、C#スクリプト(マクロ)、拡張スクリプトがあります。
ブロックマクロ
ブロックマクロは「ブロック」を組み合わせ、キーボードやマウス、その他様々な処理を自動化します。
ブロックとブロックベースのルールによって、より直感的にプログラミングを行うことができます。
ワークスペース内に配置されたブロックからjavascript
を生成し、マクロとして実行します。
アクションマクロ
:warning:アクションマクロは最新バージョンにおいて非推奨となりました。
KeyToKey 独自のマクロ機能です。アクションと呼ばれるものを組み合わせて処理を自動化させます。 プログラミング的な機能もあり、繰り返しや条件分岐、変数などといった機能をサポートしています。 ただ簡単な処理を作る分にはこれで十分ですが、機能面、拡張性などが理由で簡潔に処理を作ることができないため複雑な処理を作ることには向いていないと言えます。
基本的にアクションマクロに関しては今後、機能の拡張などの開発は行わない方針です。
C#スクリプト(マクロ)
このマクロは C#ベースであり、標準ライブラリの使用、アセンブリの参照、外部スクリプトのロードなど様々なことができます。 また、独自のメソッドやプロパティ、イベントなどを実装しています。
デメリット
C#スクリプト(マクロ)には少し使いづらいデメリットがあることについて解説します。 C#スクリプト(マクロ)をマクロとして割り当てるには「事前コンパイルを有効にする」という項目を設定する必要があるのですが、この効果は下記のとおりです。
値 | 効果 |
---|---|
True | プロファイル読み込み時にコンパイルを行い結果をキャッシュすることで実行までの時間が早くなるがメモリの消費が激しい。 |
False | メモリの消費はほぼないが実行前にコンパイルを行うので実行まですこし時間がかかる。 |
もう少し要約するのであれば
True
は実行までの速度が早く、メモリの消費が大きいFalse
は実行までの速度が遅く、メモリの消費が少ない
どっちを設定してもデメリットがありますが時間を気にしないのであればFalse
に設定して使うのが良いかもしれません。
次に紹介する拡張スクリプトではこういったデメリットを解消しているのでそちらを使ったほうが良いです。
拡張スクリプト
拡張スクリプトは C#スクリプト(マクロ)と同じく C#を使用します。アクションマクロのアクション・メソッドを作成することができるうえ、マクロとしても使うことが可能です。 また、C#スクリプト(マクロ)にあったデメリットの問題を解消しているため、高速実行が可能かつメモリの消費を抑えることができます。
どれを使うべきか
基本的にはどれを使ってもらっても構いませんが、C#スクリプト(マクロ)の場合は前述したとおりデメリットが有るため使用するのは注意してください。 開発者としておすすめなのは拡張スクリプトですが C#がわからないという人もいると思いますので、そういった場合はブロックマクロを使用するといいでしょう。