Arquivos do Blog
Teclado Bluetooth no android
Você tem um teclado Bluetooth sobrando ou então comprou uma capa com teclado Bluetooth pro seu tablet android para ajudar na composição de textos e descobriu que não consegue conectar o teclado ao dispositivo e, quando consegue, o teclado não é reconhecido por nenhuma aplicação.
Por que isso ocorre? Má sorte? Inferno astral? Não. Simplesmente a pilha Bluetooth do android não é completa, implementa as funções para fone de ouvido ou head-set, umas coisinhas para transferência de arquivo e acabou.
Para outras funções você depende de aplicativos que fazem a implementação da pilha Bluetooth internamente.
E o teclado? Você tem duas opções: utiliza um app como o Bluekeyboard JP, que é dependente do layout do teclado usado (se seu teclado não usa um layout suportado nem todas as teclas são reconhecidas corretamente) ou usa a força bruta e instala os utilitário Bluetooth do android (sim, existem. Só não são incluídos nos aparelhos).
Esse método exige que seu aparelho seja rooteado. Cada aparelho tem um método próprio e o usuário deve descobrir qual o método para fazer o root em seu aparelho. Alguns aparelhos não possuem método, geralmente por serem muito novos. Nesses casos é preciso paciência e aguardar.
Se seu aparelho tem root, baixe os utilitário Bluetooth desenvolvidos pelo Google. Você vai precisar do hidd, hcitool e hciconfig .
Conecte seu aparelho via USB ao micro, ative a depuração USB e use o adb:
$ su
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
# chmod 777 /system/xbin
Copie os utilitários para o dispositivo:
$ adb push hidd /system/xbin
$ adb push hcitool /system/xbin
$ adb push hciconfig /system/xbin
Ative o bluetooth em seu dispositivo, coloque seu teclado em modo de reconhecimento e mande o dispositivo procurar periféricos.
Selecione o teclado e quando aparecer a janela coloque uma senha qualquer como 0000, 1234 ou 1111. Logo em seguida digite a mesma senha que você escolheu no teclado e aperte a tecla ENTER no teclado.
Siga isso atentamente, pois é mais uma limitação do android. Caso você tenha testado esse teclado no Windows ao ter conectado com o teclado deve ter surgido uma janela com uma sequência de dígitos para serem repetidos no teclado para fazer a sincronização.
O android sempre espera que o dispositivo forneça um PIN. Isso não ocorre com teclados. Então você coloca um PIN qualquer no android e rapidamente repete o mesmo PIN no teclado.
Seu teclado está pareado mas não está conectado.
Agora comece a utilizar os utilitários que você baixou e copiou no seu dispositivo:
Verifique o endereço Bluetooth de seu teclado:
# hcitool scan
Scanning ...
00:1D:4F:A7:9A:49 Bluetooth Keyboard
Conecte ao teclado:
# hidd --connect 00:1D:4F:A7:9A:49
Alguns comando bluetooth úteis:
Verifique o status do adaptador bluetooth do dispositivo:
# hciconfig
hci0: Type: UART
BD Address: 00:22:A5:B8:AD:65 ACL MTU: 1021:4 SCO MTU: 180:4
UP RUNNING PSCAN
RX bytes:8672 acl:98 sco:0 events:285 errors:0
TX bytes:3336 acl:102 sco:0 commands:89 errors:0
# hcitool dev
Devices:
hci0 00:22:A5:B8:AD:65
Conexões bluetooth ativas:
# hcitool con
Connections:
< ACL 00:1D:4F:A7:9A:49 handle 1 state 1 lm MASTER
Esses comandos devem ser digitados pelo adb. Obviamente você também quer fazer isso quando não tem nenhum computador por perto, para isso instale um emulador de terminal em seu dispositivo e digite os comandos diretamente pela linha de comando.