[bluez] linux下蓝牙鼠标的延迟问题

引言

现在的便携设备,接口越来越少了。所以我们没有理由不用蓝牙鼠标。高大上也不贵。

蓝牙4.0之前,蓝牙设备的问题是特别费电。蓝牙4.0之后省电的要命,我的上一个鼠标Microsoft Designer Mouse

两节七号电池差不多能用6-8个月不需要换电池。而且是很少关闭的前提下。基本上处于常开的状态。

当然这里边还有一个特殊情况是,我是emacs和小红点用户,所以可能几个小时也不碰一下鼠标。

 [author: classic_tong; date: 20190921]

前言

可是遗憾的是。鼠标还是脆弱的,特别是左键。铜片的老化,以及挤压会很容易导致损坏。特别是挤压。于是我的designer终于

在三年之后左键失灵了。

然后我买个新的,发现延迟很明显。我以为是DPI或者之类的问题,于是又买了一个,于是一口气买了三个。发现竟然都有延时问题(延迟问题,不灵敏,反应慢)

于是我才意识到,可能是软件的问题。

开始之前,我需要感谢这三款鼠标,和京东商城。他们分别是:

1. 2.3.

问题

当意识到其实可能是软件问题时,只有随手一google:“linux bluetooth mouse lag”,问题和答案马上呈现。

面临这个问题的人还是很多的。罗列一下有用的资料,可以自己看,也可以看我下文的解决方案:

archlinux是wiki里早就给了方法:

https://wiki.archlinux.org/index.php/Bluetooth_mouse#Troubleshooting

BBS里边也有详细的讨论:

https://bbs.archlinux.org/viewtopic.php?pid=1857256#p1857256

 linux 内核里边关于这个问题的一段讨论:

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/net/bluetooth?h=v5.2.8&id=33401f6ba0d9f23ca5877540375b88d7cd5b1f8f

解决方法

解决方案很简单

1. 连接蓝牙。

这个时候会在var下生成这个文件

/var/lib/bluetooth/E4:70:B8:A7:07:19/DF:B6:2E:A4:60:08/info

2. 修改这个文件,加入如下行

[ConnectionParameters]
MinInterval=6
MaxInterval=6
Latency=60
Timeout=300

3. 重启笔记本上的蓝牙设备

之后,我的问题就解决了。

有关这几个配置的解释,详见

https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/settings-storage.txt

另外

另外,为什么之前的鼠标是好的,新买的这几个都不行呢?

推测可能是,bluez更新了版本,不在追加这些值了。因为只要在最开始配置的时候加上就可以了,可能bluez几年前的版本

是加的吧?

为了排除硬件的差别。我把旧鼠标的info文件删掉了,再重新链接。配置并没有被追加。所以,硬件是无差别的。

最后,我还是选择了红色的3600,好看嘛?

[author: classic_tong; date: 20190921]

原文地址:https://www.cnblogs.com/hugetong/p/11557287.html