苹果蓝牙键盘

ffl*_*ing 6 fedora keyboard bluetooth gnome3 apple

我有一个 Apple 蓝牙键盘,想在 Fedora 15 上使用它。

我打开了两个设备上的蓝牙。通过 Gnome3 的 GUI 单击“设置新设备”。计算机检测到键盘,但显示的是 MAC 地址类型的数字格式而不是名称。选择后,我无法继续进行设置,即它不会进入要求输入 PIN 以连接设备的阶段。

它可以与朋友的 iPad 和我自己的 Windows 完美配合。所以键盘本身似乎没有任何问题。

我对蓝牙设备没有太多经验,似乎没有关于该主题的 Fedora 特定帖子,Ubuntu 论坛解决方案似乎对我不起作用。


我知道这个问题很模糊,但我不知道我还能发布什么来帮助读者。

因此,如果需要任何进一步的信息,请索取,我会尽快发布相同的信息。

lor*_*nix 1

通常,如果您在 MAC 显示时稍等片刻,它会将其替换为设备的名称。

至少在我的系统上是这样的。

许多键盘和小型设备默认使用“0000”作为 PIN,并且在许多情况下系统会自动尝试该密码。您确定键盘没有连接吗?尝试一下。


编辑:

我从另一个关于登录前配对 BT 键盘的答案中提取了这一点,它可能对您也有帮助。当 KDE 中的 BT 配对系统似乎无法正常工作时,我经常使用它(永远不会接受 PIN...嗯,听起来很熟悉?)(后来的更新终于修复了它,现在可以正常工作了)

来自 unix.SE:“如何在登录前识别我的蓝牙键盘


我偶尔使用以下脚本将蓝牙键盘添加到我的系统中,它在系统级别而不是用户级别添加它,这似乎使事情从启动就可以正常工作,并且我的键盘可以从登录中使用迅速的。

正如所写,您将需要 bash (希望是 v4.0+)和bluez软件包,它提供bluez-simple-agentbluez-test-devicebluez-test-input程序。

下面的大部分代码是实现一个列表,让您选择哪个设备,它实际上只是归结为最后 6 行(非注释),如果您知道您的 BT MAC 地址,您可以将所有选择的内容替换为静态分配。

#!/bin/bash
#
# L Nix <lornix@lornix.com>
# setup-bt-kb : allow choosing & pairing a bluetooth keyboard from the console
#
declare -a addrlist
#
while [ 1 ]; do
    echo -n "Scanning for Bluetooth devices ... "
    readarray -n 10 -O 0 -t addrlist < <(hcitool scan|grep -v "^Scanning"|sed -e "s/^[ \t]//g" -e "s/\t/ /g" | head -n 9)
    echo
    echo
    length=${#addrlist[@]}
    a=1
    while [ ${a} -le ${length} ]; do
        echo "$a) ${addrlist[$a-1]}"
        a=$((a + 1))
    done
    echo
    while [ 1 ]; do
        if [ ${length} -gt 0 ]; then
            echo -n "Choose (1-${length}), or "
        fi
        echo -n "'R' to rescan: "
        read -n 1 REPLY
        echo
        case ${REPLY} in
            Q)
                # just quit
                exit 0
                ;;
            [0rR])
                echo
                REPLY=0
                break
                ;;
            [123456789])
                if [ ${REPLY} -le ${length} ]; then
                    echo "Got ${REPLY}"
                    break
                fi
                ;;
            *)
                ;;
        esac
    done
    if [ ${REPLY} -gt 0 ]; then
        break
    fi
done
#
device=${addrlist[${REPLY}-1]}
#
BTADDR=${device/% *}
BTNAME=${device/#??:??:??:??:??:?? }
#
echo "selecting '${BTNAME}' at ${BTADDR}"
#
echo "Pairing with ${BTNAME} (Generally '0000')"
bluez-simple-agent hci0 ${BTADDR}
#
echo "Setting trust level with ${BTNAME}"
bluez-test-device trusted ${BTADDR} yes
#
echo "Connecting to ${BTNAME}"
bluez-test-input connect ${BTADDR}
#
echo "Completed"
Run Code Online (Sandbox Code Playgroud)