Linux で Logicool Unifying Receiver のペアリングをする方法
Android 端末にキーボードとマウスを繋いで検証する必要が出てきたので、新たに Logicool のキーボードを買いました。
マウスは以前買ったものがあり、Unifying Receiver を使えばUSBポートの節約にもなるというわけです。
Unifying Receiver は購入時にペアリング済みなので、USB端子に挿せばそのまま USB の有線キーボード・マウスのように使用可能です。ただ、今回のように別々に買った場合は、どちらかを再ペアリングする必要があります。
再ペアリングには Logicool の提供しているユーティリティを使用しますが、Windows と Mac 用しか提供されていません。 しかし、我が家のマシンはほとんど Linux。 つまり、買っても再ペアリングできないという問題が1。
Linux 用のユーティリティもあった
きっと Linux 用もあるだろうと探してみると、やはり、いくつか Linux でも使えるユーティリティを公開してくれている人がいるようです。
使い方等は、以下のサイトにまとまっています。
Logitech Unifying Receiver - ArchWiki
現時点での選択肢は以下の3つ
Solaar
GUI もある高機能なユーティリティ参考
ltunify
以下の機能がある CUI ユーティリティ- ペアリング
- ペアリング済みデバイスのリスト表示
- アンペアリング
pairing_tool
ペアリングのみの超シンプルユーティリティ
今回の用途だと Itunify か pairing_tool ですが、私は pairing_tool を使ってみました。 理由は60行くらいのコードで何をしているか一目瞭然だったからです2。
コンパイル3
LKML: Benjamin Tissoires: Re: [PATCH v5 1/1] HID: Add full support for Logitech Unifying receivers からコードを取得し、pairing_tool.c
として保存。
以下でコンパイル。
$ gcc -o pairing_tool pairing_tool.c |
paring_tool の使い方
まずはレシーバーのデバイスを確認します。
$ ls -l /sys/class/hidraw/hidraw*/device/driver | awk -F/ '/receiver/{print $5}' hidraw1 |
上記の例だと /dev/hidraw1
がレシーバーのデバイスになります。
2つ以上表示された場合はレシーバーが複数刺さっている可能性が高いので確認しましょう。
ペアリングしたいキーボードやマウスの電源を切ってから、以下を実行します。 レシーバーがペアリングモードになるので、キーボード 等の電源を入れると自動的にペアリングされます。
$ sudo ./pairing_tool /dev/hidraw1 The receiver is ready to pair a new device. Switch your device on to pair it (you have thirty seconds to do so). |
コードを読んでみる
このプログラム、よく見てみると以下の magic_sequence
をデバイスに流し込むだけというシンプル設計4。こんな感じで他のコマンドも入力すればコントロール出来るようですね。
35 | char magic_sequence[] = {0x10, 0xFF, 0x80, 0xB2, 0x01, 0x00, 0x00}; |
しかし、 これは公開されている情報なのだろうか?それとも、リバースエンジニアリングで見つけたのだろうか?
セットを買っておけばよかったんじゃない?
ここまで書いておいて何ですが、キーボード単体より安いキーボードとマウスセットを見つけてしまいました。
これを買っておけば再ペアリングなんか必要なかったなぁ。 でも、これ以上マウス増えてもな…
0 件のコメント:
コメントを投稿