.:: Jorge Pereira ::.

- Linux + HP/Ipaq Bluetooth Foldable Keyboard

Recentemente adquiri um teclado “HP/Ipaq Bluqetooth Folding Keyboard” conforme imagem abaixo.

kbd-01

kbd-02

Fiz várias pesquisas sobre o teclado e seu funcionamento nos Nokia Internet tablets N8xx e assim como outros inúmeros teclados do gênero ele possui um esquema de mapas diferente sendo incompatível com os esquemas de HID convencionais, foi durante a pesquisa que cheguei a um serviço chamado “kbdd“.

O kbdd e um daemon que funciona na camada de usuário “user-space”, sendo responsável pela comunicação atráves da interface serial (over irda/bluetooth/…) do teclado fazendo o intermedio para a camada de input do kernel utilizando o modulo uinput nativo no Kernel, e assim encaminhando as teclas para o S.O.

Ele foi feito direcionado para plataformas móveis como maemo, openmoko, gpe, entre outros. Pois caso você tenha algum teclado do tipo e o esquema de maps dele seja suportado conforme lista descrita no site do kbdd, basta seguir os passos a seguir!

1) Baixe o código a partir do CVS e compile.

[jpereira@jiraya ~]$ mkdir -p ~/tmp/kbdd
[jpereira@jiraya ~]$ cd ~/tmp/kbdd/
[jpereira@jiraya kbdd]$ export CVSROOT=":pserver:anoncvs@anoncvs.handhelds.org:/cvs"
[jpereira@jiraya kbdd]$ cvs login
Logging in to :pserver:anoncvs@anoncvs.handhelds.org:2401/cvs
CVS password: anoncvs
[jpereira@jiraya kbdd]$ cvs co apps/kbdd
[jpereira@jiraya kbdd]$ cd apps/kbdd/
[jpereira@jiraya kbdd]$ make

2) Ative o esquema de “discovery” do teclado, e no Linux inicie a busca pelo dispositivo em seguida atache o endereço MAC do seu teclado bluetooth a uma porta serial e em seguida inicialize o serviço. (Quando pedir a senha do bluetooth, utilize a senha padrão dele “0000″)

[jpereira@jiraya kbdd]$ sudo hcitool scan
Scanning ...
00:0A:3A:06:09:B0       BT-FoldableKB
[jpereira@jiraya kbdd]$ sudo rfcomm bind 0 00:0A:3A:06:09:B0
[jpereira@jiraya kbdd]$ sudo modprobe uinput
[jpereira@jiraya kbdd]$ ./kbdd -p /dev/rfcomm0 -t btfoldable &

OBS: Fiz diversas alterações no kbdd, inclusive adicionei a possibilidade de iniciar o kbdd como daemon, adicionei flag de compilação para o N770, entre outras coisas. Caso queira utilizar a versão alterada basta aplicar este patch. Inclusive conversei  com um dos autores por e-mail que retornou positivamente as melhorias feitas no kbdd, creio que logo mais já vai estar disponível no cvs do projeto tais alterações! Assim que eu receber meu N800 e tiver com tempinho livre vou trabalhar nele para melhorar outras coisas, inclusive a possibilidade de uso do D-bus na comunicação com a parte de input das teclas!

Abaixo segue os passos para caso queira experimentar a versão alterada! :)

[jpereira@jiraya ~]$ mkdir -p ~/tmp/kbdd
[jpereira@jiraya ~]$ cd ~/tmp/kbdd/
[jpereira@jiraya kbdd]$ export CVSROOT=":pserver:anoncvs@anoncvs.handhelds.org:/cvs"
[jpereira@jiraya kbdd]$ cvs login
Logging in to :pserver:anoncvs@anoncvs.handhelds.org:2401/cvs
CVS password: anoncvs
[jpereira@jiraya kbdd]$ cvs co apps/kbdd
[jpereira@jiraya kbdd]$ cd apps/kbdd/
[jpereira@jiraya kbdd]$ wget http://blog.jorgepereira.com.br/wp-content/dist/patchs/kbdd-jorgepereira.patch
[jpereira@jiraya kbdd]$ patch -p0 < kbdd-jorgepereira.patch
[jpereira@jiraya kbdd]$ make HAVE_FORK=1
[jpereira@jiraya kbdd]$ ./kbdd -p /dev/rfcomm0 -t btfoldable -b

6 Comments on “- Linux + HP/Ipaq Bluetooth Foldable Keyboard”

  1. #1 Joao Marcelo
    on May 5th, 2009 at 19:32

    Jorge, muito SHOW está sua dica. Pois possuo um notebook que passou a apresentar defeito nas teclas a algum tempo e instalei o kbdd funcionando perfeitamente com meu teclado do iPAQ!

    Parabéns!

  2. #2 Danilo Cesar
    on May 6th, 2009 at 12:08

    Eu to usando o SU-8W com o N800, mas tive que editar o xkb no braço pra ficar usável com língua tupiniquim.

    Bom saber que tem outras opções…

  3. #3 Jorge Pereira
    on May 6th, 2009 at 12:11

    Pois é cara!

    O Bom do kbdd que você abstrai tudo, e as teclas chega no kernel de forma transparente ja que está tudo sendo encaminhado para o input do kernel!

    []s

  4. #4 Dayvson
    on May 8th, 2009 at 15:28

    Otimo este tutorial pois estava afim de comprar um teclado bluetooth e não sabia se iria pega ou nao no n800 e agora com este tutorial… Parabens pelo tutorial…

  5. #5 Configurar teclado bluetooth com perfil SPP no Nokia N800/N810 « Free Bird
    on Sep 9th, 2009 at 23:32

    [...] blog há uma versão alterada do kbdd e os passos para obter sua última versão com melhorias propostas [...]

  6. #6 Free Bird » Configurar teclado bluetooth com perfil SPP no Nokia N800/N810
    on Nov 7th, 2009 at 17:51

    [...] blog há uma versão alterada do kbdd e os passos para obter sua última versão com melhorias propostas [...]

Leave a Comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">