「Bluetooth マウス」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎インストール: 英語版と同期して情報を更新)
 
(同じ利用者による、間の5版が非表示)
13行目: 13行目:
 
== 設定 ==
 
== 設定 ==
   
=== Apple MagicMouseのスクロール速度 ===
+
=== Apple MagicMouse のスクロール速度 ===
   
 
スクロール速度が遅すぎる場合は、次を試してみて下さい。
 
スクロール速度が遅すぎる場合は、次を試してみて下さい。
51行目: 51行目:
 
Bluetooth LE デバイスを使用している場合は、[https://gist.github.com/5shekel/8b4998a69903438a6aac2f01a44463d3 こちら] python スクリプトを使用した例は [https://unix.stackexchange.com/a/413831 こちら] これは、arch に合わせて少し編集されています
 
Bluetooth LE デバイスを使用している場合は、[https://gist.github.com/5shekel/8b4998a69903438a6aac2f01a44463d3 こちら] python スクリプトを使用した例は [https://unix.stackexchange.com/a/413831 こちら] これは、arch に合わせて少し編集されています
   
  +
== トラブルシューティング ==
== Bluez5 の手順 ==
 
   
  +
=== マウスの遅延 ===
{{Tip|続行する前に bluetooth デーモンが起動していることを確認してください。}}
 
   
  +
マウスの遅延が発生した場合は、ポーリングレートを上げることができます。詳細については、[[マウスのポーリングレート]] を参照してください。
Bluez5 には bluetooth デバイスの設定を行うためのシンプルなインターフェイスである ''bluetoothctl'' ユーティリティが備わっています。
 
   
  +
BlueZ でマウスの最小/最大遅延を設定してみることができます [https://bbs.archlinux.org/viewtopic.php?pid=1860951#p1860951]:
以下は ''bluetoothctl'' を使って bluetooth マウスに接続する例です:
 
   
  +
{{ic|/var/lib/bluetooth/''mac-of-your-adapter''/''mac-of-your-mouse''/info}} の次のセクションを追加または変更します(それに応じてパスを調整します)::
# bluetoothctl
 
[bluetooth]# list
 
Controller <controller mac> BlueZ 5.5 [default]
 
[bluetooth]# select <controller mac>
 
[bluetooth]# power on
 
[bluetooth]# scan on
 
[bluetooth]# agent on
 
[bluetooth]# devices
 
Device <mouse mac> Name: Bluetooth Mouse
 
[bluetooth]# pair <mouse mac>
 
[bluetooth]# trust <mouse mac>
 
[bluetooth]# connect <mouse mac>
 
   
  +
[ConnectionParameters]
起動時にデバイスをスタートさせたいときは [[udev]] ルールを作成する必要があります。詳しくは [[Bluetooth#Bluetoothctl]] を見て下さい。
 
  +
MinInterval=6
  +
MaxInterval=9
  +
Latency=44
  +
Timeout=216
   
  +
また、{{ic|hcitool}} ({{aur|bluez-hcitool}}) を使用して、デバイスの遅延パラメーターを変更することもできます。
{{Tip|以前 USB の Bluetooth ドングルを使用していて別の USB ポートに移した場合、''bluetoothctl'' から ''remove <mouse mac>'' コマンドを使ってマウスの MAC アドレスを削除してからもう一度設定をやり直す必要があります。}}
 
   
  +
# HANDLE="$(hcitool con | grep '<Bluetooth マウス MAC アドレス>' | awk '{print $5}')" # get the device handle
== トラブルシューティング ==
 
  +
# hcitool lecup --handle $HANDLE --latency 0 --min 6 --max 8
   
  +
この方法は、現在の接続に対してのみ有効であることに注意してください。マウスが切断された場合は、再度実行する必要があります。
=== マウスに遅延が発生する ===
 
   
  +
または、debugfs を使用してデフォルトのレイテンシ設定を変更することもできます。 {{ic|/sys/kernel/debug/bluetooth/hci0/conn_{latency,{min,max}_interval} }} を参照してください。
マウスにラグが発生する場合はポーリングレートを上げてみてください。詳しくは[[マウスのポーリングレート]]を参照。
 
   
  +
この例ではラグの問題を解決しますが、マウスのペアリングを解除してペアリングする必要があります。
=== USB ドングルの問題 ===
 
   
  +
# echo 0 > /sys/kernel/debug/bluetooth/hci0/conn_latency
USB ドングルで問題が発生する場合、以下のコマンドを試してみてください:
 
  +
# echo 6 > /sys/kernel/debug/bluetooth/hci0/conn_min_interval
  +
# echo 7 > /sys/kernel/debug/bluetooth/hci0/conn_max_interval
  +
  +
=== USB ドングルの問題===
  +
  +
USB ドングルに問題がある場合は、次のことも試してみてください。
   
 
# modprobe -v rfcomm
 
# modprobe -v rfcomm
   
次のコマンドを使って hci0 デバイスを取得できはずで:
+
この時点で、次の hci0 デバイスを入手す必要がありま
   
 
# hcitool dev
 
# hcitool dev
   
ときどきデバイスが正しく有効にならないことがあります。次のコマンドでインターフェスを起動してみてください:
+
デバイスがすぐにアクティブにならない場合があります。次のコマンドでインターフェスを開始してみてください
   
 
# hciconfig hci0 up
 
# hciconfig hci0 up
   
後、上に書かれているようにデバイスを検索してください
+
上記のようにデバイスを検索します
  +
  +
=== マウスが切断される ===
  +
  +
Bluetooth を再起動した後、マウスが機能しなくなっても再び機能する場合は、選択したデバイスに対して [https://wiki.archlinux.jp/index.php/%E9%9B%BB%E6%BA%90%E7%AE%A1%E7%90%86#USB_.E3.81.AE.E8.87.AA.E5.8B.95.E3.82.B5.E3.82.B9.E3.83.9A.E3.83.B3.E3.83.89 USB の自動サスペンドを無効にする] 必要がある場合があります。
  +
  +
この問題は、デバイスのタイムアウトと HID 設定にもある可能性があります。 [[#ThinkpadBluetooth レーザーマウスの問題]] を参照してください。
  +
  +
Logitech デバイスを使用している場合、この問題は [[#Logitech BLE マウス (M557、M590、anywhere mouse 2 など) の問題]] の手順に従って解決される場合があります。
  +
  +
=== ThinkpadBluetooth レーザーマウスの問題===
  +
  +
Thinkpad Bluetooth レーザーマウスが接続された後、数秒ごとに (マウスを動かすかボタンを押すと) 再び切断される場合は、コード {{ic|0000}} とペアリングしてみてください。
  +
  +
上記がうまく機能しない場合は、デバイスのタイムアウト設定に問題がある可能性があります。ファイル {{ic|/etc/bluetooth/input.conf}} を編集/作成し、次の変更を適用します。
  +
  +
# Configuration file for the input service
  +
# This section contains options which are not specific to any
  +
# particular interface
  +
[General]
  +
  +
# Set idle timeout (in minutes) before the connection will
  +
# be disconnect (defaults to 0 for no timeout)
  +
IdleTimeout=0
  +
  +
#Enable HID protocol handling in userspace input profile
  +
#Defaults to false(hidp handled in hidp kernel module)
  +
UserspaceHID=true
  +
  +
これらの変更により、接続を維持するためのデバイスのタイムアウトが防止されます。 2番目の設定は、 Bluetooth デバイスのユーザースペース HID 処理を有効にします。 {{ic|bluetooth.service}} を再起動して、変更をテストします。また、再起動してデバイスを再ペアリングする必要がある場合もあります。
  +
  +
=== Kensington Expert Wireless Trackball の問題 ===
  +
  +
Kensington Expert Wireless Trackball のデフォルトのポーリングレートは200ミリ秒の範囲であるため、遅延が発生します。これを修正するには、{{ic|[ConnectionParameters]}} セクションの {{ic|/var/lib/bluetooth/''mac-of-your-adapter''/''mac-of-your-mouse''/info}} (マウスの Bluetooth アドレスに応じてパスを調整します) 待ち時間を少数または {{ic|0}} に下げます。
  +
  +
=== Logitech BLE マウス (M557、M590、anywhere mouse 2 など) の問題 ===
  +
  +
マウスがペアリングされていても、機能しない場合。デバイスが、信頼され、ブロックが解除されるように追加します。
  +
まず、ターミナルを開いて {{ic|bluetoothctl}} を実行します。
  +
  +
#Bluetooth の電源を切る:{{bc|[bluetooth] # power off}}
  +
#Bluetooth の電源を入れ、必要に応じてマウスでペアリング方法を有効にします。 {{bc|[bluetooth] # power on}}
  +
#使用可能な Bluetooth デバイスを一覧表示します。マウスデバイスID '' XX:XX:XX:XX:XX:XX ''をコピーする必要があります:{{bc|[bluetooth] # scan on}}
  +
#すでにペアリングされている場合は、デバイスのペアリングを解除します:{{bc | [bluetooth] # ''XX:XX:XX:XX:XX:XX''}} を削除します
  +
#デバイスをペアリングモードにします(通常、ボタンを長押しするか、一部のキーボードではキーの組み合わせを使用します)。スキャンで検出して表示します。デバイス ID が(わずかに)変更されている可能性があることに注意してください。スキャンで示されたデバイス ID をコピーしてください。
  +
# '''信頼''' デバイス:{{bc|[bluetooth] # trust ''XX:XX:XX:XX:XX:XX''}}
  +
#マウスをコンピューターとペアリングします:{{bc|[bluetooth] # pair ''XX:XX:XX:XX:XX:XX''}}
  +
#コンピュータをマウスで接続します:{{bc|[bluetooth] # connect ''XX:XX:XX:XX:XX:XX''}}
  +
# '''ブロック解除''' デバイスコントロール:{{bc|[M585 / M590] # unblock}}
  +
#Bluetooth の電源をオフにしてからオンにします。
  +
  +
マウスが直接機能しない場合は、マウスの電源をオフにしてからオンにします。
  +
  +
=== カーネル5.9+上のすべての BLE マウスの問題 ===
  +
  +
[https://wiki.archlinux.jp/index.php/Bluetooth#.E3.82.AB.E3.83.BC.E3.83.8D.E3.83.AB_5.9_.E4.BB.A5.E9.99.8D.E3.81.AE.E3.81.99.E3.81.B9.E3.81.A6.E3.81.AE_BLE_.E3.83.87.E3.83.90.E3.82.A4.E3.82.B9.E3.81.AE.E5.95.8F.E9.A1.8C カーネル 5.9 以降のすべての BLE デバイスの問題] を参照してください。
  +
  +
== 参照 ==
  +
  +
* [https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/settings-storage.txt BlueZ settings storage]

2021年4月9日 (金) 14:55時点における最新版

関連記事

この記事では、 Bluetooth マウスに固有の構成とトラブルシューティングの手順について説明します。 ここでの情報は、メインの Bluetooth 記事に基づいており、ユーザーがその記事のインストール、構成、またはトラブルシューティングをすでに実行していることを前提としています。

設定

Apple MagicMouse のスクロール速度

スクロール速度が遅すぎる場合は、次を試してみて下さい。

# modprobe -r hid_magicmouse
# modprobe hid_magicmouse scroll_acceleration=1 scroll_speed=55

スクロール速度は0から63まで設定できます。

速度が適切な場合は、 /etc/modprobe.d/ で変更を永続的にすることができます

/etc/modprobe.d/hid_magicmouse.conf
options hid_magicmouse scroll_acceleration=1 scroll_speed=55

Apple MagicMouse のミドルクリック

ミドルクリックが機能しない場合、無効にすることができます

# modprobe -r hid_magicmouse
# modprobe hid_magicmouse emulate_3button=0

この設定が適切な場合は、/etc/modprobe.d/ で永続的に変更を加えることができます。

/etc/modprobe.d/hid_magicmouse.conf
options hid_magicmouse emulate_3button=0

マウスのペアリングとデュアルブート

Windows と Linux をデュアルブートする場合、 Bluetooth マウスを何度も再ペアリングする必要がある場合があります。これは、 OS を切り替えるたびに発生します。これは、デバイスをペアリングすると、 Bluetooth サービスが一意のペアリングキーのセットを生成するためです。そして、主な理由は、ペアリングキーのセットを2つの OS 間で共有できないことです。

まず、コンピュータに Bluetooth デバイスの MAC アドレスとペアリングキーが保存されます。次に、 Bluetooth デバイスはコンピュータの MAC アドレスと一致するキーを保存します。これは通常は正常に機能しますが、 Bluetooth ポートの MAC アドレスは Linux と Windows の両方で同じになります(ハードウェアレベルで設定されます)。ただし、 Windows または Linux でデバイスを再ペアリングすると、新しいキーが生成されます。そのキーは、 Bluetooth デバイスに以前に保存されたキーを上書きします。 Windows は Linux キーを上書きし、その逆も同様です。

この問題を解決するには、こちらを参照 [1]

Bluetooth LE デバイスを使用している場合は、こちら python スクリプトを使用した例は こちら これは、arch に合わせて少し編集されています

トラブルシューティング

マウスの遅延

マウスの遅延が発生した場合は、ポーリングレートを上げることができます。詳細については、マウスのポーリングレート を参照してください。

BlueZ でマウスの最小/最大遅延を設定してみることができます [2]:

/var/lib/bluetooth/mac-of-your-adapter/mac-of-your-mouse/info の次のセクションを追加または変更します(それに応じてパスを調整します)::

[ConnectionParameters]
MinInterval=6
MaxInterval=9
Latency=44
Timeout=216

また、hcitool (bluez-hcitoolAUR) を使用して、デバイスの遅延パラメーターを変更することもできます。

# HANDLE="$(hcitool con | grep '<Bluetooth マウス MAC アドレス>' | awk '{print $5}')"  # get the device handle
# hcitool lecup --handle $HANDLE --latency 0 --min 6 --max 8

この方法は、現在の接続に対してのみ有効であることに注意してください。マウスが切断された場合は、再度実行する必要があります。

または、debugfs を使用してデフォルトのレイテンシ設定を変更することもできます。 /sys/kernel/debug/bluetooth/hci0/conn_{latency,{min,max}_interval} を参照してください。

この例ではラグの問題を解決しますが、マウスのペアリングを解除してペアリングする必要があります。

# echo 0 > /sys/kernel/debug/bluetooth/hci0/conn_latency
# echo 6 > /sys/kernel/debug/bluetooth/hci0/conn_min_interval
# echo 7 > /sys/kernel/debug/bluetooth/hci0/conn_max_interval

USB ドングルの問題

USB ドングルに問題がある場合は、次のことも試してみてください。

# modprobe -v rfcomm

この時点で、次の hci0 デバイスを入手する必要があります。

# hcitool dev

デバイスがすぐにアクティブにならない場合があります。次のコマンドでインターフェースを開始してみてください。

# hciconfig hci0 up

上記のようにデバイスを検索します。

マウスが切断される

Bluetooth を再起動した後、マウスが機能しなくなっても再び機能する場合は、選択したデバイスに対して USB の自動サスペンドを無効にする 必要がある場合があります。

この問題は、デバイスのタイムアウトと HID 設定にもある可能性があります。 #ThinkpadBluetooth レーザーマウスの問題 を参照してください。

Logitech デバイスを使用している場合、この問題は #Logitech BLE マウス (M557、M590、anywhere mouse 2 など) の問題 の手順に従って解決される場合があります。

ThinkpadBluetooth レーザーマウスの問題

Thinkpad Bluetooth レーザーマウスが接続された後、数秒ごとに (マウスを動かすかボタンを押すと) 再び切断される場合は、コード 0000 とペアリングしてみてください。

上記がうまく機能しない場合は、デバイスのタイムアウト設定に問題がある可能性があります。ファイル /etc/bluetooth/input.conf を編集/作成し、次の変更を適用します。

# Configuration file for the input service
# This section contains options which are not specific to any
# particular interface
[General]

# Set idle timeout (in minutes) before the connection will
# be disconnect (defaults to 0 for no timeout)
IdleTimeout=0

#Enable HID protocol handling in userspace input profile
#Defaults to false(hidp handled in hidp kernel module)
UserspaceHID=true

これらの変更により、接続を維持するためのデバイスのタイムアウトが防止されます。 2番目の設定は、 Bluetooth デバイスのユーザースペース HID 処理を有効にします。 bluetooth.service を再起動して、変更をテストします。また、再起動してデバイスを再ペアリングする必要がある場合もあります。

Kensington Expert Wireless Trackball の問題

Kensington Expert Wireless Trackball のデフォルトのポーリングレートは200ミリ秒の範囲であるため、遅延が発生します。これを修正するには、[ConnectionParameters] セクションの /var/lib/bluetooth/mac-of-your-adapter/mac-of-your-mouse/info (マウスの Bluetooth アドレスに応じてパスを調整します) 待ち時間を少数または 0 に下げます。

Logitech BLE マウス (M557、M590、anywhere mouse 2 など) の問題

マウスがペアリングされていても、機能しない場合。デバイスが、信頼され、ブロックが解除されるように追加します。 まず、ターミナルを開いて bluetoothctl を実行します。

  1. Bluetooth の電源を切る:
    [bluetooth] # power off
  2. Bluetooth の電源を入れ、必要に応じてマウスでペアリング方法を有効にします。
    [bluetooth] # power on
  3. 使用可能な Bluetooth デバイスを一覧表示します。マウスデバイスID XX:XX:XX:XX:XX:XX をコピーする必要があります:
    [bluetooth] # scan on
  4. すでにペアリングされている場合は、デバイスのペアリングを解除します:
     [bluetooth] # XX:XX:XX:XX:XX:XX
    を削除します
  5. デバイスをペアリングモードにします(通常、ボタンを長押しするか、一部のキーボードではキーの組み合わせを使用します)。スキャンで検出して表示します。デバイス ID が(わずかに)変更されている可能性があることに注意してください。スキャンで示されたデバイス ID をコピーしてください。
  6. 信頼 デバイス:
    [bluetooth] # trust XX:XX:XX:XX:XX:XX
  7. マウスをコンピューターとペアリングします:
    [bluetooth] # pair XX:XX:XX:XX:XX:XX
  8. コンピュータをマウスで接続します:
    [bluetooth] # connect XX:XX:XX:XX:XX:XX
  9. ブロック解除 デバイスコントロール:
    [M585 / M590] # unblock
  10. Bluetooth の電源をオフにしてからオンにします。

マウスが直接機能しない場合は、マウスの電源をオフにしてからオンにします。

カーネル5.9+上のすべての BLE マウスの問題

カーネル 5.9 以降のすべての BLE デバイスの問題 を参照してください。

参照