<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>.:: Jorge Pereira ::. &#187; N800/N810</title>
	<atom:link href="http://blog.jorgepereira.com.br/category/linux/n800n810/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.jorgepereira.com.br</link>
	<description>"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity."</description>
	<lastBuildDate>Thu, 25 Aug 2011 03:05:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>- Linux + HP/Ipaq Bluetooth Foldable Keyboard</title>
		<link>http://blog.jorgepereira.com.br/2009/05/05/linux-keyboard-hpipaq-bluetooth-foldable-keyboard/</link>
		<comments>http://blog.jorgepereira.com.br/2009/05/05/linux-keyboard-hpipaq-bluetooth-foldable-keyboard/#comments</comments>
		<pubDate>Tue, 05 May 2009 05:24:27 +0000</pubDate>
		<dc:creator>jpereira</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[N800/N810]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[kbdd]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[maemo]]></category>
		<category><![CDATA[n800]]></category>

		<guid isPermaLink="false">http://blog.jorgepereira.com.br/?p=761</guid>
		<description><![CDATA[Recentemente adquiri um teclado &#8220;HP/Ipaq Bluqetooth Folding Keyboard&#8221; conforme imagem abaixo. 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 [...]]]></description>
			<content:encoded><![CDATA[<p>Recentemente adquiri um teclado &#8220;HP/Ipaq Bluqetooth Folding Keyboard&#8221; conforme imagem abaixo.</p>
<p><img class="aligncenter size-full wp-image-765" title="kbd-01" src="http://blog.jorgepereira.com.br/jorge/wp-content/uploads/2009/05/kbd-01.jpg" alt="kbd-01" width="400" height="300" /></p>
<p><img class="aligncenter size-full wp-image-766" title="kbd-02" src="http://blog.jorgepereira.com.br/jorge/wp-content/uploads/2009/05/kbd-02.jpg" alt="kbd-02" width="400" height="300" /></p>
<p>Fiz várias pesquisas sobre o teclado e seu funcionamento nos <em>Nokia Internet tablets N8xx</em> 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 &#8220;<a href="http://www.handhelds.org/moin/moin.cgi/kbdd" target="_blank">kbdd</a>&#8220;.</p>
<p>O <a href="http://www.handhelds.org/moin/moin.cgi/kbdd" target="_blank"><em>kbdd</em></a> e um <em>daemon</em> que funciona na camada de usuário &#8220;user-space&#8221;, sendo responsável pela comunicação atráves da interface serial (<em>over irda/bluetooth/&#8230;</em>) 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.</p>
<p>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 <em>maps</em> dele seja suportado conforme lista descrita no site do <a href="http://www.handhelds.org/moin/moin.cgi/kbdd" target="_blank"><em>kbdd</em></a>, basta seguir os passos a seguir!</p>
<p>1) Baixe o código a partir do CVS e compile.</p>
<pre><strong>[jpereira@jiraya ~]$</strong> mkdir -p ~/tmp/kbdd
<strong>[jpereira@jiraya ~]$</strong> cd ~/tmp/kbdd/
<strong>[jpereira@jiraya kbdd]$</strong> export CVSROOT=":pserver:anoncvs@anoncvs.handhelds.org:/cvs"
<strong>[jpereira@jiraya kbdd]$</strong> cvs login
Logging in to :pserver:anoncvs@anoncvs.handhelds.org:2401/cvs
CVS password: anoncvs
<strong>[jpereira@jiraya kbdd]$</strong> cvs co apps/kbdd
<strong>[jpereira@jiraya kbdd]$</strong> cd apps/kbdd/
<strong>[jpereira@jiraya kbdd]$</strong> make</pre>
<p>2) Ative o esquema de &#8220;discovery&#8221; 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 &#8220;0000&#8243;)</p>
<pre><strong>[jpereira@jiraya kbdd]$</strong> sudo hcitool scan
Scanning ...
00:0A:3A:06:09:B0       BT-FoldableKB
<strong>[jpereira@jiraya kbdd]$</strong> sudo rfcomm bind 0 00:0A:3A:06:09:B0
<strong>[jpereira@jiraya kbdd]$ </strong>sudo modprobe uinput
<strong>[jpereira@jiraya kbdd]$</strong> ./kbdd -p /dev/rfcomm0 -t btfoldable &amp;</pre>
<p>OBS: Fiz diversas alterações no <a href="http://www.handhelds.org/moin/moin.cgi/kbdd" target="_blank"><em>kbdd</em></a>, inclusive adicionei a possibilidade de iniciar o <a href="http://www.handhelds.org/moin/moin.cgi/kbdd" target="_blank"><em>kbdd</em></a> como <em>daemon</em>, adicionei flag de compilação para o N770, entre outras coisas. Caso queira utilizar a versão alterada basta aplicar este <a href="http://blog.jorgepereira.com.br/wp-content/dist/patchs/kbdd-jorgepereira.patch">patch</a>. Inclusive conversei  com um dos autores por e-mail que retornou positivamente as melhorias feitas no <a href="http://www.handhelds.org/moin/moin.cgi/kbdd" target="_blank"><em>kbdd</em></a>, 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 <em>input</em> das teclas!</p>
<p>Abaixo segue os passos para caso queira experimentar a versão alterada! <img src='http://blog.jorgepereira.com.br/jorge/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre><strong>[jpereira@jiraya ~]$</strong> mkdir -p ~/tmp/kbdd
<strong>[jpereira@jiraya ~]$</strong> cd ~/tmp/kbdd/
<strong>[jpereira@jiraya kbdd]$</strong> export CVSROOT=":pserver:anoncvs@anoncvs.handhelds.org:/cvs"
<strong>[jpereira@jiraya kbdd]$</strong> cvs login
Logging in to :pserver:anoncvs@anoncvs.handhelds.org:2401/cvs
CVS password: anoncvs
<strong>[jpereira@jiraya kbdd]$</strong> cvs co apps/kbdd
<strong>[jpereira@jiraya kbdd]$</strong> cd apps/kbdd/
<strong>[jpereira@jiraya kbdd]$</strong> wget http://blog.jorgepereira.com.br/wp-content/dist/patchs/kbdd-jorgepereira.patch
<strong>[jpereira@jiraya kbdd]$</strong> patch -p0 &lt; kbdd-jorgepereira.patch
<strong>[jpereira@jiraya kbdd]$</strong> make HAVE_FORK=1
<strong>[jpereira@jiraya kbdd]$</strong> ./kbdd -p /dev/rfcomm0 -t btfoldable -b</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgepereira.com.br/2009/05/05/linux-keyboard-hpipaq-bluetooth-foldable-keyboard/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

