WiimoteをFedora 19システムに接続するには?

WiimoteをFedora 19システムに接続するには?

接続する方法ウィモットFedoraでリモコンの目的で使用しますか?

(実際にはAmazonで15ドルで販売するのと同じサードパーティのWiimoteレプリカです。)

答え1

Fedora 19は、インストールされているBluetoothスタックがデフォルトでWiimoteサポートに付属しているほど新しくなります。他のBluetoothデバイスと同様に、Wiimoteを直接接続できます。

基本ペアリング

すべてが正常に動作している場合、ピンは必要ありません。ペアリング処理が完了したら、Bluetoothアプレットの入力デバイスとしてWiimoteを選択できます。

ハードウェアによっては、最初は数回試す必要があります(バッテリーケース内のリセットボタンを使用)。これを行う1つの方法は、コンピュータがBluetoothハードウェアを「認識」してから、接続をクリックしてすぐに「リセット」を押すことです。

Bluetoothシンボルや状況に合ったメニューは、成功したペアリングを示します。

いくつかのボタンだけが機能します(上/下/左/右キー、右クリック、スペースバー - それはすべてです)。

したがって、一種のマッピングを設定する必要があります。

必須の依存関係

# yum install \
  git gcc strace strace autoconf automake libtool systemd-devel ncurses-devel
  xorg-x11-util-macros xorg-x11-proto-devel xorg-x11-server-devel

(straceは必ずしも必要ではありませんが、xwiimoteを実行するときに権限拒否の問題を確認するのに役立ちます)

xwiimote

xwiimote リポジトリには、bluetooth-daemon-plugin および関連するいくつかのツールと対話するデフォルトのユーザ空間ライブラリが含まれています。

残念ながら、このソフトウェアはまだFedora用にパッケージされていません。

したがって、私たちはこれをコンパイルする必要があります:

$ git clone https://github.com/dvdhrm/xwiimote.git
$ cd xwiimote
$ ./autogen.sh
$ ./configure --prefix=$HOME/local/xwiimote
$ make
$ make install

一部のハードウェアテスト

$ ./xwiishow list
Listing connected Wii Remote devices:
  Found device #1: /sys/devices/pci0000:00/0000:00:1a.1/usb4/4-2/4-2:1.0/bluetooth/hci0/hci0:11/0001:0002:0023.0032
End of device list

=>ペアリングが成功しました。さらなるテストのために権限を変更する必要があります。

# chown root:juser /sys/devices/pci0000:00/0000:00:1a.1/usb4/4-2/4-2:1.0/bluetooth/hci0/hci0:11/0001:0002:0023.0032/leds/*/brightness
# chmod g+w /sys/devices/pci0000:00/0000:00:1a.1/usb4/4-2/4-2:1.0/bluetooth/hci0/hci0:11/0001:0002:0023.0032/leds/*/brightness

$ xinput --list
[..]
    ↳ Nintendo Wii Remote Accelerometer         id=9    [slave  keyboard (3)]
    ↳ Nintendo Wii Remote IR                    id=10   [slave  keyboard (3)]
    ↳ Nintendo Wii Remote                       id=11   [slave  keyboard (3)]
    ↳ Nintendo Wii Remote Extension             id=12   [slave  keyboard (3)]
    ↳ Nintendo Wii Remote Motion+               id=13   [slave  keyboard (3)]
[..]

=>いくつかの追加権限の調整:

# chown root:juser /dev/input/event1[0123] /dev/input/event9
# chmod g+w /dev/input/event1[0123] /dev/input/event9

(xiimoteリポジトリには接続権限を設定するためのサンプルudevルールも含まれていますが、xwiishowなどの直接アクセスにのみ必要です。)

ボタン、センサー、校正などをテストするためにncursesインターフェースを実行します。

$ ./xwiishow 1

(ここで1は最初のデバイスです)

実際のXorg設定

xinput2モジュールはまだFedora / Fusionパッケージリポジトリでは使用できません。

$ cd ..
$ git clone https://github.com/dvdhrm/xf86-input-xwiimote.git
$ cd xf86-input-xwiimote
$ ./autogen.sh
$ PKG_CONFIG_PATH=$HOME/local/xwiimote/lib/pkgconfig  ./configure --prefix=$HOME/local/xwiimote LDFLAGS="-L$HOME/local/xwiimote/lib -Wl,-R$HOME/local/xwiimote/lib"
$ make
$ make install

ランタイムパスの設定を確認してください。

$ ldd /home/gms/local/xwiimote/lib/xorg/modules/input/xwiimote_drv.so

(「見つかりません」というメッセージは表示されません)

システム全体のXorg設定を変更します。

# cd /etc/X11/xorg.conf.d
# ln -s /home/juser/src/xf86-input-xwiimote/60-xorg-xwiimote.conf
# cd /usr/lib64/xorg/modules/input/
# ln -s /home/juser/local/xwiimote/lib/xorg/modules/input/xwiimote_drv.so

ログアウトしてXを再起動してください。

Xコマンドラインツールで確認済みxev:すべてのボタンが実際のキーコードを送信する必要があります。

たとえば、私のハードウェアの場合、デフォルトは次のようになります。 Enter、左/右/上/下、スペース、1、2、esc、ボリューム+/-

(これはかなり合理的なデフォルトです)

いくつかの雑多な

安価なWiimoteクローンには、xiishow - YMMVとは機能しない「nunchaku」拡張機能も付属しています。

関連情報