Scratch with ゲームコントローラー
キーボード操作できるScratchのゲームを、Xboxワイヤレスコントローラーで動かしてみました。JoyToKeyというWindowsのソフトウェアでキーマッピングしています。
Xboxワイヤレスコントローラー
購入
2020 年 11 月 10 日にリリースされたXbox series sのワイアレスコントローラーです。
今回はコントローラー単品を購入しました。ワイアレスアダプタ同梱、USB-Cケーブル同梱などもあるようです。 色はカーボンブラックにしましたが(¥6,304@Amazon)、単品購入ではロボットホワイトやショックブルーの選択肢もありますね。
初期設定
初期設定は、イラストのみの取扱説明書で一目瞭然のはず…ですが電池の向きの表示が分かりにくく、そこで一度躓いてしまいました。
その後は、次の手順で問題なくペアリングできました。これだけすれば、対応するPCのゲームはコントローラーで操作可能です。日頃ゲームはしないのですが、PCのMinecraftでテスト。コントローラーを握ること自体かなり久しぶりで、おそらくスーパーファミコン(!)以来です。
- Xboxのロゴボタン(ガイドボタン)でコントローラーの電源オン
- コントローラーの上側面のペアリングボタンの3秒押し
- Windows10の設定あるいはタスクバーのBluetoothアイコンからペアリング
なお、USB-Cで有線接続もできます。
電源オフ
自動的に電源が切れますが、手動で電源オフする場合は、Xboxのロゴボタン(ガイドボタン)を6秒程度長押しすればよいようです。
留意点
Xbox series sのワイアレスコントローラーは正式には「Xbox Series X、Xbox Series S、Xbox One、Windows 10、および Android」のみで利用可です。
Appleのデバイスについてですが、「iOS のサポートは将来的に予定されています。」「Microsoft と Apple は連携し、Xbox Series X コントローラにも今後のアップデートで対応できるよう取り組んでいます。」とのことであり、2021年1月現在、iOS・macOSいずれも正式対応していません (なお、旧型のXboxコントローラーの一部はOSのバージョン次第で対応している模様)。
ダメ元で、古いmacOS搭載機(将来的なアップデートでも対応が見込まれないmacOS High Sierra)で試してみましたが、非公式ドライバの360 Controllerをインストールしても、無線はもちろん有線もやはり反応しませんでした。
他の選択肢
以上のように、Xboxワイヤレスコントローラーは、現時点では対応デバイスも限定的であり、Scratchで試すためだけには価格も高めです。
価格重視なら有線のものが良さそうです。非公式ドライバでのmacOS接続も、有線のものの方が成功例が多そうでした。
価格を妥協してワイアレスにこだわるとしても、アダプタ利用やBluetoothで、安価なものもありそうです。
JoyToKey
JoyToKeyは「ジョイスティックの入力をキーボードやマウスの入力に変換し、さまざまなアプリケーションを操作できるようにするユーティリティソフト」(公式サイト)です。
Xboxコントローラーには、Xboxアクセサリーという設定ソフトはありますが(USB-Cで有線接続した上で各種設定可能)、これではキーボードへの割当てはできないようです。
JoyToKeyはWindowsでは定番ソフトのようです(MacOS版はないため、別のソフトを利用することになります)。
ジョイスティックであれば広く対応しており、Xboxワイヤレスコントローラーももちろん動作します。キーの割り当てはこちらを参考にしました。ひとまず、十字キー系統とABボタンのみ。自動連射は全てありにしています。
インストール後、管理者権限での実行が必要です。PC立ち上げ時の自動起動は、タスクスケジューラを使う方法が紹介されています。 ノートPCでバッテリー駆動時も自動起動するのであれば、ここに紹介されている点に加えて、「コンピューターをAC電源で使用している場合にのみタスクを開始する」もチェックをオフにした方がよさそうです。 また、JoyToKeyの設定でも「最小化した状態で起動させる」と「最小化した際にタスクトレイのみに表示(タスクバーから隠す)」をチェックしておくと、自動起動時に画面表示されません。
シェアウェア(770円)であり、購入前も機能・期間無制限で使えるものの、気に入ったら購入をという呼び掛けでしたので、購入しています。購入方法によって手数料がかかります。
Scratch
テスト用に適当なゲームを作ってみました。無事、意図した通りに動きました。