不知道有多少人和我一样用的蓝牙鼠标或者键盘,有的话应该都会遇到同一个问题:即在一个系统下配好对后在另一个系统必须重新配对才能使用,很是麻烦.还要将蓝牙设备进入发现模式,OS下搜索,连接....终于昨天在一个老外网上看到了解决方法,写出来分享一下.
原贴地址:http://www.insanelymac.com/forum/index.php?showtopic=268837
原作者已经写的很详细了,我这里就只做翻译~

原理:这个问题的实质原因是,由于蓝牙是一对一传输,当OS连接蓝牙设备的时候,会随机生成一个link ID(可以理解为连接识别码),Win 和Mac 用的是不同的link ID。而每次配对都会改变其link ID,所以才导致不同OS的蓝牙不能公用,即使是一个电脑的蓝牙芯片也不可以。P.S: 不过Ubuntu 就没有这个问题,不管win/mac 的蓝牙都能用,赞一个!

问题本质清楚了,解决方法就很简单了。首先需要在两个系统下都要对蓝牙设备配对,用来生成同一设备的不同link ID,然后把两个系统的ID改成一样的就好了~ 原贴是先在Windows 下配对,然后去Mac 配对。这里的顺序一定不能变,因为我们最后要在Windows 下改link ID。(当然你如果知道怎么在Mac 改可以无视这句)

连蓝牙我就不多说了,Windows 下配完对,重启进Mac 系统,再配对。所以现在你可以在Mac 下用你的蓝牙设备。

Mac 下查看link ID:
打开终端,输入以下口令

  1. sudo defaults read /private/var/root/Library/Preferences/blued.plist

复制代码

然后屏幕上会出现几行代码,我们要找的link ID 是32位的16进制数字(比如:98542ff9 88e19449 475250e1 3943255b)

Little Ending to Big Ending:
这一步极其重要。因为Mac是以Little Ending 储存数据,而Windows 是以Big Ending 储存的。所以我们要进行数据格式的转换。其实规则很简单,原则就是从右往左读,一次两个16进制数。比如Mac 下显示ID 为

  1. 98542ff9 88e19449 475250e1 3943255b

复制代码

则转换成 Big Ending 就是

  1. 5b 25 43 39 e1 50 52 47 49 94 e1 88 f9 2f 54 98

复制代码

这里空格可以忽略,只是为了大家看着方便。现在Link ID 已经到手,重启进Windows~

Windows 下修改Link ID:
我们最开始已经连过蓝牙设备到Windows 了,所以现在设备那里会显示你的鼠标或键盘。但是因为我们之后又连过Mac,所以现在应该是不能用的(不然我也没必要写这篇文章)。下一步我们要修改Link ID,而它就在注册表里。但是这个Link ID是被保护的,如果直接打开注册表是不能编辑的,甚至看都看不到。所以这里需要另外一个工具 PSTools
<ignore_js_op> PSTools.zip (1.53 MB, 下载次数: 1248)

随便下到哪里都行,解压缩。然后以管理员身份运行命令行,cd 到解压缩之后的 PSTools 文件夹,输入以下口令:

  1. psexec -s -i regedit

复制代码

然后在打开的注册表里找到

  1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\BTHPORT\Parameters\Keys\(蓝牙适配器地址,不是你蓝牙鼠标/键盘的地址)

复制代码

<ignore_js_op> 
在右边的注册表项点右键-〉修改二进制值
<ignore_js_op> 
把原来的数值全部删除先,然后输入你转换过得Big Ending 格式的Link ID,点OK。你的设备就可以用了!(不需要重启)

次方法非一劳永逸,每次添加新的蓝牙设备都必须重新按此文章修改一次~ 如果有更好方法欢迎分享~~

解决Windows 与Mac 双系统下的蓝牙设备共用的问题的更多相关文章

  1. Windows和Linux双系统下完美卸载linux

    装了Windows和linux双系统的朋友,在后期要删除linux是个比较头痛的问题,因为MBR已经被linux接管,本文的目的是如何在windows 和linux双系统下,简单,完美地卸载linux ...

  2. mac双系统下ubuntu卡在开机密码登录界面卡死

    背景:开机黑屏卡在,dev/sda1: clean, 552599/6111232 files, 7119295/24414464 blocks,修复完这个问题之后,出现桌面卡死,光标鼠标键盘全部失灵 ...

  3. windows和linux双系统删除linux

    装了Windows和linux双系统的朋友,在后期要删除linux是个比较头痛的问题,因为MBR已经被linux接管,本文的目的是如何在windows 和linux双系统下,简单,完美地卸载linux ...

  4. 双系统下(Ubuntu + win7)windows 无法连接无线网络

    双系统下(Ubuntu + win7)windows 无法连接无线网络 今天开机登录win7,突然发现无法使用无线网络(WiFi信号标志有个大红叉),于是查看设备驱动,一切正常,这就奇怪了:用Wind ...

  5. win7/ubuntu双系统下,如何恢复成win7引导及卸载ubuntu

    电脑原来是win7系统,后来通过硬盘安装了Ubuntu,同时把Ubuntu设置成了开机引导项(开机时选择操作系统的界面成了紫色背景白色字体的界面),ubuntu引导开机的缺点是将来要卸载Ubuntu时 ...

  6. 硬件时间,操作系统时间,Windows 和linux 双系统时间差8小时问题说明

    1.硬件时间:硬件时钟是存储在主板上CMOS里的时间即BIOS时间,关机后该时钟依然运行,主板的电池为它供电.对应于嵌入式设备有一个RTC模块.硬件时钟即RTC时钟.信息比较少没时区.夏令时的概念. ...

  7. Windows、Ubuntu双系统重装windows系统后grub引导的修复及默认启动项的修改

    今天帮童鞋重装系统,他的电脑是Windows.Ubuntu双系统,需要重装的系统是windows,据说是因为很多游戏都只支持64位,要给换成64位的 = =...      于是我就帮他装了个wind ...

  8. 安装Windows 和 Linux双系统(vmware) Centos7

    这里我安装的是Windows + Centos 7,如果是要安装Centos 6,步骤一样 一.安装Windows和Linux双系统需要先安装Windows然后安装Linux 解释:这里解释下为什么要 ...

  9. Mr.Jin系统发布报告——WIN7 WIN8双系统下的学习模式系统

    Mr.Jin系统发布报告           本文由Mr.Jin原创发表于博客园.CSDN论坛 http://www.cnblogs.com/CHPowerljp-IT/p/3463850.html ...

随机推荐

  1. 洛谷2105 k皇后

    P2105 K皇后 题目描述 小Z最近捡到了一个棋盘,他想在棋盘上摆放K个皇后.他想知道在他摆完这K个皇后之后,棋盘上还有多少了格子是不会被攻击到的. (Ps:一个皇后会攻击到这个皇后所在的那一行,那 ...

  2. SQL Server权限设置

    常用的几个系统表:(其实是View) sysdatabases,主数据库,服务器上的数据库 sysobjects,每个数据库,所有数据库对象 syscolumns,每个数据库,列 sysprocess ...

  3. Java代码读取文件

    用Java代码读取文件时,保持文件本来的格式(主要是保持换行),这点有时候比较重要.用代码实现也相当简单. private static void readFile() { StringBuilder ...

  4. input 内容发生改变时触发事件

    oninput,onpropertychange,onchange的用法 onchange触发事件必须满足两个条件: a)当前对象属性改变,并且是由键盘或鼠标事件激发的(脚本触发无效) b)当前对象失 ...

  5. ES6新特性使用小结(五)

    十二.class 与 extends ①.类的基本定义和生成实例 { class Parent{ constructor(name='Lain'){ //定义构造函数 this.name = name ...

  6. Jenkins+Gitlab+Ansible自动化部署(三)

    接Jenkins+Gitlab+Ansible自动化部署(一)https://www.cnblogs.com/zd520pyx1314/p/10210727.html 和(二)https://www. ...

  7. CentOS7.2配置本地yum源

    1.检查是否有本地yum源 1)检查是否能连网 ping www.baidu.com 2)检查是否有本地yum源 yum list 2.挂载镜像文件 以上检查,说明确实是内网,也确实没有本地yum源, ...

  8. Redis的数据类型(lists、Sets)

    lists类型 Redis 列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素到列表的头部(左边)或者尾部(右边) LPUSH 命令插入一个新的元素到头部, 而 RPUSH 插入一个新元素导 ...

  9. cordova开发的坑

    相机 根据android版本,有各种问题. 1.拍照后不会自动清内存造成内存溢出,导致照片不会自动旋转,拍多张之后会自动刷新网页. 2.小米手机安卓7.0时,拍出的照片不会自动旋转,需要安卓端代码调整 ...

  10. Java面向对象(继承、抽象类)

    面向对象 今日内容介绍 u 继承 u 抽象类 第1章 继承 1.1 继承的概念 在现实生活中,继承一般指的是子女继承父辈的财产.在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成 ...