Scratch with ゲームコントローラー

キーボード操作できるScratchのゲームを、Xboxワイヤレスコントローラーで動かしてみました。JoyToKeyというWindowsのソフトウェアでキーマッピングしています。

Xboxワイヤレスコントローラー

購入

2020 年 11 月 10 日にリリースされたXbox series sのワイアレスコントローラーです。

今回はコントローラー単品を購入しました。ワイアレスアダプタ同梱、USB-Cケーブル同梱などもあるようです。 色はカーボンブラックにしましたが(¥6,304@Amazon)、単品購入ではロボットホワイトやショックブルーの選択肢もありますね。

初期設定

初期設定は、イラストのみの取扱説明書で一目瞭然のはず…ですが電池の向きの表示が分かりにくく、そこで一度躓いてしまいました。 

その後は、次の手順で問題なくペアリングできました。これだけすれば、対応するPCのゲームはコントローラーで操作可能です。日頃ゲームはしないのですが、PCのMinecraftでテスト。コントローラーを握ること自体かなり久しぶりで、おそらくスーパーファミコン(!)以来です。

  1. Xboxのロゴボタン(ガイドボタン)でコントローラーの電源オン
  2. コントローラーの上側面のペアリングボタンの3秒押し
  3. Windows10の設定あるいはタスクバーのBluetoothアイコンからペアリング

なお、USB-Cで有線接続もできます。

電源オフ

自動的に電源が切れますが、手動で電源オフする場合は、Xboxのロゴボタン(ガイドボタン)を6秒程度長押しすればよいようです。

留意点

Xbox series sのワイアレスコントローラーは正式には「Xbox Series X、Xbox Series S、Xbox OneWindows 10、および Android」のみで利用可です。

Appleのデバイスについてですが、「iOS のサポートは将来的に予定されています。」「MicrosoftApple は連携し、Xbox Series X コントローラにも今後のアップデートで対応できるよう取り組んでいます。」とのことであり、2021年1月現在、iOSmacOSいずれも正式対応していません (なお、旧型のXboxコントローラーの一部はOSのバージョン次第で対応している模様)。

ダメ元で、古いmacOS搭載機(将来的なアップデートでも対応が見込まれないmacOS High Sierra)で試してみましたが、非公式ドライバの360 Controllerをインストールしても、無線はもちろん有線もやはり反応しませんでした。

他の選択肢

以上のように、Xboxワイヤレスコントローラーは、現時点では対応デバイスも限定的であり、Scratchで試すためだけには価格も高めです。

価格重視なら有線のものが良さそうです。非公式ドライバでのmacOS接続も、有線のものの方が成功例が多そうでした。

価格を妥協してワイアレスにこだわるとしても、アダプタ利用やBluetoothで、安価なものもありそうです。

JoyToKey

JoyToKeyは「ジョイスティックの入力をキーボードやマウスの入力に変換し、さまざまなアプリケーションを操作できるようにするユーティリティソフト」(公式サイト)です。

Xboxコントローラーには、Xboxアクセサリーという設定ソフトはありますが(USB-Cで有線接続した上で各種設定可能)、これではキーボードへの割当てはできないようです。

JoyToKeyWindowsでは定番ソフトのようです(MacOS版はないため、別のソフトを利用することになります)。

ジョイスティックであれば広く対応しており、Xboxワイヤレスコントローラーももちろん動作します。キーの割り当てはこちらを参考にしました。ひとまず、十字キー系統とABボタンのみ。自動連射は全てありにしています。

f:id:vivitelaeti:20210106061404p:plain

インストール後、管理者権限での実行が必要です。PC立ち上げ時の自動起動は、タスクスケジューラを使う方法が紹介されています。 ノートPCでバッテリー駆動時も自動起動するのであれば、ここに紹介されている点に加えて、「コンピューターをAC電源で使用している場合にのみタスクを開始する」もチェックをオフにした方がよさそうです。 また、JoyToKeyの設定でも「最小化した状態で起動させる」と「最小化した際にタスクトレイのみに表示(タスクバーから隠す)」をチェックしておくと、自動起動時に画面表示されません。

シェアウェア(770円)であり、購入前も機能・期間無制限で使えるものの、気に入ったら購入をという呼び掛けでしたので、購入しています。購入方法によって手数料がかかります。

Scratch

テスト用に適当なゲームを作ってみました。無事、意図した通りに動きました。 f:id:vivitelaeti:20210106061853p:plain f:id:vivitelaeti:20210106061859p:plain f:id:vivitelaeti:20210106061920p:plain