🎮

Nintendo Switch Proコントローラーをマクロコンにしてみた

2022/02/12に公開

概要

Switch本体とProコントローラーの間に有線でRaspberry-Pi4を接続し、Proコントローラーをマクロコンとして動かしました。

マクロコン化するには、Raspberry-Pi4の中でprocon_bypass_manを動かす必要があります。
https://github.com/splaplapla/procon_bypass_man

本記事では、 procon_bypass_man のセットアップ方法には触れず、作った経緯やできることについて書きます。

以下のgifは、バブル即割(スプラトゥーン2)のマクロを動かしている様子です。

作った経緯

連打が必要なゲームをやっていましたが、手が腱鞘炎になったので連射機能を搭載しているサードパーティー製のコントローラーを買いました。

サードパーティー製のコントローラーを使っているとわかったことがあります。数ヶ月間使っていると、コントローラー稼働部の耐久性が著しく低くことがわかりました。そしてスティックが最初から傾くようになってしまいました。また、コントローラーの連射設定を覚えることにめんどくささも感じていました。

一番のネックは、今使っているコントローラーが今後購入できなくなる可能性があったことです。ようやく手に馴染んできたコントローラを再購入ができない場合、別のコントローラーで学習し直す必要があり、非常にストレスであることは目に見えていました。

そんなときに https://www.youtube.com/watch?v=N1dPFDSxaQ4 の動画を見つけて、それらの不満を解消するためにツールを自作することにしました。

できること

本ツールは、Switch本体とProコントローラーの間に入り干渉することによって、以下のことができます。

  • レイヤー管理
  • 連射
  • マクロ
  • 特定の同じ操作の繰り返し
  • 左スティックの感度調整
  • ボタンリマップ

これらの設定はテキストで管理しており、冒頭で紹介したマクロは、以下のように記述します。

:toggle_r_for_0_2sec
:toggle_thumbr_for_0_14sec
:toggle_thumbr_and_toggle_zr_for_0_34sec
:toggle_r_for_1sec

連射するときは、 flip :zr, if_pressed: :zr のように書きます。

運用を楽にする

設定を変更する場合は、Raspberry-Pi4にログインして、設定ファイルを書き換える必要がありますが、できれば簡単に済ませたいです。また、設定内容を簡単に覗きたいです。

そんな時のために使う、WEBサービスも作りました。これを使えば、Raspberry-Pi4にログインせずにWEBから設定ファイルのバックアップや設定変更ができます。
https://pbm-cloud.herokuapp.com

今後の展望

本ツールは、チートツールと呼ばれる部類ですが、アクセシビリティ向上に使える可能性を秘めていると思っています。
現在はコントローラーからしかSwitchに入力ができませんが、要望があればRaspberry-Pi4に繋いだフットペダルをゲームコントローラーとして使い、左手だけでゲームがプレイができるようにすることも技術的には可能です。
他には、Youtubeライブ中のコメントから、ゲームに影響を与えることも技術的には可能です。

おわりに

これらのツールのソースコードはすべて公開しています。フィードバックをお待ちしています。
ドキュメントは現在執筆中で不明なところが多いと思いますが、discordのサーバも作っているので気軽に質問や要望をしてくれたらうれしいです。
https://discord.gg/GjaywxVZHY

セットアップ方法は他の方が書いてくれたわかりやすい記事があるので貼っておきます!
https://qiita.com/Bokuchin/items/0d1f81d79ff8058a729c

おわり

Discussion