Xbox Controllerのふりをするスイッチインターフェース
ゲーム関連はXbox Adaptive Controllerのおかげで何不自由していませんが、あの大きさは出先に持っていくには難ありです。検査入院とかで病院でNintendo Switchをやろうと考えた時に、あれを持っていくのは少し気が引けます。そこで、ArudinoにXbox Controllerのふりをしてもらうことにしました。
回路自体は以前作ったこちらと同じで、今回はXInputライブラリを使ってArduinoにXbox 360 Controllerになってもらいます。
jagaimolog.hatenablog.jp
今回のスケッチはこんな感じ。カプセル化とかDRY (Don't Repeat Yourself) とか全無視のベタベタコードです。
XInputライブラリを使うときは、あわせてXInputに対応するボードもArduino IDEにインストールする必要があります。私が使っているArduino Microであれば、ArduinoXInput_AVRをインストールします。実はこれが曲者で、一度スケッチをアップロードすると、それ以降そのArduinoはXbox 360 Controllerのふりをするので、Arduino IDEから見えなくなってしまいます。対処方法はリンク先にも書いてあるのですが、次回以降スケッチをアップロードするときは、アップロードが始まったらすぐにArduinoのリセットボタンを2度押しします。
MAGIC-NS経由でNintendo Switchに接続して動作確認したところ、問題なく機能しているようでした。
youtu.be