로그인하기 전에 Bluetooth 키보드를 어떻게 식별합니까?

로그인하기 전에 Bluetooth 키보드를 어떻게 식별합니까?

로그인하려면 키보드를 사용해야 하기 때문에 키보드가 자동으로 페어링되어 사전 로그인되도록 하고 싶습니다.

저는 Debian squeeze를 사용하고 있으며 Linux를 처음 사용합니다. 내가 찾은 모든 튜토리얼에는 현재 데비안 릴리스에서 더 이상 사용되지 않는 HIDD 패키지가 필요한 것 같습니다.

apt-get install은 저장소 응답에서 찾을 수 없는 패키지를 반환합니다.

누구든지 이 문제에 대한 해결책을 갖고 있습니까?

중요한 경우에는 Raspberry Pi와 Apple Bluetooth 키보드/매직 트랙패드에서 Debian Squeeze를 사용하고 있습니다.

답변1

나는 때때로 다음 스크립트를 사용하여 내 시스템에 Bluetooth 키보드를 추가합니다. 사용자 수준 대신 시스템 수준에서 추가하므로 부팅 시 문제가 잘 작동하고 내 키보드는 로그인 시 즉시 사용할 수 있습니다.

작성된 대로 bash(v4.0+가 바람직함)가 필요하고브루스패키지로 제공됩니다bluez-간단한 프록시,블루즈 테스트 장비,bluez - 테스트 입력프로그램.

아래 코드의 대부분은 어떤 장치를 선택할 수 있는 목록을 구현하고 있으며 실제로는 마지막 6줄(주석 아님)로 요약됩니다. BT MAC 주소를 알고 있으면 모든 선택 항목을 정적 할당으로 바꿀 수 있습니다.

#!/bin/bash
#
# L Nix <[email protected]>
# 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"

관련 정보