0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Logicool F710 × Raspberry Pi セットアップ&サンプルコード実行手順

Last updated at Posted at 2025-07-12

✅ 概要

本記事では、Raspberry Pi に Logicool のゲームパッド F710 を接続し、Python によって動作確認を行うまでの手順を説明します。XInput モードでの接続を前提に、ドライバのインストールから、Python による入力確認スクリプトの実行までを一貫して解説します。

なお、筆者は以前まで Bluetooth 接続の DUALSHOCK 4 を使用していましたが、展示会など無線が混雑する環境では接続が不安定になることがありました。これに対し、Logicool F710 は 2.4GHz 帯の専用 USB レシーバーを用いた無線接続により、干渉の影響を受けにくく、安定した操作が可能であるため、F710 への切り替えを行いました。


🧰 準備

使用したゲームパッド

  • Logicool F710 ゲームパッド
  • 裏面のスイッチを「X」モードに設定しておく(※重要)
    PXL_20250712_135742003.MP.jpg

ハードウェア接続

  1. F710r 本体に電池を入れ、電源を ON
  2. USB ワイヤレスレシーバーを Raspberry Pi に接続

PXL_20250712_133732924.jpg


🔧 ソフトウェア設定手順

1. xpad ドライバのインストール(XInput 対応)

sudo apt update
sudo apt install dkms git build-essential
git clone https://github.com/paroj/xpad.git
cd xpad
sudo cp -r . /usr/src/xpad-0.4
sudo dkms install -m xpad -v 0.4

ドライバ確認:

lsmod | grep xpad

2. 入力デバイスの確認

lsusb
ls /dev/input/js*

表示例:

  • 046d:c21f Logitech F710 → 認識成功
  • /dev/input/js0 → ゲームパッドが使える状態

3. Python 仮想環境のセットアップ(任意)

sudo apt install -y python3-venv python3-pip
python3 -m venv ~/gamepad-env
source ~/gamepad-env/bin/activate

4. ライブラリのインストール

pip install pygame

🚀 サンプルコードの実行

1. 入力確認スクリプトの作成

任意の場所に F710_test.py という名前で以下を保存:

import pygame
import time

pygame.init()
pygame.joystick.init()

if pygame.joystick.get_count() == 0:
    print("ゲームパッドが接続されていません。")
    exit()

joystick = pygame.joystick.Joystick(0)
joystick.init()
print(f"ゲームパッド名: {joystick.get_name()}")
print(f"ボタン数: {joystick.get_numbuttons()}")
print(f"軸数: {joystick.get_numaxes()}")
print(f"ハット数: {joystick.get_numhats()}")

try:
    while True:
        pygame.event.pump()

        buttons = [joystick.get_button(i) for i in range(joystick.get_numbuttons())]
        axes = [round(joystick.get_axis(i), 2) for i in range(joystick.get_numaxes())]
        hats = [joystick.get_hat(i) for i in range(joystick.get_numhats())]

        print("ボタン:", buttons)
        print("軸:", axes)
        print("ハット:", hats)
        print("-" * 40)
        time.sleep(0.2)

except KeyboardInterrupt:
    print("終了します。")
    pygame.quit()

2. スクリプトの実行

仮想環境が有効な状態で:

python3 gamepad_test.py

✅ 出力例

ゲームパッド名: Logitech Gamepad F710
ボタン: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
軸: [0.0, -1.0, 0.02, 0.0]
ハット: [(0, 1)]
----------------------------------------

🔁 起動時に自動でドライバを有効化する方法

/etc/modules に追加:

sudo nano /etc/modules

ファイル末尾に以下を追加:

xpad

保存して再起動:

sudo reboot

🔚 備考

  • F710r は「X」モードでないと xpad で認識されません
  • 通信が不安定な場合は USB ポートを変えるか、延長ケーブルで距離をとる
  • GUI での入力確認には jstest-gtk の使用もおすすめ:
sudo apt install jstest-gtk
jstest-gtk

📎 参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?