reWASD 非対応のコントローラーで追加ボタンをマップする方法
背景
reWASD を愛用していて気になるポイントの一つは対応デバイスの少なさではないかと思う。世の中には星の数ほどのコントローラーがあり、新しい製品も次々と生まれてくるものの、reWASD のアップデート頻度は特別高いとは言えず、対応範囲は各プラットフォームの純正コントローラーと一部のサード品にとどまっている。また、追加ボタンのマッピングに関しては、reWASD が独立したボタンとして認識できる形でコントローラー側が実装されていなければならず、今のところそのような実装になっているのは Flydigi と 8BitDo の一部の製品くらいのようだ1。
社外のエコシステムによるカスタマイズに協力的でない GameSir のようなメーカーは自社アプリでのカスタマイズを推しているわけだが、追加ボタンのキーボード入力への割り当て、複数ボタンの同時押し、マクロ、シフトレイヤーなどに対応している例ばかりではなく、全体として reWASD の機能水準に達しているものはおそらく存在しない。とはいえ、ソフトウェア以外の面で魅力的な製品はたくさんあるわけで、それらをなんとか reWASD と組み合わせて使えないかと試してみて、案外うまくいくことがわかったのでここで共有しようと思う。
方法:キーボードに割り当てて reWASD で拾う
「reWASD 非対応のコントローラーを無理やり使う」ということだが、本当に何でも使えるわけではない。最低限、追加ボタンにキーボード入力を割り当てる機能を備えている必要がある。
…と書いた時点で reWASD を使い慣れている人は「なるほどね」となって、あとは自分ですべて設定できるだろう。以下ではそうではない人向けの解説と、自分が設定する過程で reWASD の UX にあらためて感心したのでそれの記録を兼ねて、詳しいステップを書いておく。
コントローラーはここでは GameSir Super Nova を使う。GameSir の場合、専用アプリの GameSir Connect がキーボード割り当ての機能を持っているため、Cyclone 2 などの Connect に対応している製品なら同じことができるのではないかと思うが、実際のところは各自で確認してほしい。

ここに載っているものならたぶん使えるはず。
Connect はけっこう多機能で、今回の前提であるキーボード割り当てはもちろん、複数ボタンの同時押しやマクロにも対応しているが、Super Nova は Cyclone 2 と違ってシフトレイヤーには非対応だし、プロファイルも 1 つしか持てないため2、reWASD で管理するメリットは大きい。
メーカー製アプリでの設定
reWASD でマップしたい追加ボタンに、キーボードの何らかのキーを割り当てる。ここで割り当てたキーの入力は reWASD がマスクしてゲームには伝わらないため、ゲームが使っていなそうなキーを選ぶなどの配慮は必要ない。強いて言えば、reWASD の前に Windows システムが拾ってしまう可能性を排除するため、Windows キーなどは避けたほうがいいのかもしれない (実際にそのような現象を観測したことはないが)。追加ボタンに自分がわかりやすい順番を付けて、数字キーを 1 から割り当てていくとかでいいだろう。

reWASD での設定
まず、reWASD でコンフィグを作るためのデバイスの準備をする。
Super Nova はドングルを使用して XInput モードで PC と接続すると、コントローラーとキーボードという 2 つのデバイスを Windows に見せるようになっている3 4。何らかの常駐プロセスが入力を変換するのではなく、ドングル自体がキーボードとしても振る舞うことでキー入力を実現しているわけだ。実際に reWASD を開くと、この 2 つのデバイスが UI 上に存在するのがわかる。

デフォルトでは Xbox 360 という名前なので、区別しやすい名前を付けておくといい。

この画面で左を選んでキーボードとして初期化する。
このまま 2 つの別個のデバイスとして扱うこともできるが、常にセットで存在するものはグループ化しておくといい。それぞれのデバイス向けにコンフィグを作り、それぞれで Autodetect を設定しなければいけないところを、まとめて管理できるようになる。

コンフィグの編集画面に入るとデバイスを選択するタブがあるため、キーボード側を選択し、メーカー製アプリで設定したキーを元にマッピングを追加していく。マップ元がキーボードであってもマップ先にはコントローラー入力も選ぶことができ、マクロでもレイヤーシフトでも何でも設定することができる。ただし注意として、元のキーがゲームに伝わらないようにミュートしておくこと。マップ先に選ぶアクションによっては、ミュートを強く勧めるダイアログを出してくれるようだ。


これで、過去記事「ソウルライクを快適にするコントローラー設定」で紹介した複数レイヤーを駆使したコンフィグのように、reWASD ならではの汎用性を得ることができる。reWASD の複数種類のデバイスを扱える能力と洗練された GUI はとても素晴らしく、やろうとしていることはだいぶ変なのに結果的にスマートに解決することができた。個人的にはコントローラーのカスタマイズはやっぱり reWASD が最強だなという思いを強くした。
おまけ 1: Super Nova のスクショボタンのマップ
Super Nova のボタンレイアウトは Switch プロコン準拠で、ホームボタンと対になる位置にスクリーンショットボタンが存在する。これは PC 接続時の XInput モードでも一応機能するようになっているのだが、reWASD に Xbox 360 コントローラーと認識されていることから予想できるように、Series X コントローラーにあるシェアボタンとは別物のようだ。では何をしているのかと挙動を観察すると、どうも先述のキーボードデバイスから Win + PrtScr を入力するようになっているらしい…。
このショートカットの効果はデスクトップ全体のキャプチャーで、シングルモニターならともかく、マルチモニター環境でゲーム外を含む超横長のスクショが撮れても嬉しくないので、他のアクションに割り当てなおすといいだろう。具体的には先ほどのキーボードのマッピング編集で、Left Win をミュートし、PrtScr を好きなアクションにすればよい (元の PrtScr はミュートする)。自分は NVIDIA App の Instant Replay 保存のショートカットにするつもりだが、Steam でも Game Bar でも、各々が普段使っているツールのスクショや録画に割り当てるのが便利そうだ。PS5 と同じように 1 回押しと 2 回押しに別の機能を割り当てることもできるが、長押ししても Win + PrtScr が一瞬入力されるだけなので、短押しと区別できないのは惜しいところ。
おまけ 2: Super Nova 本体の感想
Super Nova のハードウェア自体の感想にも軽く触れたい。
見た目、メンブレンボタンの感触、十字の質の良さ (斜めが入れたいときに入り、入れたくないときに入らない)、充電ドック 兼 無線レシーバーの使いやすさがお気に入りポイント。フェイスプレートと ABXY ボタン部分が簡単に外せることで、ボタン周りに手垢がたまったときに掃除しやすそうなのもいい。同系統で下のグレードに位置する Nova (無印、Switch 向け) も持っていて、そちらの背面ボタンにはカチッと音のするポイントより深いところに実際のボタンの作動点があり、軽くホールドしていると入力が途切れるという問題があったのだが、こちらにはない。どちらかというと PlayStation 式のスティック対称配置が好きなので Xbox/Switch 式なのは少し残念だが、今のところそれくらいしか不満はない。
とはいえ、まだ使い始めたばかりなので長期使用でどうなるかはわからない。トリガーのバネがすぐに壊れるという評判があるのが少し心配ではある。メーカーは初期製造分だけにある問題だと説明しているが果たして…。