再说说蓝牙鼠标多系统共用的事(续集)
本帖最后由 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版本调试通过,不保证其他版本是否有兼容问题
工具下载:
好东西,支持楼主~ 折腾死了蓝牙鼠标,现在弃之不用。改用USB了 wuqing68 发表于 2018-12-28 17:46 https://www.pcbeta.com/static/image/common/back.gif
折腾死了蓝牙鼠标,现在弃之不用。改用USB了
试试我写的工具,溜到飞起{:5_264:} 顶一个!!! 好东西,支持一下。 搞了很多天了,试试你的。 玩黑果很疲劳啊 微软的鼠标一直不成功,试试这个 使用不了
577327048 发表于 2019-1-22 00:21 https://www.pcbeta.com/static/image/common/back.gif
使用不了
把桌面上BTFix文件夹打包发给我 allegro 发表于 2019-1-22 20:51 https://www.pcbeta.com/static/image/common/back.gif
把桌面上BTFix文件夹打包发给我
您看下
感谢分享!放假了再来试试 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 https://www.pcbeta.com/static/image/common/back.gif
路过收藏下。。。
现在都不用第三方卡了。都直接苹果卡。 不用考虑这个
这和卡没有关系,我的也是苹果卡 allegro 发表于 2019-1-24 12:37 https://www.pcbeta.com/static/image/common/back.gif
plutil转换的xml文件中出现了0x00字符,造成plistlib无法正常导入。
应该是plutil的bug吧
只能我先来把 ...
感谢。已经手动替换了,暂不折腾了
试了3遍都不行
我的蓝牙鼠标在双系统下,配对非常的简单,刚刚开始不太会用,原来只要同样的配对,就可以无缝在双系统使用,而不会掉蓝牙,而且也非常的稳定