web-dev-qa-db-ja.com

端末でコード入力を必要とするBluetoothキーボードをペアリングするにはどうすればよいですか?

Bluetoothを使用しています ThinkPad 2 Tablet keyboard Ubuntu Touch Aquaris E4.5とペアリングします。 GUIの制限により、ターミナルでこれを実行したいと思います。このプロセスがUbuntu Desktopのプロセスと同様になることを期待しています。

Ubuntu Desktop 15.10では、キーボードをペアリングすると、GUIダイアログに次のメッセージが表示されます。

Please enter the following PIN on "ThinkPad keyboard" and press "Enter" on the keyboard:
<6-digit number>

Bluetoothキーボードで6桁のPINを入力してEnterを押すと、キーボードのペアリングが完了し、正常に機能します。 Ubuntu Touchでキーボードをペアリングしようとすると、Bluetoothキーボードに入力するコードを表示するGUIダイアログが表示されません。だから、私は端末でキーボードをペアリングしてみてください。

私は次を試しました:

phablet@ubuntu-phablet:~$ hcitool scan
Scanning ...
        AB:CD:EF:GH:IJ:KL       ThinkPad Keyboard
phablet@ubuntu-phablet:~$ bluez-simple-agent AB:CD:EF:GH:IJ:KL
RequestPinCode (/org/bluez/863/hci0/dev_AB_CD_EF_GH_IJ_KL)
Enter PIN Code: 0000
Release
Creating device failed: org.bluez.Error.ConnectionAttemptFailed: Page Timeout
phablet@ubuntu-phablet:~$

次に何ができますか?

20
d3pd

コマンドラインからbluetoothctlを実行してみて、デバイスがオンになっているか、検出する準備ができていることを確認してください。

$ bluetoothctl
[NEW] Controller AA:BB:CC:DD:EE:FF device-name [default]

その他のBluetoothデバイスはすべてここにリストされます。そうすると、[bluetooth]プロンプトが表示されます。

まず、Bluetoothの電源をオンにします(デバイスがオフの場合):

[bluetooth]# power on
Changing power on succeeded

次に、エージェントが登録されていることを確認します。

[bluetooth]# agent on
Agent registered

[bluetooth]# default-agent 
Default agent request successful

これで、コンソールからデバイスをスキャンできます。

[bluetooth]# scan on
Discovery started
[CHG] Controller AA:BB:CC:DD:EE:FF Discovering: yes
[NEW] Device FF:EE:DD:CC:BB:AA Someone's Keyboard

ここから手動でペアリングすることもできます。

[bluetooth]# pair FF:EE:DD:CC:BB:AA 
Attempting to pair with FF:EE:DD:CC:BB:AA 
[CHG] Device C8:E0:EB:04:52:55 Connected: yes

この時点で、ペアリングのPINコードを入力するように求められます。

Request PIN code
[agent] Enter PIN code: 12345

番号(例:12345)を入力すると、デバイスから同じ番号を入力するように求められます。

[Someone's Keyboard]# 12345

その後、キーボードがペアリングされたことを通知する必要があります。

[CHG] Device FF:EE:DD:CC:BB:AA Paired: yes

うまくいけば、これがあなたのために働いて、bluetoothctlへの参照を見つける前にしばらくの間これを解決しようとしていました。


編集:Ubuntu Touch OTA9リリースにはBluez 5が含まれており、ThinkPadキーボードとのペアリングが可能です。これは、ほとんどパームトップとして機能する小さなBQ Aquaris E4.5です。

26
1nfiniti

Ubuntu 16.04 AMD64で1nfinitiの手順に従い、Logitech MX5000キーボードとマウスのコンボでうまく機能しました。しかし、コンピューターを再起動したとき、キーボードは再び入力しませんでした。接続されているように表示されましたが、Bluetooth設定でペアリングされていません。ただし、マウスは正常に機能しました。

Bluetoothctlリファレンス(- https://wiki.archlinux.org/index.php/bluetooth#Bluetoothctl )を見ると、一部のデバイスを許可するために 'pair'コマンドの後に 'trust'コマンドが使用されていることがわかりました。正常に再接続します。

そこでbluetoothctlを起動し、キーボードを切断してペアリングを解除し、再度接続してペアリングし、発行しました

[bluetooth]# trust [keyboard MAC Address]

次に、キーボードが信頼されていることが通知されました

Trusted

これでうまくいきました。コンピューターを起動/再起動するたびにキーボードが問題なく接続されます。

8
metacibi