<?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>Protected * Void &#187; nokia</title>
	<atom:link href="http://labs.danilocesar.com/blog/tag/nokia/feed/" rel="self" type="application/rss+xml" />
	<link>http://labs.danilocesar.com/blog</link>
	<description>Free your code, Free your mind!</description>
	<lastBuildDate>Thu, 03 Nov 2011 17:45:49 +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>Beat Maker &#8211; call for testers</title>
		<link>http://labs.danilocesar.com/blog/2011/01/18/beat-maker-call-for-testers/</link>
		<comments>http://labs.danilocesar.com/blog/2011/01/18/beat-maker-call-for-testers/#comments</comments>
		<pubDate>Tue, 18 Jan 2011 02:00:40 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[musicians]]></category>
		<category><![CDATA[n900]]></category>
		<category><![CDATA[nokia]]></category>

		<guid isPermaLink="false">http://labs.danilocesar.com/blog/?p=121</guid>
		<description><![CDATA[Hello all! I promised this new release for the end of the last year, but I delayed it a bit due some changes in my professional and personal life. Anyway, basically this release is about bug fixing and performance improvement. It&#8217;s using less power now, and playing faster. If you want to try this version, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2011/01/splash.jpg"><img class="alignnone size-medium wp-image-124" title="beat maker" src="http://labs.danilocesar.com/blog/wp-content/uploads/2011/01/splash-300x180.jpg" alt="" width="300" height="180" /></a></p>
<p>Hello all!</p>
<p>I promised this new release for the end of the last year, but I delayed it a bit due some changes in my professional and personal life.</p>
<p>Anyway, basically this release is about bug fixing and performance improvement. It&#8217;s using less power now, and playing faster.</p>
<p>If you want to try this version, you can get the package <a href="http://labs.danilocesar.com/qt/maemo/beat-maker_0.1-1_armel.deb">here</a>.</p>
<p>And bugs reports are always welcome, and needed ;)</p>
<p><em>ps.: I&#8217;m still trying to upload it to OVI, lets see&#8230;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.danilocesar.com/blog/2011/01/18/beat-maker-call-for-testers/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Beat Maker: The drum loop maker written with Qt</title>
		<link>http://labs.danilocesar.com/blog/2010/10/14/beat-maker-a-drum-loop-application-written-with-qt/</link>
		<comments>http://labs.danilocesar.com/blog/2010/10/14/beat-maker-a-drum-loop-application-written-with-qt/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 23:37:11 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[chord]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[musicians]]></category>
		<category><![CDATA[n900]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[openbossa]]></category>

		<guid isPermaLink="false">http://labs.danilocesar.com/blog/?p=86</guid>
		<description><![CDATA[Beat Maker is my &#8220;pet project&#8221; with Allyson Soares at INdT. It is, basically, a drum loop emulator to be used by musicians during practicing sessions. You just need to select the samples, define a BPM value and listen to the rhythm ;) If you can&#8217;t wait for the official release at Ovi Store, you [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.youtube.com/watch?v=Ke0zBk73_Zc"><img title="BeatMaker" src="http://labs.danilocesar.com/blog/wp-content/uploads/2010/10/bm.png" width="400" height="213" /></a></p>
<p><strong>Beat Maker</strong> is my &#8220;pet project&#8221; with Allyson Soares at INdT.</p>
<p>It is, basically, a drum loop emulator to be used by musicians during practicing sessions.</p>
<p>You just need to select the samples, define a BPM value and listen to the rhythm ;)</p>
<p>If you can&#8217;t wait for the official release at Ovi Store, you can try the <a href="http://labs.danilocesar.com/qt/maemo/beat-maker_0.1-1_armel.deb">beta version</a> for n900 devices.</p>
<p>Remember: it&#8217;s a <strong>beta</strong> version of an open source software. The code can be found linked to my <a href="http://gitorious.org/beat-maker">gitorious</a> account.</p>
<p><strong>The technical point of view:</strong></p>
<p>I&#8217;m a little bit disappointed with phonon. After a <a href="http://lists-archives.org/kde-devel/24844-multiple-sounds-with-phonon.html">long discussion</a> I&#8217;ve realized that phonon could not be used on Beat Maker.</p>
<p>At this time I&#8217;m using an approach suggested by <a href="http://atdrez.wordpress.com/">Adriano Rezende</a>: play the sound using pulseaudio&#8217;s API. I know, it&#8217;s not portable. But hey, my target is N900 devices and it worked pretty well at the time.<br />
However, it doesn&#8217;t scale. So, now, I&#8217;m working on a kind of &#8220;in-app-mixer&#8221;, which should solve this problem.</p>
<p>There is another problem, related to QTimer. Qt can&#8217;t guarantee the timing between the beats using QTimer events. Especially when you generate mouse events.  Anyway, the mixer controller loop should solve this as well.</p>
<p>Big thanks to Adriano for the tips, and Allyson who made the excellent UI design.</p>
<p>I hope you enjoy it.<br />
Suggestions are welcome =)</p>
<p>ps.: youtube video bellow<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="390" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/Ke0zBk73_Zc&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="390" src="http://www.youtube.com/v/Ke0zBk73_Zc&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.danilocesar.com/blog/2010/10/14/beat-maker-a-drum-loop-application-written-with-qt/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Symbian, 2D games and Qt Optimization Flags</title>
		<link>http://labs.danilocesar.com/blog/2010/09/19/symbian-2d-games-and-qt-optimization-flags/</link>
		<comments>http://labs.danilocesar.com/blog/2010/09/19/symbian-2d-games-and-qt-optimization-flags/#comments</comments>
		<pubDate>Sun, 19 Sep 2010 20:58:15 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[Symbian]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[QtS60]]></category>

		<guid isPermaLink="false">http://labs.danilocesar.com/blog/?p=51</guid>
		<description><![CDATA[After two and a half years building rich UIs on top of QGraphicsView and trying every kind of exotic flags or approaches to get better performance results on symbian, I&#8217;ve decided to publish some of them which can be useful to game programmers. With a little help of Ademar, we&#8217;ve selected a good use case: [...]]]></description>
			<content:encoded><![CDATA[<p>After two and a half years building rich UIs on top of QGraphicsView and trying every kind of exotic flags or approaches to get better performance results on symbian, I&#8217;ve decided to publish some of them which can be useful to game programmers.</p>
<p>With a little help of <a href="http://www.ademar.org">Ademar</a>, we&#8217;ve selected a good use case: a bouncing game.</p>
<h2>The game</h2>
<p><img class="size-medium wp-image-52 alignleft" style="margin: 2px 20px 2px 2px;" title="ChainReaction" src="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/10_balls-168x300.png" alt="10 balls image of chainreaction game" width="151" height="270" /></p>
<div style="display: block;">
<p>This game is simple: there are some balls running on the screen, and if you press one of them it will explode, and if a red ball touches a exploded ball, it will explode too. However the game logic is not important here.  Lets list some of the characteristics of this game from a developer&#8217;s point of view:</p>
<ul>
<li>Static background.</li>
<li>Balls can be implemented as GraphicsItems.</li>
<li>Red balls are always moving.</li>
<li>Non-exploded ball doesn&#8217;t collide.</li>
<li>List of elements can grow fast.</li>
<li>The items are scattered on the screen</li>
</ul>
</div>
<div style="display: block; clear: both;"><span style="color: #ff6600;"><strong><em>The comments bellow are only valid for the characteristics of a game defined above.</em></strong></span></div>
<h2>The flags</h2>
<p>The flags I want to comment on this post are:</p>
<ul>
<li><a href="http://doc.trolltech.com/4.6/qgraphicsscene.html#ItemIndexMethod-enum">QGraphicsScene::ItemIndexMethod</a></li>
<li><a href="http://doc.trolltech.com/4.6/qgraphicsview.html#OptimizationFlag-enum">QGraphicsView::OptimizationFlags</a></li>
<li><a href="http://doc.trolltech.com/4.6/qgraphicsview.html#ViewportUpdateMode-enum">QGraphicsView::ViewportUpdateMode</a></li>
</ul>
<h2>The results</h2>
<p>* Those tests were performed on a Nokia 5800, type RM-356, with V51.0.006 firmware and Qt 4.6.3.<br />
** The Y axis is measuring FPS: the higher, the better.</p>
<h3>10 elements on the screen</h3>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/bsp-noindex-all.png"><img class="alignnone size-full wp-image-56" title="bsp-noindex-all" src="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/bsp-noindex-all.png" alt="" width="721" height="374" /></a></p>
<p>First of all, I&#8217;ve tried the four ViewportUpdate methods, with 10 items on the screen, and the MinimalViewportUpdate and the SmartViewportUpdate gave me the highest FPS( 34 and 33.5) . Qt documentation shows  <a href="http://doc.trolltech.com/4.6/qgraphicsscene.html#ItemIndexMethod-enum">NoIndex</a> as the best option for dynamic scenes&#8230; well, the difference is small for few items, but it&#8217;s true =)</p>
<p>So, for the other tests, lets use the NoIndex flag.</p>
<h4>What about optimization flags?</h4>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/opt-1.png"><img class="alignnone size-full wp-image-57" title="opt-1" src="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/opt-1.png" alt="" width="575" height="379" /></a></p>
<p>I took two results from the latest test (SmartViewportUpdate and BoundingRectViewportUpdate) and ran it again with two optimizationFlags: <a href="http://doc.trolltech.com/4.6/qgraphicsview.html#OptimizationFlag-enum">QGraphicsView::DontSavePainterState</a> and <a href="QGraphicsView::DontAdjustForAntialiasing">QGraphicsView::DontAdjustForAntialiasing</a>. So, optimizations flags brings us a little bit of improvement when we can control precisely how the items will be drawn.</p>
<h3>20 elements</h3>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/opt-20.png"><img class="alignnone size-full wp-image-58" title="opt-20" src="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/opt-20.png" alt="" width="728" height="375" /></a></p>
<h3>30 elements</h3>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/opt-30.png"><img class="alignnone size-full wp-image-60" title="opt-30" src="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/opt-30.png" alt="" width="723" height="376" /></a></p>
<h3>40 elements</h3>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/opt-40.png"><img class="alignnone size-full wp-image-61" title="opt-40" src="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/opt-40.png" alt="" width="723" height="369" /></a></p>
<h2>Lessons Learned</h2>
<p>It&#8217;s important to select the correct ViewportUpdate method for your kind of scene. It can make the difference.</p>
<p>If there is a lot of dynamic elements, and if they are scattered throughout the scene, it&#8217;s cheaper to paint the whole screen (or, at least, the bounding rect) instead of trying to determinate the affected area.</p>
<p>To be honest I was expecting a better result from FullViewportUpdate, but I believe it would be better than BoundingRect if we use non-static background.</p>
<h2>What if?</h2>
<p>What if I use only one graphicsItem to paint all the balls? What if a ball was not an item but an object with a render method?</p>
<p>I got a little bit surprised, it wasn&#8217;t the result I was expecting &#8211; it&#8217;s worst. It only gets to be better when I put more than 60 items on the screen.</p>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/hack.png"><img class="alignnone size-full wp-image-62" title="hack" src="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/hack.png" alt="" width="521" height="379" /></a></p>
<h2>Will I throw the code in the garbage can?</h2>
<p>No! As the result of the tests and with a creative help of <a href="http://www.naraosga.com">Nara</a> &#8211; INdT designer &#8211; I&#8217;m releasing a playable alpha version of this game, called by Chubba-Lubba.  It&#8217;s not finished, since it&#8217;s still missing the icon, sounds and scores features, but it&#8217;s testable =)</p>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/chubbalubba.png"><img class="alignnone size-medium wp-image-69" title="chubbalubba" src="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/chubbalubba-168x300.png" alt="" width="168" height="300" /></a></p>
<p><a href="http://labs.danilocesar.com/qt/symbian/chubbyluba.sis">Symbian package here!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.danilocesar.com/blog/2010/09/19/symbian-2d-games-and-qt-optimization-flags/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Symbian development using Linux on real life&#8230;</title>
		<link>http://labs.danilocesar.com/blog/2010/05/05/symbian-development-using-linux-on-real-life/</link>
		<comments>http://labs.danilocesar.com/blog/2010/05/05/symbian-development-using-linux-on-real-life/#comments</comments>
		<pubDate>Wed, 05 May 2010 13:30:13 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[Symbian]]></category>
		<category><![CDATA[gnupoc]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[QtS60]]></category>

		<guid isPermaLink="false">http://labs.danilocesar.com/blog/?p=28</guid>
		<description><![CDATA[I believe most companies that develop Symbian products uses windows, and only windows, on their development process. Well&#8230; We don&#8217;t =) When we started to develop symbian applications at INdT we, as open source developers, decided to find a way to keep using linux as our development environment. On the beginning we didn’t have yet an official [...]]]></description>
			<content:encoded><![CDATA[<p>I believe most companies that develop Symbian products uses windows, and only windows, on their development process. Well&#8230; We don&#8217;t =)</p>
<p>When we started to develop symbian applications at <a href="http://www.indt.org.br/">INdT</a> we, as open source developers, decided to find a way to keep using linux as our development environment.<br />
On the beginning we didn’t have yet <a href="http://labs.trolltech.com/blogs/2010/04/21/symbian-development-using-linux/" target="_blank">an official way to compile our applications on linux</a>, so we used (and still use)<a href="http://lizardo.wordpress.com/2010/02/18/installing-qt-for-symbian-sdk-4-6-2-on-linux/" target="_blank"> Lizardo&#8217;s patchs</a> that enables gnupoc to compile Qt-symbian applications on Linux.</p>
<h3>First tip:</h3>
<p>Personally I think finding errors on gnupoc output is an exhaustive job. So, the first tip for those who&#8217;re using Lizardo&#8217;s approach is to use a small piece of code in your <strong>.bashrc</strong></p>
<pre>function makes60
{
  make debug-gcce 2&gt;&amp;1 | while read line
  do
    echo -e $(echo $line |
      sed 's@\\@\\\\@g' |
      sed "s/.*error.*/\\\e[0;31m(&amp;)\\\e[0;31m/I" |
      sed "s/warning/\\\E[33m(&amp;)\\\E[0;37m/gI" |
      sed "s/No such file/\\\E[33m(&amp;)\\\E[0;37m/gI"
      )
  tput sgr0;
done;
}
</pre>
<p><em>By calling <strong>makes60</strong>, every error/warning message will be highlighted in read/yellow.</em><br />
It's a simple tweak, but it is very useful.</p>
<p>So, we can compile our application, easily read the compiler messages... Now what?</p>
<h3>Analyzing the process:</h3>
<p>Let me list our development phases:</p>
<ul>
<li> <span style="color: #339966;">Coding: OK </span>with vim</li>
<li> <span style="color: #339966;">Compiling: OK</span> with gcce and some tweaks</li>
<li> <span style="color: #c1c100;">Debugging:</span> (As we work almost only with default Qt API, we build for linux first and debug there). So, it's almost OK.</li>
<li> <span style="color: #339966;">Packaging .sis</span>: OK with make sis</li>
<li> <span style="color: #ff0000;">Send to device, install and test</span>: It's a slow process yet.</li>
</ul>
<p>Testing on the device is a very difficult/slow task on linux. We don't have a debugger.  We don't even have any output message (Ok, we have: with <a href="http://developer.symbian.org/wiki/index.php/Platform_Opening/Did_You_Know%3F/P.I.P.S.#The_stdio_Subsystem_.28libc.29" target="_blank">stdioserver</a> writing on an txt file. Too hard!).</p>
<p>How does it works for Windows developers? <a href="http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/IDEs/Carbide.c++/" target="_blank">Carbide++</a> and TRK!</p>
<p>Of course we don't want to install Carbide++ on linux. So, can we use TRK with linux? Yes, we can! First of all you need to get the TRK application in <a href="http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/IDEs/Carbide.c++/" target="_blank">Carbide++</a> package or in newly released <a href="http://conversations.nokia.com/2010/04/27/nokia-rolls-out-qt-sdk-for-unified-mobile-developer-experience/" target="_blank">Nokia SDK</a>.</p>
<h3>Installing TRK:</h3>
<ol>
<li>Send and execute TRK.sis on the device.</li>
<li>Open TRK application / Options / Settings,  and select <strong>Connection = USB </strong>instead of bluetooth.</li>
<li>Go to TRK mainscreen / Options / Connect.</li>
</ol>
<p>If your USB cable is plugged you will receive a "<strong>Status: Connected</strong>" message on your phone.</p>
<p>Now you need to create a serial connection between the device and your linux machine. If you're using a 2.6.33 kernel you don't need to do that. Otherwise you need to create it manually.</p>
<p>Before you do that you need some information about the device. It can be retrieved with:</p>
<pre>[danilo@docbrown ~]$ lsusb  | grep Nokia
Bus 001 Device 011: ID <strong>0421:0154</strong> Nokia Mobile Phones</pre>
<p>So, <strong>my</strong> vendor ID is <strong>0421</strong>, and my product ID is <strong>0154</strong>.  <span style="color: #ff0000;">Remember to use your own numbers</span> =)<br />
And then you can load the usbserial mobule with the command:</p>
<pre>sudo modprobe usbserial vendor=0x0<strong>421</strong> product=0x<strong>0154</strong></pre>
<p>If everything went OK you should see a message like this:</p>
<pre>[danilo@docbrown ~]$ dmesg | grep ttyUSB
[34063.949446] usb 1-4.3.1.4: generic converter now attached to ttyUSB0</pre>
<p>Your serial port was created on /dev/ttyYSB0.</p>
<p>Ok, perfect! But how to communicate with TRK?</p>
<p>Trolls are working on that, but for now we&#8217;re using the <a href="http://qt.gitorious.org/qt/qt/trees/4.7/tools/runonphone">runonphone</a> tool. It&#8217;s the same tool used by QtCreator on Windows and you can get it by cloning <a href="http://qt.gitorious.org/qt" target="_blank">Qt Repository</a> and compiling the /tools/runonphone folder.</p>
<h3>On device testing</h3>
<p>After compiled, runonphone can be used by passing the serial port, the sis package and the executable file to it.<br />
<em>runonphone -p /dev/ttyUSB0 -s test_package.sis test_package.exe</em></p>
<p>As you probably noticed all your qWarning() messages are being redirected to runonphone output. Which is very nice!</p>
<p><strong>On device debugging</strong></p>
<p>We don&#8217;t have an interative gdb tool as we have on windows, but Qt guys are close and I&#8217;m sure we will have good news in a few days.</p>
<h3>Concluding</h3>
<p>I&#8217;m sure that Symbian development on Linux is near, and it will be massively adopted when those tools became part of QtCreator for linux. For those who can&#8217;t wait, or think that VIM is the best IDE ever, I hope those tips can help you. =)</p>
<p>And for those who&#8217;re working with Qt for symbian, remember to join the <strong>#qt-symbian</strong> on <strong>Freenode</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.danilocesar.com/blog/2010/05/05/symbian-development-using-linux-on-real-life/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>SU-W8 accents on N800.</title>
		<link>http://labs.danilocesar.com/blog/2008/06/30/su-w8-accents-on-n800/</link>
		<comments>http://labs.danilocesar.com/blog/2008/06/30/su-w8-accents-on-n800/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 05:10:39 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[accents]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[su8w]]></category>

		<guid isPermaLink="false">http://labs.danilocesar.com/blog/?p=16</guid>
		<description><![CDATA[I was wondering why my SU-8W BT keyboard doesn&#8217;t work well with pt_BR layout. So, yesterday, I decided to investigate this. When I was trying to pairing my keyboard, I could see that Su-8W is a pre-configurated keyboard, and with a little of patience, I dicovered the file who manages this: /usr/share/X11/xkb/symbols/nokia_vndr/su-8w. With 5 minutes [...]]]></description>
			<content:encoded><![CDATA[<p>I was wondering why my SU-8W BT keyboard <a href="http://zyakannazio.eti.br/fudeblog/2007/04/29/sem-acento/" target="_blank">doesn&#8217;t work well with pt_BR layout</a>. So, yesterday, I decided to investigate this.</p>
<p>When I was trying to pairing my keyboard, I could see that Su-8W is a pre-configurated keyboard, and with a little of patience, I dicovered the file who manages this: <code>/usr/share/X11/xkb/symbols/nokia_vndr/su-8w.</code></p>
<p>With 5 minutes by reading this file you can be familiarized with file syntax. And, with 10 minutes, you can note that <strong>THERE IS NOT A LAYOUT DEFINITION FOR PORTUGUESE/SPANISH</strong>. So, now I know why the Portuguese layout doesn&#8217;t work =).</p>
<p>But, Ok. Lets try to fix it.</p>
<p>If I select portuguese layout, and there is no portuguese layout, I assume that it&#8217;ll use <strong>us-intl</strong>, right? But, in the begining of the intl definition exists a anoying comment: &#8220;I can&#8217;t belive! It&#8217;s not intl&#8221;. Hummm&#8230;</p>
<p>Lets ignore this, and go on&#8230; What do I need? Dead_keys in <code>`,~,",',^</code>, and ç when I press &#8220;ALTgr + c&#8221;.</p>
<p>I&#8217;ll not explain all the changes I did (it&#8217;s not too much, just 4 boring lines), is easier to download and replace the old file by <a href="http://labs.danilocesar.com/maemo/keyboard/su-8w" target="_blank">this one</a>, or see the diff. <strong>[ADVISE: DO NOT FORGET TO BACKUP THE OLD FILE]</strong></p>
<p><strong></strong> <a href="http://labs.danilocesar.com/blog/wp-content/uploads/2008/06/dsc01622.jpg"><img class="alignnone size-medium wp-image-17" title="SU-8W Working" src="http://labs.danilocesar.com/blog/wp-content/uploads/2008/06/dsc01622-300x225.jpg" alt="Su-8W Working" width="300" height="225" /></a></p>
<p>And Voilà, Accents and Cedilla working like a charm.</p>
<p>The right workaround for it is create a valid portuguese layout, but just for testing proposes you can alter the intl layout.</p>
<p>Ok, that is it,</p>
<p>Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.danilocesar.com/blog/2008/06/30/su-w8-accents-on-n800/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

