蓝牙鼠标
本文描述了蓝牙鼠标的配置和故障排除步骤。这里的信息建立在主要的蓝牙文章之上,并假定用户已经遵循了该文章中的任何安装、配置或故障排除步骤。
配置
Apple Magic Mouse 滚动速度
如果滚动速度太慢,您可以尝试
# 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 Magic Mouse 中键点击
如果您觉得中键点击太不稳定,您可以禁用它
# 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 时,您可能会发现自己不得不一次又一次地重新配对蓝牙鼠标。每次切换操作系统时都会发生这种情况,因为当您配对设备时,蓝牙服务会生成一组唯一的配对密钥。核心原因是这组配对密钥无法在两个操作系统之间共享。
首先,您的计算机存储蓝牙设备的 mac 地址和配对密钥。其次,您的蓝牙设备存储您计算机的 mac 地址和匹配的密钥。这通常工作正常,但是您的蓝牙端口的 mac 地址在 Linux 和 Windows 上是相同的(它是在硬件级别设置的)。但是,当您在 Windows 或 Linux 中重新配对设备时,它会生成一个新的密钥。该密钥会覆盖蓝牙设备上先前存储的密钥。Windows 覆盖 Linux 密钥,反之亦然。
要解决此问题,请参阅Bluetooth#双启动配对。
如果使用蓝牙 LE 设备,请使用 这个 python 脚本,略作编辑以适应 Arch,最初在 [1] 上讨论。
故障排除
鼠标延迟
如果您遇到鼠标延迟,您可以尝试提高轮询率。有关更多信息,请参阅鼠标轮询率。
您可以尝试在 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-deprecated-tools 中) 来更改设备的延迟参数
# HANDLE="$(hcitool con | grep '<Bluetooth Mouse mac address>' | 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
并按照上面所示搜索设备。
鼠标总是断开连接
如果鼠标停止工作,但在重启蓝牙后又可以工作,或者鼠标似乎在不活动几秒钟后持续“休眠”(至少对于某些型号的 Dell XPS 13 [3] 是这种情况),您可能需要为所选设备禁用 USB 自动挂起。
问题也可能在于设备超时和 HID 设置。请参阅#Thinkpad 蓝牙激光鼠标问题。
如果您使用的是 Logitech 设备,则可以通过执行#Logitech BLE 鼠标 (M557, M590, M720, anywhere mouse 2, 等) 问题中的步骤来解决此问题。
Thinkpad 蓝牙激光鼠标问题
如果您遇到 Thinkpad 蓝牙激光鼠标快速连接,然后(几毫秒后)每隔几秒钟又断开连接(当您移动鼠标或按下按钮时)的问题,请尝试使用代码 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 seconds) before the connection will be disconnect and # the input device is removed. # Defaults: 0 (disabled) IdleTimeout=0 # Enable HID protocol handling in userspace input profile # Defaults to true (Use UHID instead of kernel HIDP) UserspaceHID=true
这些更改将阻止设备超时以保持连接。第二个设置启用蓝牙设备的用户空间 HID 处理。但是,默认情况下都应这样设置。重启 bluetooth.service
以测试更改。您可能还需要重启并重新配对设备。
Kensington Expert Wireless Trackball 问题
Kensington Expert Wireless Trackball 的默认轮询率在 200 毫秒范围内,这使其变得迟缓。要解决此问题,请在 /var/lib/bluetooth/mac-of-your-adapter/mac-of-your-mouse/info
中添加或修改 [ConnectionParameters]
部分(根据您的鼠标蓝牙地址调整路径),如上所示,特别是将延迟降低到一个较小的数字,甚至 0
。
Logitech BLE 鼠标 (M557, M590, M720, anywhere mouse 2, 等) 问题
在某些情况下,鼠标已配对但在使用时无法移动。设备需要被信任和解除阻止。首先打开终端并运行 bluetoothctl
- 关闭蓝牙
[bluetooth] # power off
- 打开蓝牙,然后在鼠标上启用配对方法(如果需要)
[bluetooth] # power on
- 列出可用的蓝牙设备,您必须复制鼠标设备 ID XX:XX:XX:XX:XX:XX
[bluetooth] # scan on
- 如果已配对,则取消配对设备
[bluetooth] # remove XX:XX:XX:XX:XX:XX
- 将设备置于配对模式(通常通过长按按钮,或某些键盘上的组合键)。它将被扫描检测到并显示。请注意,设备 ID 可能已(略微)更改,因此请复制扫描显示的设备 ID。
- 信任设备
[bluetooth] # trust XX:XX:XX:XX:XX:XX
- 将鼠标与计算机配对
[bluetooth] # pair XX:XX:XX:XX:XX:XX
- 将计算机与鼠标连接
[bluetooth] # connect XX:XX:XX:XX:XX:XX
- 解除阻止设备控制
[M585/M590] # unblock
- 关闭并重新打开蓝牙。
如果鼠标无法直接工作,只需关闭并重新打开鼠标即可。
在某些情况下,也可能需要加载 uhid
内核模块。