allegro 发表于 2018-12-27 22:11

再说说蓝牙鼠标多系统共用的事(续集)

本帖最后由 allegro 于 2018-12-28 23:02 编辑

书接上回(上回在这里https://bbs.pcbeta.com/viewthread-1797066-2-1.html),近些天闲来无事又开始折腾。通过对windows注册表和Mac配置文件的分析,发现能够在多系统下依次配对直接使用的,是使用SPP协议的设备,而使用BLE协议的每次配对设备地址都会发生随机变化。就像狗熊掰棒子一样,配对成功一个,前一个系统里就连不上了。那么众多前辈一系列的方法、工具都是针对BLE蓝牙鼠标的,如果你的鼠标是SPP协议,或者是双栈的但优先SPP,请忽略。

上回说到因为Windows注册表里保存蓝牙信息的位置太多,所以采用以在Windows里提取到的蓝牙信息为基础,去修改Linux和macOS下的参数,但macOS下修改参数后仍需使用LightBlue这个工具来做一次"非配对"连接。可这个LightBlue在复杂蓝牙环境(附近蓝牙设备过多)很难连接,只能拼人品。所以这次我重写了三个平台的工具链,从macOS系统提取蓝牙信息,分别导入到Windows和Linux,不再依赖其他工具。

使用方法:
1. 分别在各个系统配对,确认正常使用,以便生成基本的配置信息结构,最后在macOS下配对。
2. 在macOS系统使用getbtinfo来提取蓝牙信息,打开一个终端窗口,命令:python getbtinfo.py。如果你配对过多个BLE蓝牙设备,会列出设备名称让你选择,成功后会在桌面生成BTFix文件夹,里面的BTInfo.ini就是提取到的蓝牙信息,把这个文件复制到Windows和Linux系统去。
3. 进入Windows系统,使用FixBT-win.exe来导入蓝牙信息,这里还是需要使用psexec这个工具来辅助,首先用管理员身份打开命令行窗口,命令:PsExec64.exe -s -i FixBT-win.exe BTInfo.ini。要注意的是FixBT-win.exe前面要写上完整的绝对路径。如果你的系统里配对过多个蓝牙设备,也需要你选择需替换的设备名称,成功完成后重启Windows,鼠标就可以用了。
4. 进入Linux系统,使用fixbt-lnx来导入蓝牙信息,命令:sudo python fixbt-lnx.py BTInfo.ini。输入密码,如果配对过多个蓝牙设备也需要选择一下,成功后重启系统或蓝牙服务,鼠标就可以用了。

我的测试环境是:
1. macOS Mojave(10.14.2)
2. Win10 专业工作站版 [版本 10.0.17763.195]
3. Parrot OS 4.4,理论上debian系的ubuntu等都可以,其他发行版未测试

python代码在2.7版本调试通过,不保证其他版本是否有兼容问题
工具下载:






云翼飞鸟 发表于 2018-12-27 23:25

好东西,支持楼主~

wuqing68 发表于 2018-12-28 17:46

折腾死了蓝牙鼠标,现在弃之不用。改用USB了

allegro 发表于 2018-12-28 20:33

wuqing68 发表于 2018-12-28 17:46 https://www.pcbeta.com/static/image/common/back.gif
折腾死了蓝牙鼠标,现在弃之不用。改用USB了

试试我写的工具,溜到飞起{:5_264:}

youngerruan 发表于 2018-12-28 20:46

顶一个!!!

coldpcbeta 发表于 2018-12-29 10:01

好东西,支持一下。

hrb520 发表于 2019-1-21 23:59

搞了很多天了,试试你的。

hrb520 发表于 2019-1-22 00:00

玩黑果很疲劳啊

577327048 发表于 2019-1-22 00:14

微软的鼠标一直不成功,试试这个

577327048 发表于 2019-1-22 00:21

使用不了


allegro 发表于 2019-1-22 20:51

577327048 发表于 2019-1-22 00:21 https://www.pcbeta.com/static/image/common/back.gif
使用不了

把桌面上BTFix文件夹打包发给我

577327048 发表于 2019-1-23 09:03

allegro 发表于 2019-1-22 20:51 https://www.pcbeta.com/static/image/common/back.gif
把桌面上BTFix文件夹打包发给我

您看下

HJMac 发表于 2019-1-23 09:14

感谢分享!放假了再来试试

allegro 发表于 2019-1-24 12:37

577327048 发表于 2019-1-23 09:03 https://www.pcbeta.com/static/image/common/back.gif
您看下
plutil转换的xml文件中出现了0x00字符,造成plistlib无法正常导入。
应该是plutil的bug吧
只能我先来把中间文件过滤一下
试试附件里我改过的


rodren 发表于 2019-1-24 15:10

路过收藏下。。。
      现在都不用第三方卡了。都直接苹果卡。 不用考虑这个

yangmingyan137 发表于 2019-1-24 15:35

试试有没有效果

allegro 发表于 2019-1-24 17:02

rodren 发表于 2019-1-24 15:10 https://www.pcbeta.com/static/image/common/back.gif
路过收藏下。。。
      现在都不用第三方卡了。都直接苹果卡。 不用考虑这个

这和卡没有关系,我的也是苹果卡

577327048 发表于 2019-1-24 17:27

allegro 发表于 2019-1-24 12:37 https://www.pcbeta.com/static/image/common/back.gif
plutil转换的xml文件中出现了0x00字符,造成plistlib无法正常导入。
应该是plutil的bug吧
只能我先来把 ...

感谢。已经手动替换了,暂不折腾了

双纵线 发表于 2019-1-26 02:37





试了3遍都不行

局域人生 发表于 2019-1-26 10:08

我的蓝牙鼠标在双系统下,配对非常的简单,刚刚开始不太会用,原来只要同样的配对,就可以无缝在双系统使用,而不会掉蓝牙,而且也非常的稳定
页: [1] 2 3 4 5 6
查看完整版本: 再说说蓝牙鼠标多系统共用的事(续集)