引言

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

蓝牙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=
MaxInterval=
Latency=
Timeout=

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

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

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

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

另外

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

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

是加的吧?

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

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

[author: classic_tong; date: 20190921]

[bluez] linux下蓝牙鼠标的延迟问题的更多相关文章

  1. linux下的短延迟

    nanosleep,sleephttps://www.jianshu.com/p/42abcc2c9e50

  2. Linux下TCP延迟确认(Delayed Ack)机制导致的时延问题分析

    版权声明:本文由潘安群原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/105 来源:腾云阁 https://www.qclo ...

  3. Linux 下蓝牙bluez分析及使用 (1)

    蓝牙耳机的使用 由于Linux下蓝牙使用不及Windows下直观,致使使用时会出现一些小问题.虽然是小问题,但是由于普通的操作都具有顺序性,前面的中断了,后面的哪怕再简单,也无法继续了.正好近期工作与 ...

  4. linux 下使用 tc 模拟网络延迟和丢包-使用 linux 模拟广域网延迟 - Emulating wide area network delays with Linux

    tc 是linux 内置的命令:使用man pages 查看 我们看到,其功能为 show / manipulate traffic control settings,可对操作系统进行流量控制: ne ...

  5. linux下蓝牙开发(bluez应用)

    编译blueZ-5.25 需要先编译安装以下包: bluez-libs-3.36.tar.gz expat-2.1.0.tar.gz dbus-1.10.0.tar.gz glib-2.26.1.ta ...

  6. 【转】Linux下进程/程序网络带宽占用情况查看工具 -- NetHogs

    http://www.cnblogs.com/carbon3/p/5930803.html 之前VPS侦探曾经介绍过流量带宽相关的工具如:iftop.vnstat,这几个都是统计和监控网卡流量的.但是 ...

  7. Linux下的IO模式

    对于一次IO访问(以read举例),数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间.所以说,当一个read操作发生时,它会经历两个阶段:1. 等待数据准 ...

  8. Linux下显示ip所属位置

    在linux下,要是网络出现延迟,通常我们需要分析自己到对端的服务器的网络环境 例:ping www.baidu.com traceroute www.baidu.com 通过分析来确定大概是什么问题 ...

  9. linux下多路复用模型之Select模型

    Linux关于并发网络分为Apache模型(Process per Connection (进程连接) ) 和TPC , 还有select模型,以及poll模型(一般是Epoll模型) Select模 ...

随机推荐

  1. [转]图片Premultiplied Alpha到底是干嘛用的

    Premultiplied Alpha 这个概念做游戏开发的人都不会不知道.Xcode 的工程选项里有一项 Compress PNG Files,会对 PNG 进行 Premultiplied Alp ...

  2. 转 : 请问mysql如何确定一个库是主库还是从库。

    select user,host from mysql.user;SELECT Repl_slave_priv,Repl_client_priv,super_priv,host FROM mysql. ...

  3. EasyRTMP推送扩展支持HEVC(H265) RTMP推送之Metadata结构填写详解

    我们在<EasyNVR摄像机网页直播中,推流组件EasyRTMP推送RTMP扩展支持HEVC(H.265)的方案>中描述了关于EasyRTMP进行RTMP HEVC(H.265)推流的概括 ...

  4. LIST<>泛型集合取得对象的属性值

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  5. [LeetCode] 399. Evaluate Division 求除法表达式的值

    Equations are given in the format A / B = k, where A and B are variables represented as strings, and ...

  6. WIN7 浏览器 收藏夹栏字体太小

    在“窗口颜色和外观”-项目-“消息框”,把字体大小调大. "标题按钮" 大小 21.

  7. 【视频开发】【计算机视觉】doppia编译之四:安装其他库、编译和运行doppia

    (与本节内容无关///////////////////////////保存图片参数为--gui.save_all_screenshots true////////////////////)  在我们安 ...

  8. 面试之leetcode两数求和

    1 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样 ...

  9. odoo 流水码 编码规则

    <?xml version="1.0" encoding="utf-8"?> <odoo> <data noupdate=&quo ...

  10. 微设计基础架构(MDI)

    微设计基础架构(MDI) 了解微设计基础架构(MDI)的概念,它们如何帮助开发,以及它们与DevOps和微服务等技术的关系. 技术决策既困难又严肃,可以决定项目的成败.如何找到合适的技术栈?“微设计基 ...