テクノロジーガイド

Linuxでゲームパッドを設定・キャリブレーションする方法

1 min read Linux 更新されました 04 Oct 2025
Linuxでゲームパッドを設定してキャリブレーションする方法
Linuxでゲームパッドを設定してキャリブレーションする方法

重要: 以下の手順は主にDebian/Ubuntu系ディストリビューション向けです。別のディストリビューションではコマンドやパッケージ名が異なる場合があります。

なぜxpadを置き換えるか

Linuxカーネルのxpadモジュールは多くのXbox系コントローラーを自動認識しますが、次のような制約があります。短くまとめると:

  • 一部のコントローラーで挙動が不安定(例: LEDが点滅し続ける)。
  • 細かいボタンマッピングやフォースフィードバックのチューニングが難しい。
  • ユーザー空間での柔軟な割り当てやトラブルシュートがやりにくい。

このため、ユーザー空間ドライバー(xboxdrv系)で代替すると、より多くの設定オプションと安定化が得られる場合があります。

代替ドライバーを使う

まずは使いたいドライバーをインストールします。ターミナルを開き、Debian/Ubuntu系では次のように実行します。

sudo apt-get update
sudo apt-get install xboxdrv

注: パッケージリポジトリの状況により、ディストリによってはxboxdrvが非推奨・未パッケージの場合があります。その場合はソースからビルドするか、配布元の情報を確認してください。

インストール後、xboxdrvを起動してxpadを無効化するには、次のいずれかの方法を使います。

方法1(推奨: 起動時にカーネルドライバーをデタッチ):

sudo xboxdrv --detach-kernel-driver

方法2(手動でxpadを外してから起動):

sudo rmmod xpad
sudo xboxdrv

–detach-kernel-driver オプションは、同一デバイスに対してカーネルドライバーとユーザー空間ドライバーの二重起動を防ぎます。

xboxdrvをインストールする画面の例

起動に成功すると、ターミナル上にボタンや軸の入力値が出力されます。出力を抑えたい場合は –silent オプションを付けます。

sudo xboxdrv --silent

代替ドライバーとしては、xboxdrvをベースにして安定性や追加機能を目指した「ubuntu-xboxdrv」もあります。PPAを使って導入する例(自己責任でリポジトリを追加):

sudo add-apt-repository -y ppa:rael-gc/ubuntu-xboxdrv
sudo apt-get update
sudo apt-get install ubuntu-xboxdrv

注意: サードパーティPPAは保守状態を確認のうえ利用してください。

xboxdrvが動作している例のターミナル出力

永続的にxpadを無効化する

一時的に rmmod するだけでなく、システム起動時からxpadを読み込ませたくない場合は、次のようにblacklistを追加します。

echo "blacklist xpad" | sudo tee /etc/modprobe.d/blacklist-xpad.conf
sudo update-initramfs -u

この設定により再起動後もxpadは自動読み込みされません。

ゲームパッドのキャリブレーション

軸のオフセットやスティックの中立点調整は jstest-gtk で行います。インストールして起動します。

sudo apt-get install jstest-gtk
jstest-gtk

ツールを開き、使用するデバイスを選択して「Properties」ボタンを押すと、ボタンや軸の位置が視覚的に表示されます。右下の「Calibration」を押し、「Start Calibration」から画面の指示に従ってください。完了すると軸の中立点とレンジが修正されます。

jstest-gtkのプロパティ画面で軸を確認している例

キャリブレーション手順の要点:

  • キャリブレーション前にコントローラーが静止していることを確認。
  • 画面の指示に従って全軸を最大・最小まで動かす。
  • 完了後、中心に戻して中立値がほぼ0(中央)になるか確認。

キャリブレーションのステップを実行している画面

ボタンのマッピング変更

jstest-gtkの「Mapping」を使えば、デバイス上の物理ボタンを論理番号に再割当てできます。これはシステム全体で有効になるため、ゲーム側の設定を変更せずとも期待したボタン動作を得られます。

キーやマウスに割り当てる(qjoypad)

ゲームパッドのボタンをキーボードやマウス入力に変換したい場合は qjoypad が便利です。インストールして起動します。

sudo apt-get install qjoypad
qjoypad --notray

アプリ上で「Add」を押してレイアウトを作成し、各ボタンや軸にキーボード/マウスイベントを割り当てます。Quick Setを使うとボタンを1つ押して自動で割り当てできます。終了後にメニューから起動すればトレイ常駐してプロファイル切替が可能です。

qjoypadでプロファイルを作成している画面

qjoypadでボタンにキーを割り当てた例

qjoypadがトレイに常駐している例

トラブルシューティングとインシデント対応(簡易ランブック)

  1. 動作しない/認識しない

    • USBやワイヤレスレシーバーの接続を再確認。
    • dmesg を確認してデバイスIDやエラーを探す: sudo dmesg | tail -n 50
    • xpadが刺さっている場合は rmmod xpad してから xboxdrv を起動。
  2. LEDが点滅し続ける、またはボタンが暴走する

    • いったん xboxdrv を止め、カーネルで安定するか確認。
    • 別のUSBポートで試す。USBハブ経由だと電力不足や遅延の原因になる。
  3. jstest-gtkで軸が偏っている

    • キャリブレーションを再実行。
    • xboxdrv の起動オプションやマッピング設定で補正する。
  4. qjoypadの割り当てが機能しない

    • 実行ユーザーがXセッションを制御できるか確認。Waylandでは動作しない/制約がある場合があります。

重要: ゲームとOSの組み合わせや導入したツールによっては、オンラインゲームのアンチチートが外部入力エミュレーターを禁止する場合があります。使用前に各ゲームの規約を確認してください。

永続的な起動設定のサンプル(systemdサービス)

xboxdrvを起動時に常駐させたい場合は簡単なsystemdサービスを作れます(例)。/etc/systemd/system/xboxdrv.service を作成:

[Unit]
Description=xboxdrv user driver
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/xboxdrv --daemon --silent --detach-kernel-driver
Restart=on-failure

[Install]
WantedBy=multi-user.target

作成したら有効化します。

sudo systemctl daemon-reload
sudo systemctl enable --now xboxdrv.service

注意: デーモンオプションやフラグは環境に合わせて調整してください。

選択の判断フローチャート

flowchart TD
  A[コントローラーを接続] --> B{自動で正常に動くか}
  B -- はい --> C[そのまま使用]
  B -- いいえ --> D{xpadの挙動に問題(LED/暴走)か}
  D -- はい --> E[一時的にrmmod xpadしてxboxdrvで動作確認]
  D -- いいえ --> F[jstest-gtkでキャリブレーション]
  E --> G{安定するか}
  G -- はい --> H[必要ならsystemdで常駐]
  G -- いいえ --> I[別のドライバーやPPAを試す]
  F --> J[問題が続く場合はxboxdrvを試す]

代替アプローチと互換性の注意

  • Steamのプロトコルや Proton/Wine を使う場合、Steam Inputがコントローラーマッピングを上書きすることがあります。ゲーム毎にSteam側の設定も確認してください。
  • Wayland環境では、qjoypadのようなX11依存ツールが動作しないことがあります。Wayland対応の代替ツールやレガシーXサーバ(XWayland)を検討してください。
  • 一部の最新コントローラー(特に独自プロトコルや特殊機能を持つ製品)は、xboxdrvでも完全サポートされない場合があります。ベンダー提供のLinuxドライバーやコミュニティの情報を参照してください。

役割別チェックリスト

ゲーマー:

  • jstest-gtkで軸を確認し、必要ならキャリブレーションを実行する。
  • qjoypadでよく使うプロファイルを作る。
  • ゲームの入力設定でSteam Inputやゲーム内設定を調整。

システム管理者:

  • /etc/modprobe.d にblacklistの有無を管理する。
  • systemdサービスで自動起動とログ監視を構成する。
  • dmesgやjournalctlで接続エラーを追跡する。

開発者/チューナー:

  • xboxdrvの起動オプションで軸/ボタンを微調整する。
  • udevルールで特定デバイスの権限やシンボリックリンクを追加する。

受け入れ基準(テストケース)

  • jstest-gtkで全軸がセンター0に調整されていること。
  • ボタンを押した際にqjoypadで割り当てたキーが正しく送信されること。
  • 再起動後に期待どおりのドライバー(xboxdrvまたはxpad)がロードされること。

ミニ用語集(1行)

  • xpad: Linuxカーネルに組み込まれたXbox互換コントローラー用のドライバー。
  • xboxdrv: ユーザー空間で動作する代替ドライバー。より多くのオプションが可能。
  • jstest-gtk: ゲームパッドの入力値を可視化・キャリブレーションするGUIツール。
  • qjoypad: ゲームパッドの入力をキーボード/マウスにマップするツール。

まとめ

Linuxでゲームパッドを安定して使うには、まず現状の動作を確認し、問題があればxboxdrvなどのユーザー空間ドライバーに切り替えます。jstest-gtkでキャリブレーションを行い、qjoypadで必要に応じてキーボード・マウスに割り当てます。永続化や自動起動はsystemdやmodprobeの設定で管理できます。

重要: オンラインゲームでは外部入力エミュレーターが禁止されることがあるため、利用規約を確認してください。

短いアナウンス文(参考):

Linux上でゲームパッドをより正確に使いたい方向けに、xpadの無効化からxboxdrv導入、jstest-gtkによるキャリブレーション、qjoypadによるキー割り当てまで、段階的に解説しました。トラブルシュートと永続化手順も含みます。設定がうまくいかない場合のチェックリストを活用してください。

共有する: X/Twitter Facebook LinkedIn Telegram
著者
編集

類似の素材

Windowsでグループポリシーを使ってネットワークドライブを割り当てる
IT管理

Windowsでグループポリシーを使ってネットワークドライブを割り当てる

FT232R USB UARTドライバーのインストール手順と対処法
ドライバー

FT232R USB UARTドライバーのインストール手順と対処法

Slopsquattingとは — AI幻覚で広がる危険
サイバーセキュリティ

Slopsquattingとは — AI幻覚で広がる危険

Telegramで動画をダウンロードせずに再生する方法
ハウツー

Telegramで動画をダウンロードせずに再生する方法

Windows 11:「デバイスのセットアップを完了しましょう」画面を無効化する
「Windows 11」

Windows 11:「デバイスのセットアップを完了しましょう」画面を無効化する

Amazonの注文をアーカイブする方法と注意点
ガイド

Amazonの注文をアーカイブする方法と注意点