Configurar teclado bluetooth com perfil SPP no Nokia N800/N810

Nokia N800 usado em conjunto com o teclado bluetooth MSI BK-100
A vontade de aproveitar o teclado MSI BK-100 e fazer melhor uso do N800 me fez procurar uma forma utilizá-los em conjunto. O teclado era usado com um aparelho com Windows Mobile e ficou inutilizado desde que este foi vendido.
Originalmente ele veio com drivers para o Windows Mobile e Symbian e funcionava bem com dispositivos com esses sistemas operacionais. No entanto, não existia qualquer indicação sobre como usar o teclado com o Maemo. Um dos problemas para conseguir utilizá-lo em aparelhos diferentes é o fato de ele trabalhar com o perfil SPP.
Teclados com perfil SPP (Serial Port Profile), em geral, apresentam um processo um pouco mais trabalhoso para poderem ser reconhecidos e utilizados, ao contrário daqueles que possuem o perfil HID (Human Interface Device Profile). Enquanto o perfil SPP emula uma comunicação serial entre dispositivos, utilizando bluetooth, o perfil HID usa a definição de HID do USB e se beneficia da capacidade que este padrão tem de reconhecer os tipos de dispositivos.
A solução encontrada para utilizar o MSI BK-100 no N800 foi utilizar o kbdd o qual, essencialmente, é um driver para teclados seriais e bluetooth com perfil SPP. A proposta deste post é mostrar como utilizar esse driver para conseguir usar teclados bluetooth com o perfil SPP no N800 e N810.
Cortando o blábláblá inicial, atualmente é possível encontrar diferentes teclados bluetooth com o perfil SPP à venda (novos e usados). Muitos dos teclados apresentam um custo menor com relação a teclados com o perfil HID, como o Nokia SU-8W.
Teclados bluetooth suportados pelo kbdd
A lista de teclados que são suportados pelo kbdd é ampla e inclui modelos que ainda são encontrados no mercado (mesmo usados), como:
- Freedom Keyborard
- MSI BK-100
- Smart Bluetooth Keyboard
- IGO Stowaway XT ou Think Outside
- HP/Compaq Foldable Keyboard
Processo de configuração
1. Fazer o download do arquivo kbdd.tar.gz
Com o arquivo salvo, é possível fazer as alterações no computador ou diretamente no N800. Para a segunda opção, extraia seu conteúdo e coloque na pasta desejada no dispositivo. Para exemplificar o processo, o arquivo foi salvo na pasta Documentos/Programas (internamente corresponde a /home/user/MyDocs/Programas).
Caso o arquivo kbdd.tar.gz tenha sido salvo no próprio aparelho, é possível fazer sua extração pelo terminal:
cd /home/user/MyDocs/Programas tar -vzxf kbdd.tar.gz
Com isso foi criada uma pasta /home/user/MyDocs/Programas/kbdd que contém o conteúdo extraído.
2. Encontrar o endereço do teclado bluetooth
Uma das informações necessárias ao kbdd é o endereço do teclado bluetooth. Há diversas formas de encontrá-lo:
No Maemo (usando o N800/N810):
- Entre na pasta com o conteúdo do arquivo kbdd, no exemplo a pasta /home/user/MyDocs/Programas/kbdd
- Ligue o teclado e deixe-o em modo de descoberta
- Execute os comandos
cd /home/user/MyDocs/Programas/kbdd ./btkbd scan
- Como resultado deve ser exibido algo como:
Root shell enabled
00:00:00:00:00:00 BT-FoldableKB - O teclado foi encontrado. Guarde o nome da pasta no formato 00:00:00:00:00:00.
No Ubuntu:
- Ligue o teclado e deixe-o em modo de descoberta
- Abra o terminal
- Digite:
hcitool scan
-
Scanning …
00:00:00:00:00:00 BT-FoldableKB - Copie o endereço que aparece no formato 00:00:00:00:00:00 e guarde-o para o próximo passo.
No Windows XP:
- Em My Bluetooth Places, escolha a opção Search for devices in range
- Ligue o teclado e deixe-o em modo de descoberta
- Ao aparecer a opção BT-FoldableKB clique com o botão direito e em Properties.
- Devem ser exibidas informações como:
BT-FoldableKB
Type Unknown:Major(31), Minor(0)
Device Address 00:00:00:00:00:00 - Copie o endereço que aparece no formato 00:00:00:00:00:00 e guarde-o para o próximo passo.
No MacOS:
- Aguardando a Apple enviar um MacBook Air para testes.
3. Modificar arquivo de configuração com as informações do teclado
Acesse o arquivo btkbd.conf que está pasta kbdd extraída anteriomente. No N800, abra o arquivo btkbd.conf em um editor de texto (vi ou PyGTKEditor, por exemplo)
- Para abrir o arquivo em modo de edição é preciso ter acesso como root:
root pygtkeditor /home/user/MyDocs/Programas/kbdd/btkbd.conf
O conteúdo original do arquivo é este:
#BDADDR="00:0F:6F:00:93:07" #KBTYPE=btfoldable #PORTNUM=8 #not needed for OS2008 DEBUG=no #yes #KEYREPEAT_DELAY=600 # delay before first key repeat (in miliseconds) #KEYREPEAT_PERIOD=80 # repeat speed
Altere-o de forma a ficar da seguinte forma:
BDADDR="00:0F:6F:00:93:07" KBTYPE=btfoldable #PORTNUM=8 #not needed for OS2008 DEBUG=no #yes #KEYREPEAT_DELAY=600 # delay before first key repeat (in miliseconds) #KEYREPEAT_PERIOD=80 # repeat speed
As alterações consistem em retirar os #’s que aparecem antes de BDADDR e KBTYPE.
Para saber qual valor deve ser atribuído ao KBTYPE é preciso verificar o modelo na tabela disponível em http://www.handhelds.org/moin/moin.cgi/kbdd#keyboards
O teclado utilizado para os testes foi o MSI BK-100, equivalente ao HP/Ipaq Bluetooth Foldable Keyboard. Por essa razão foi utilizado o código btfoldable.
A última modificação que deve ser feita no arquivo consiste no valor de BDADDR. O valor é o endereço de formato 00:00:00:00:00:00, recuperado anteriormente. Basta substituir o valor original do arquivo pelo valor obtido.
Salve as modificações feitas no arquivo.
4. Executar o programa e parear o teclado
Agora tudo está pronto para usar o teclado com o N800. Tenha a certeza de que o teclado não esteja na lista de dispositivos já registrados (pareados) com bluetooth. Se já estiver, basta remover.
Ligue o teclado bluetooth, entre na pasta do conteúdo descompactado do kbdd.tar e execute o arquivo btkbd, com os comandos:
cd /home/user/MyDocs/Programas/kbdd ./btkb
O sistema deve reconhecer o teclado e solicitar o código. Neste momento informe: 0000. O teclado estará pronto para uso.
Considerações finais
Nos testes realizados o teclado ficou configurado com o padrão inglês internacional, como é comum em notebooks importados. Os caracteres correspondem às teclas e os acentos podem ser combinados com as letras.
Neste blog há uma versão alterada do kbdd e os passos para obter sua última versão com melhorias propostas pelo autor.
Referências
- Kbdd 1
- Kbdd 2
- Tutorial Kbdd 1l
- Tutorial Kbdd 2
- Bluetooth Profiles
- Bluetooth 1.2
- HID



Olá!
Valeu pela referencia, e parabens pelo tutorial!
[]s
[Translate]
Jorge,
Eu que agradeço. Achei a contribuição dada ao código bem relevante e dá um exemplo de como é importante fazer isso. As definições técnicas foram, sem dúvida, melhor explicadas em seu post, o que foi mais um motivo para referenciá-lo.
[Translate]