Linux下的蓝牙键盘对接

Linux下的蓝牙键盘对接,第1张

注:以下内容主要来自 https://wiki.archlinux.org/index.php/bluetooth_keyboard

1、lsusb看看能不能找到本机的蓝牙/USB蓝牙

2、 bluetoothctl -a

注意,这个指令用root权限,否则可能会找不到设备

进入[bluetooth]#提示符

[bluetooth]# power on激活蓝牙

[bluetooth]# agent KeyboardOnly

[bluetooth]# default-agent

告诉主机去找蓝牙键盘设备

[bluetooth]# pairable on进入配对模式,第一次才需要

[bluetooth]# scan on 开始扫描

[bluetooth]# pair 01:02:03:04:05:06 后面的mac地址是你的键盘mac地址

[bluetooth]# trust 01:02:03:04:05:06 把键盘设置为可信设备

[bluetooth]# connect 01:02:03:04:05:06 进行对接

显示yes就对接成功了。

补充:以下内容针对罗技K系列蓝牙,如k380这种可以对接多个蓝牙设备的

这类设备有多个蓝牙服务,但是mac地址只有一个

因此,如果不是默认连接的linux主机,则每次都需要重新去连接。也就是第一次配对成功之后,每次power on一下,然后scan on,然后键盘切换到对应的F2或者F3。具体原因我也不明白为什么。

如果是一对一的蓝牙键盘,就不会出现这个问题。

1.要先确定硬件上有支持蓝牙的设备:用以下命令(1)lsusb(2)运行hciconfig命令看蓝牙设备(3)运行hcitool dev命令可以看见蓝牙设备的硬件地址2.激活蓝牙 service bluetooth stop service bluetooth start

自从安装了Deepin Linux,并 采用自己编译的内核 后,笔者的ThinkPad X200笔记本体验可谓是上升了一个非常重要的层次。后来有一天,笔者想用蓝牙耳机听音乐,然而在使用过程中发现,这台笔记本虽然自带蓝牙,屏幕下的蓝牙指示灯一直点亮着,系统中却看不到与蓝牙有关的设置选项。

出现这样的问题,多半就是因为系统中对蓝牙的支持没有启用,主要包括系统组件和内核两个层面。下面把我的经验总结如下。

默认地,Deepin并没有在系统中装上蓝牙组件,须用户手动安装。在终端中运行:

其中, bluetooth 是Linux蓝牙的核心组件,而 blueman 则是基于GTK+的一个全功能蓝牙管理器。把它们一齐装上,即可为Deepin启用全面的蓝牙支持。

笔者本以为安装了蓝牙组件后,蓝牙功能就能正常使用(因为之前在解决WLAN问题时,WLAN驱动未配置的情况下无线网卡灯是不会亮的,然而蓝牙灯始终会常亮),但是当打开蓝牙管理器时,竟然报错,提示蓝牙服务未启动。这不得不让我想到,内核中的蓝牙支持是否没有启用。

果不其然。在内核源码目录下运行 make menuconfig ,打开内核配置界面,依次对内核进行以下配置。

内核中的蓝牙选项位于【Network Settings】 -->【Bluetooth subsystem support】。先选中【Bluetooth subsystem support】,然后按”Y“,勾选它。

【Bluetooth subsystem support】中有子菜单,按回车进入,如下所示:

其中有几个选项,控制特定类型蓝牙设备协议的支持,一般全部启用。它们包括:

最为重要的一步,就是将蓝牙适配器驱动编译入内核当中。 进入最下方子菜单【Bluetooth device drivers】,如下所示:

菜单中根据接口和特定型号设备,列出了相应的支持选项,有些选项在勾选后还会展开新的选项。典型的接口有USB、SDIO、UART,按需要勾选。

笔者X200笔记本的蓝牙适配器是Broadcom BCM2045B,走的是USB通道,因此先勾选【HCI USB driver】,随后会在该项下面出现三个新的选项,再进一步勾选【Broadcom protocol support】。不过,在得知适配器信息之前,笔者拿捏蓝牙适配器可能也走了UART通道,所以也将【HCI UART driver】勾上,再进一步勾选下面的【Intel AG6XX protocol support】。但实际使用时发现,X200的蓝牙适配器的确走的是USB而非UART。若不能确定自己的蓝牙适配器类型,可以一并选上,也不占用太多空间。

上述配置完成后,按左右方向键选择”Save“,保存内核配置,然后选”Exit“退出。使用下面的命令重新编译内核并安装:

重启后,蓝牙功能即被激活。

在内核中启用蓝牙支持,并在系统中安装蓝牙组件后,Deepin发生了翻天覆地的变化。Deepin下蓝牙的体验非常出色。

Blueman管理器默认开机启动,会在托盘区域出现一个蓝牙图标,在其中可以很方便地管理蓝牙设备。

在Blueman管理器中可以搜索到各种蓝牙设备,包括各种手机、电脑,以及笔者的蓝牙耳机。与蓝牙耳机配对后,Deepin即刻将声音通过蓝牙进行播放,无需再进行进一步的配置,尤其方便。此外,Blueman还有其他有趣的玩法,比如文件传输、浏览设备文件,其中对设备文件的浏览功能与当年的MTK功能机类似。

以X200为代表的ThinkPad早期机型有一项设计非常出彩,就是它屏幕下的灯条,系统运行状态一目了然。其中正包括了蓝牙指示灯,当有数据传输时(如正使用蓝牙音频),指示灯会闪烁,如此就能知道蓝牙设备是否正常工作。可谓匠心。

要想让使用Deepin的笔记本支持蓝牙,需要做两项工作——

由此,Deepin下设备的价值就能被进一步挖掘,体验自会更上一层楼。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/6255014.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存