【NXBT】Raspberry Pi で Switchを自動操作する話(後編)【マクロの文法】
設定方法・使い方については、前編 をご覧ください。
以下、後編ではマクロの文法をご紹介します。
マクロの文法
マクロでは、1行に1つのコマンドを書きます。
コマンドには、以下の3種類があります。
1. ボタン・スティックのコマンド
書き方
[操作対象] [秒数]S
書き方の例
以下の例では、Aボタンを押し続け、0.5秒後に離します。
A 0.5S
ボタンの種類
ボタンの種類は、以下の通りです。
Macro Value | Control Name |
---|---|
A | A ボタン |
B | B ボタン |
X | X ボタン |
Y | Y ボタン |
L | L ボタン |
ZL | ZL ボタン |
R | R ボタン |
ZR | ZR ボタン |
MINUS | - ボタン |
PLUS | + ボタン |
DPAD_DOWN | 十字キー 下 |
DPAD_UP | 十字キー 上 |
DPAD_RIGHT | 十字キー 右 |
DPAD_LEFT | 十字キー 左 |
R_STICK_PRESS | 右スティック押し込み |
L_STICK_PRESS | 左スティック押し込み |
HOME | Home ボタン |
CAPTURE | キャプチャボタン |
JCL_SR | Right Joy-Con SR(詳細不明) |
JCL_SL | Left Joy-Con SL(詳細不明) |
JCR_SR | Right Joy-Con SR(詳細不明) |
JCR_SL | Right Joy-Con SL(詳細不明) |
これ以外にも、ジョイスティックを倒したりする操作もできるようです。
GitHub の操作方法ページ を参照してください。
2. 待機コマンド
書き方
[秒数]S
書き方の例
以下の例では、3秒待機します。
3S
3. 繰り返しコマンド
書き方
繰り返し処理を始めたい箇所で LOOP
と書き、次の行から繰り返したい内容を、[半角スペース4つ
, 半角スペース2つ
, tab文字
] のいずれかでインデント(字下げ)されたブロックに書きます。
LOOP [回数] [繰り返したい処理1] [繰り返したい処理2] [繰り返したくない処理]
書き方の例1
以下の例では、「Aボタンを3回1秒ごとに押して、Bボタンを1回押す」処理(4秒1セット)を1時間(900セット)繰り返します。
LOOP 900 A 0.1S 0.9S A 0.1S 0.9S A 0.1S 0.9S B 0.1S 0.9S
書き方の例2
LOOP
はネストする(入れ子にする)ことができます。
以下の例では、上記と同じ「Aボタンを3回1秒ごとに押して、Bボタンを1回押す」を1時間繰り返すような処理を、2重の LOOP
を使って表現しています。*1
LOOP 900 LOOP 3 A 0.1S 0.9S B 0.1S 0.9S
おわりに
誤りなどありましたら、ぜひコメントでご指摘お願いします!
読者の皆様が単純作業から解放され、時間を有効に使う手助けになったなら幸いです。
*1:今回は、「半角スペース2つ」でインデントしてみました。