大家好,又见面了,我是你们的朋友全栈君。
后记: 写完这篇文章后又先后重新连接过两次, 每次都会下意识担心, 完了完了这次可能再也连不上了(想起当初一直连不上双系统,被蓝牙键盘支配的日日夜夜), 结果我按着自己写的这篇文章来搞, 还不是每次都成功了hh.
一、参考文献
为了方便查阅,先列出参考文献。这些文章中有的内容已经过时,有的是配置的环境不一样。
1.Ubuntu和Windows双系统蓝牙键盘配对——2014
2.Ubuntu和Windows双系统蓝牙设备共享配对——2018
3.WIN10和Ubuntu共享蓝牙4.0连接配对,鼠标键盘等,罗技M720,小米鼠标——2018
二、实现环境
- Windows版本:Windows 10
- Ubuntu版本:Ubuntu 16.04(64位)
- 蓝牙键盘:罗技K480
三、方法步骤
1.在Ubuntu系统下连接蓝牙键盘
a.搜索蓝牙,添加蓝牙设备。
这个过程很简单。我的电脑自带蓝牙服务,上面三篇文章都有介绍在命令行删除和安装蓝牙的步骤,如果有需要可以参考(个人感觉是没必要删除重新安装的)。
b.设置键盘为自动连接
修改/etc/bluetooth/main.conf文件,将最后一行的AutoEnable=false改为AutoEnable=true。
c.记录蓝牙键盘的地址
连接好蓝牙后,可以看到键盘的地址(图中的34:88:5D:A1:29:B7)。记住这个地址,后面需要用到。
2.在win10系统下连接蓝牙键盘
如果和我一样使用的是罗技k480键盘,那肯定会困惑,在win10系统下连接的时候需不需要切换左上角的频道。我的实验结果表明,不需要切换。键盘切换不同频道的时候,他的地址是没有变化的。切换频道后再按照教程连接,只会失败(失败多次后得到的血淋淋的教训啊)。
3.下载安装PsExec
a.下载PsExec: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx b.解压后,找到PsExec.exe. 右键点击,在其属性->兼容性中勾选“以管理员身份运行此程序”(必做) c.运行cmd, 进入命令行,切换到PsExec.exe所在的目录(先切到所在的盘),执行如下命令打开注册表编辑器:
代码语言:javascript复制PsExec.exe -s -i regedit.exe
找到HKEY_LOCAL_MACHINESYSTEMControlSet001servicesBTHPORTParametersKeysxxxxxxxxxxxxyyyyyyyyyyyy中的数据项记录下来(无法直接复制,可以拍照)。其中xxxxxxxxxxxxyyyyyyyyyyyy是代表电脑端蓝牙和键盘蓝牙的地址,不同电脑不同,(如果电脑连接过多个蓝牙设备,xxxxxxxxxxxx下可能有多个地址,因此刚刚在Ubuntu中连接设备时需要记录其地址。(参考第三篇文章)
拍照时注意数据不要像我一样被鼠标挡住(切换系统真的很麻烦)
4.修改Ubuntu下蓝牙键盘对应的key
重新进入Ubuntu系统,打开终端输入以下命令:
代码语言:javascript复制sudo su
gedit /var/lib/bluetooth/XX:XX:XX:XX:XX:XX/YY:YY:YY:YY:YY:YY/info
其中 XX:XX:XX:XX:XX:XX/YY:YY:YY:YY:YY:YY为电脑蓝牙地址和键盘蓝牙地址。但是我们一般不知道电脑蓝牙地址,可以直接打开到Bluetooth文件夹后输入ls,便可看到电脑的蓝牙地址。
用gedit打开info文件,将key对应的值改为win10系统下key对应的数据项(刚刚保存的win10注册表中的数据项),所有字母大写。
5.重启蓝牙服务或重启系统
使修改生效的方法有三种:
a.重启电脑;
b.在终端输入service bluetooth restart;
c.点击右上角蓝牙图标,关闭蓝牙。
6.小问题
Ubuntu重启蓝牙服务后,罗技k480并没有连接成功,我试着长按右上角初始化按钮,按的时间不长,两秒左右,直到灯开始闪烁,之后就神奇地成功了,切换到win10系统也还能用。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/181557.html原文链接:https://javaforall.cn