Normalmente, se você esperar um momento quando o MAC aparecer, ele será substituído pelo nome do dispositivo.
Pelo menos é assim que acontece no meu sistema.
Muitos teclados e dispositivos pequenos têm como padrão '0000' como PIN, e o sistema tenta isso automaticamente em muitos casos. Tem certeza de que o teclado não está conectado? Experimente.
EDITAR:
Eu tirei isso de outra das minhas respostas sobre a obtenção de um teclado BT para emparelhar antes do login, pode ser útil para você também. Eu usei um monte quando o sistema de emparelhamento BT no KDE parecia não funcionar corretamente (nunca aceitaria o PIN ... hmmm, soa familiar?) (Uma atualização posterior finalmente corrigiu, agora funcionando corretamente)
Em unix.SE: ' como obter meu teclado bluetooth para ser reconhecido antes do login '
Ocasionalmente, uso o seguinte script para adicionar teclados bluetooth aos meus sistemas, adiciona-o no nível do sistema, em vez de no nível do usuário, o que parece fazer as coisas funcionarem bem na inicialização e meu (s) teclado (s) pode ser usado a partir do prompt de login.
Como escrito, você precisará do pacote bash (v4.0 +, esperançosamente) e do bluez , que fornece o bluez-simple-agent , bluez -test-device , programas blue-test-input .
A maior parte do código abaixo é para implementar uma lista para permitir que você escolha qual dispositivo, ele realmente só se resume às últimas 6 linhas (sem comentários), se você conhece o seu endereço MAC BT, você pode substituir todos os material de escolha com uma atribuição estática.
#!/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"