Ubuntu 12.04 和 Microsoft Sculpt 键盘

Ubuntu 12.04 和 Microsoft Sculpt 键盘

我的戴尔笔记本电脑与 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

相关内容