我的戴尔笔记本电脑与 ubuntu 和微软之间存在一些误解键盘. 使用默认蓝牙软件时,可以找到键盘,但蓝牙管理器配对完成并显示“无法连接”消息。
Blueman 检测到键盘,但无法连接。
但是,这个命令序列不需要任何密码就可以连接它:
hcitool scan
sudo hidd --connect 00:12:A1:63:34:6E
然而,即使在这种情况下,闲置 15 分钟后,键盘也会切换到睡眠模式,并且无法正确重新连接。
另一方面,此键盘成功连接到我的所有 Android 设备。在这种情况下,我有以下连接流程:
- 在找到的设备列表中选择键盘设备
- android 设备生成唯一密码(例如 6789)
- 使用键盘按键输入密码后,设备配对
在我看来,连接到笔记本电脑时应该发生类似的事情。
因此,如果您知道任何解决此问题的方法,而无需成为蓝牙黑客并修补蓝牙堆栈,我将不胜感激。
答案1
您通过您的线程帮助我让键盘正常工作,因此我将分享我的快速(可能不太好)解决方法,如何避免 15 分钟空闲问题,也许对任何人都有用。
基本上,我创建了一个小脚本,如果键盘尚未连接,它将每 5 秒尝试建立与键盘的连接。
脚本如下:
#!/bin/bash
DEVICE_ID=7C:1E:52:A9:B5:B6
SHOW_OUTPUT=$(hidd --show)
echo ${SHOW_OUTPUT}
if [[ $SHOW_OUTPUT == *connected* ]]
then echo "MS Sculp Keyboard is already connected."
else
# try to connect the device:
CONNECT_OUTPUT=$(hidd --connect ${DEVICE_ID})
if [[ $CONNECT_OUTPUT == *down* ]]
then
echo "Device cannot be reached, maybe it is deactivated."
fi
#
# check if the device was connected successfully:
#
SHOW_OUTPUT=$(hidd --show)
if [[ $SHOW_OUTPUT == *connected* ]]
then
echo "The device was connected successfully."
fi
fi
sleep 5
exec $0
DEVICE_ID 必须替换为从 hcitool -scan 获得的 id。我在启动系统时使用 cronjob 来启动脚本。我在文本编辑器中打开了 cron 表,使用
sudo crontab-e
并添加了以下行:
@reboot /usr/local/bin/establishMSSculpKeyboard.sh
到表中,其中establishMSSculpKeyboard.sh是脚本的名称,我将其复制到文件夹中
在/usr/本地/bin
谨致问候,aUser