この記事を作った動機

 最近、Apple WirelessKeyboard A1016 を手に入れるという事があったのだが、それを動作確認するとき、ペアリングがトリッキーなことが分かったのでそれを記録するだけ。

環境

  • windows 11 Pro 23H2
  • bluetooth 4.0対応のレシーバ
    Intel(R) Dual Band Wireless-AC 7265

ペアリング方法

windows を待機状態にする

 設定画面から、新規 bluetooth デバイスを受け付けるモードにする。

待機状態手前
待機状態

apple keyboard の電源を入れる

 キーボードの電源を入れて、LEDが点滅するのを確認する。LEDが点滅している状態が、どうもペアリング待機状態っぽい。

windows 側に検出されるのを待つ

 普通の bluetooth キーボードとかより、プロトコルが古いのか検出に時間がかかるので気長に待機する。なかなか出てこないときは、キーボード側のキーを適当にどっかおしてるといいかもしれない。

検出された時

 検出されたら、通常のペアリングと同様にそれを選択する。Apple Keyboard とかとして出てくるはずである。そしたらそれを選択して気長に待つ。この時キーボードは何も押さない。PINの受付要求が出てくるまで待つ。

PINを聞かれたとき

 PINを聞かれたら、ペアリング対象のApple keyboard 側ではなく、別のキーボードで適当にPINを4桁決めて、例えば、“1234"などと入力する。そして接続ボタンを押したら、接続を試みるアニメーションが終わる前に、入力したPIN、今回であれば"1234"と、Apple keyboard 側で入力し、return キーを押す。

 具体的な指示が出てこないので、これに気づくのに時間がかかった。。。ネットで調べてもすぐにはなんか出てこないし。

終わり

 うまくいけば、ペアリングされ通常どうり使える状態になるはずである。何か打ち間違えたとかで、ミスったらもう一回やり直しである。

ペアリング後の様子

ペアリング後

 一応ペアリング後も癖がある動きをするので、その事についても書いておく。

再接続

 再接続するときは、PC側が起動して bluetooth を受け付けるようになってから、キーボードをオンする必要あるっぽい。

 なんかキーが押されたら、自動でペアリングされた端末につなぎなおしてくれるとか、そんな感じではないように思う。少なくとも私が実際に使った体験としては。

Linux 環境について追記(2026/1/25)

ペアリング方法

 最近 Linux 環境に接続しようとしたところ、少なくともGNOMEのGUI環境ではろくに接続できなかったため、調べたところ以下のようにコマンドで接続する方法があることが分かった。私の arch linux 環境では、bluezだけでなく、bluez-utilsも事前にインストールされている必要があった。基本的な流れは以下のようになる。

  1. bluetoothctl に入り、scan onする
  2. Apple キーボード側の電源をいれる
  3. xx:xx:xx:xx:xx:xx Apple Wireless Keyboardと出てきたら、connect xx:xx:xx:xx:xx:xxする。
  4. Apple キーボード側で、12345678などの8桁のPINを適当に入力して Enter キーを押す。
  5. [agent] Enter PIN code:と聞かれたら、同じように12345678など、Apple キーボード側で入力した PIN を入力する。
  6. Connection successful と出たら接続に成功している。
  7. trust xx:xx:xx:xx:xx:xx で再接続時に弾かれないようにする。
bluetoothctl 
...
[Paired Device Name]> scan on
SetDiscoveryFilter success
Discovery started
[CHG] Controller 8C:88:2B:48:47:9C Discovering: yes
...
[NEW] Device xx:xx:xx:xx:xx:xx Apple Wireless Keyboard
...
[Paired Device Name]> connect xx:xx:xx:xx:xx:xx
# Type 12345678 on apple keyboard
[agent] Enter PIN code: 12345678
...
Connection successful

[Paired Device Name]> trust xx:xx:xx:xx:xx:xx 
[Paired Device Name]> exit

再接続できない件について

 キーボードを Linux環境で再接続しようとすると、以下のようなエラーが出て、うまく再接続できない現象が確認された。GUI 上では、何かしらキーを押したりすると、接続しようとはするものの、切断されて、それを繰り返すという挙動になった。

 調べてみると、bluez-utilsbluetoothctlで、接続後にtrust xx:xx:xx:xx:xx:xxをしていないことが原因であるということが分かった。もし、trust xx:xx:xx:xx:xx:xxし忘れた場合には、bluetoothctlに入ってdevicesと入力し、対象のMAC?アドレスを探して、trustすればいいことが分かった。

 以下は問題が起こったときの挙動の例である。

systemctl status bluetooth

# Jan 26 07:28:10 hostName bluetoothd[740]: Authentication attempt without agent
# Jan 26 07:28:10 hostName bluetoothd[740]: profiles/input/server.c:auth_callback() Access denied: org.bluez.Error.Rejected

 以下はtrustするために、再設定時の様子を記録した例である。

bluetoothctl 
# ...
# [bluetoothctl]> scan on
# SetDiscoveryFilter success
# Discovery started
# ...
# [CHG] Device xx:xx:xx:xx:xx:xx Connected: yes
# Authorize service
# [agent] Authorize service xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (yes/no): yes
# [Apple Wireless Keyboard]> devices
# ...
# Device xx:xx:xx:xx:xx:xx Apple Wireless Keyboard
# ...
# [Apple Wireless Keyboard]> trust xx:xx:xx:xx:xx:xx
# [CHG] Device xx:xx:xx:xx:xx:xx Trusted: yes
# Changing xx:xx:xx:xx:xx:xx trust succeeded
# [Apple Wireless Keyboard]> scan off
# Discovery stopped
# ...
# [Apple Wireless Keyboard]> exit

参考にしたサイトとか