higanでファミコン、スーパーファミコンなどのレトロゲーム
ファミコン、スーパーファミコン、ゲームボーイなどのエミュレーターhiganをインストールした。
他のエミュレーターと較べても再現性は高いそうだ。
実際ゲームをする際はキーボードでは操作しづらいので、BUFFALOのUSBゲームパッドBSGP801を購入した。
懐かしいスーファミのコントローラーそっくりで値段も安価。
Windows用となっていたがLinuxでも使用出来た。
Linuxで使用可能にするにはxf86-input-joystickをインストールするのが簡単。(使用可能かどうかテストするにはjstest-gtkも)
USBポートに挿すとゲームパッド自体は認識しているようだったが、higanで反応しない。
入力方法のMappingを設定しないといけないようだ。
Setting→Configuration→InputタブでFamicom等のハードを選択。
「Up」等の項目をダブルクリックすると入力待機状態に。
ゲームパッドの上矢印を押すとそのキーが設定される。
Aボタン、Startボタンなども同様に設定。
ゲームが出来るようになったが、いつの間にかゲームパッドの操作でマウスポインターも動いてしまうようになった。
xinput
コマンドで見ると、自分の環境ではVirtual core pointer
の項目にUSB,2-axis 8-button gamepad
id=11が登録されていたので、これを無効化した。
$ xinput --disable 11
起動の度に無効化するのは面倒だったので、自動開始アプリケーションにコマンドを登録した。
(注)
接続するUSBポートを変えたり、新しく別の機器を繋いだりするとidが変わり、キーボードが効かなくなったりする。
idではなくdevice nameを使うことで解決出来た。
$ xinput --disable "USB,2-axis 8-button gamepad "
(何故か〜gamepadの後に半角スペース2個が必要だった)
(追記)
higanは優れたエミュレーターだが、低スペックのパソコンでは動作がカクカクになり、まともにゲームが出来ない。
対応はスーファミだけになるが、ZSNESなら古いパソコンでも快適にプレイ出来る。
(参照記事)
ゲームパッドの操作でマウスポインタが動いてしまう@Ubuntu - ぶらっ記ぃ
必要に応じて入力ソースを有効化・無効化 - Xorg - ArchWiki
ーー
(関連記事)
その後Arch Linuxにインストールしたhiganでゲーム出来なくなったが、アップデートにともない設定ファイルの保存場所が変更された為らしい。
v097にアップデート後higanでゲームが出来ない