本文介绍在深度Deepin和Windows 10双系统中蓝牙4.0鼠标共享使用的方法,其实在做完双系统后发现每次切换之后蓝牙鼠标都不能自动链接,还要删除原来的蓝牙再重新搜索一次,非常麻烦,不过按照以下步骤操作就可以解决问题了。
原理 因为蓝牙每次链接都会随机生成一个对接码。也就是说比如先和Windows 10对接后,生成对接码1,但是切换到deepin后再对接,鼠标只会存储第二次对接的对接码2,那么等你再次回到Windows 10系统之后,鼠标存储的对接码2和原来系统存储的对接码1不匹配,就会无法链接。 网上有各种解决方案,我的思路是把Windows 10下的对接码1 替换到deepin下的对接码2,这样两个码值就统一了。自然就都可以链接。
解决方法 步骤一 删除原来所有的蓝牙设备,当然这步的目的是为了防止你找不准哪个蓝牙才是你鼠标的,如果你能确定记住,这步可以省略。 注:双系统下,同一个鼠标的蓝牙地址最后一位会不同哦。 步骤二 先在Windows 10下建立与鼠标的蓝牙配对。 再切换到deepin下,把鼠标蓝牙对接成功。 步骤三 切换Windows 10系统,到微软官网下载PSTools: https://docs.microsoft.com/zh-cn/sysinternals/downloads/psexec
将压缩包解压缩后,以管理员身份运行cmd。 桌面左下角,小娜搜索框输入cmd,右键点击CMD选择管理员打开,进入pstools的文件夹:例如我把PSTools下载在【D盘】的【迅雷下载】文件夹,那么我只要在命令行里输入: cd /d d:/迅雷下载/PSTools/ 这样就可以成功切换进入该文件夹。 执行命令psexec.exe -s -i regedit之后会自动打开windows的注册表。 找到如下地址: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\BTHPORT\Parameters\Keys\ 这里很重要,建议直接用手机直接拍下来。 Windows 10下的蓝牙鼠标信息:
记录下如下几个参数的值: 罗技:CSRK, IRK, LTK, EDIV, ERand,其中EDIV和ERand需要10进制(就是上图中括号里的部分)。 小米:IRK, LTK, EDIV, ERand,其中EDIV和ERand需要10进制。 注:有些蓝牙设备可能稍有区别。 步骤五 切换回到deepin下,桌面系统进入/var/lib/bluetooth/文件夹,提示:在进入Bluetooth前,右击以管理员身份进入,输入root密码之后就可以进入了。 就是对照着Windows 10下面,把/var/lib/bluetooth/XX:XX:XX:XX:XX:XX(电脑蓝牙地址)/YY:YY:YY:YY:YY:YY(鼠标蓝牙地址)/info文件进行修改, 这里着重提示一下,linux下YY:YY:YY:YY:YY:YY(鼠标蓝牙地址)可能和Windows 10下不一样,网上有教程说区别是最后一位,我的电脑在linux下确实在最后一位确实不一样,其他电脑我不知道是不是也这样。 可以把YY:YY:YY:YY:YY:YY文件夹手动改名,但是在窗口下改最后一位,发现改完后中间的冒号都没了。这时就要用命令行改了。不知道是不是小bug? 命令如下:mv file1file2 比如 mv YY:YY:YY:YY:YY:Y2 YY:YY:YY:YY:YY:Y1 这样就可以把文件夹名称改了,这样的目的也是为了两个系统的蓝牙鼠标地址一致。 例如:我的文件是这样的,注意和上图的对比。就是修改 EDIV ERand IRK LTK四个数值为Windows 10下的数值,不同的鼠标不一定一样,可以参考后面的对照。 略掉一部分 [IdentityResolvingKey] Key=5D97FCB6AD2E740FABB7C999E5FB89A #数值等于Windows下的IRK值的大写 [LongTermKey] Key=228C402B3B533C730B3943F05137DAC6 # 数值等于Windows下的LTK值的大写 Authenticated=0 EncSize=16 # 这里数值是16 EDiv=46623 # 数值等于Windows下的EDIV值的10进制 Rand=9780254835825153217#数值等于Windows下的ERand值的10进制, EDiv和Rand你就照着上面win10下括号里的填写就可以了,有教程说要倒顺序,其实都不用管,只要填括号里那个就可以了。 步骤六 修改之后重启蓝牙服务service bluetooth restart,或者重启机器,之后就能在深度Linux系统下使用鼠标了。
相关主题 |