<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>xmodmap &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/xmodmap/</link>
	<description>Feed of posts on WordPress.com tagged "xmodmap"</description>
	<pubDate>Fri, 25 Dec 2009 18:34:59 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Keyboard mapping]]></title>
<link>http://otis80hobson.wordpress.com/2009/12/23/keyboard-mapping/</link>
<pubDate>Wed, 23 Dec 2009 21:56:21 +0000</pubDate>
<dc:creator>tuh</dc:creator>
<guid>http://otis80hobson.wordpress.com/2009/12/23/keyboard-mapping/</guid>
<description><![CDATA[Cheese and rice.  That&#8217;s all i can say.  Anyone who works with me knows what this is about, so]]></description>
<content:encoded><![CDATA[Cheese and rice.  That&#8217;s all i can say.  Anyone who works with me knows what this is about, so]]></content:encoded>
</item>
<item>
<title><![CDATA[Xmodmap and "XKB: Couldn't compile keymap"]]></title>
<link>http://linuxcritic.wordpress.com/2009/10/19/xmodmap-and-xkb-couldnt-compile-keymap/</link>
<pubDate>Tue, 20 Oct 2009 03:30:32 +0000</pubDate>
<dc:creator>Patrick</dc:creator>
<guid>http://linuxcritic.wordpress.com/2009/10/19/xmodmap-and-xkb-couldnt-compile-keymap/</guid>
<description><![CDATA[A while ago when I upgraded my distribution, several keys went wonky on me and ceased functioning ac]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>A while ago when I upgraded my distribution, several keys went wonky on me and ceased functioning according to my wishes. It was a minor inconvenience to have things like the Caps Lock key become enabled again.  So I pecked around at fixing it here and there, but never really put in much thought or effort until today.</p>
<p>I remap my keys with the /etc/X11/xinit/.Xmodmap (aka ~/.Xmodmap) file.  The problem was my .Xmodmap was borking when X started, so no remappings were taking place.  (If one part of .Xmodmap fails, they all fail.)  In my /var/log/Xorg.0.log I found this:</p>
<blockquote><p><code><br />
(EE) Error compiling keymap (server-0)<br />
(EE) XKB: Couldn't compile keymap<br />
(WW) Couldn't load XKB keymap, falling back to pre-XKB keymap<br />
</code></p></blockquote>
<p>And in the output from X &#8211; apparently from the keymap compiler (xkbcomp) &#8211; were repeated warnings/errors like this:</p>
<blockquote><p><code><br />
Warning:&#160;&#160;&#160;Duplicate shape name ""<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Using last definition<br />
Error:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Section defined without a name<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Definition ignored<br />
Warning:&#160;&#160;&#160;Multiple doodads named ""<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Using first definition<br />
</code></p></blockquote>
<p><!--more--></p>
<p>With a little googling I came across <a href="http://mail-index.netbsd.org/current-users/2008/12/01/msg006394.html">this thread</a> which gave some insight, but was of little help in fixing the problem.  <a href="http://bbs.archlinux.org/viewtopic.php?id=54015">This Arch Linux forum thread</a> has several people using various remapping methods reporting the same error.  The thread is marked &#8220;Solved,&#8221; however, the fixes suggested had no effect on my situation.  Daedalus&#8217; suggestion of using the &#8220;keyboard&#8221; driver did manage to provide me with more helpful error messages that pointed out line numbers.  This indicated my Caps_Lock remapping was the culprit.</p>
<p>I quit searching on the error messages and began learning more about xmodmap.  I didn&#8217;t read anything of much use, but I did come across some examples of xmodmap commands I had never used before.  I have always used the &#8216;clear&#8217; and &#8216;keycode&#8217; commands to disable Caps_Lock and assign different functions to keys, like this:</p>
<blockquote><p><code><br />
clear Lock<br />
keycode 66 = Tab<br />
</code></p></blockquote>
<p>What I found was the use of the &#8216;remove&#8217; and &#8216;keysym&#8217; commands to do the same thing:</p>
<blockquote><p><code><br />
remove Lock = Caps_Lock<br />
keysym Caps_Lock = Tab<br />
</code></p></blockquote>
<p>I tried those, and voila!  Problem solved.</p>
<p>I wish I could explain why the old method ceased to work, but I can&#8217;t.  Both methods are still described in the xmodmap man page, and examples of both still exist there as well.  The first thread linked above suggests broken data in keyboard-config-1.3 on X Server 1.4.2.  I have keyboard-config-1.4 on X 1.4.2, however, so questions remain.  Yet despite no explanation, I hope the fix alone will be helpful to others with similar problems.</p>
<p>Finally, <a href="http://codepad.org/wPo9Mx8P">here is my new .Xmodmap</a>, which I have enhanced a bit, for those of you curious about it. Explanations for my remappings are in the comments. As for why I prefer to use the xmodmap method for keyboard mapping, there are several reasons. First, it is a single file containing all changes.  Those changes universally affect all programs since it is built into the X server.  That means no third-party daemon is needed.  Also, .Xmodmap is really very easy to configure once you get used to the xev utility.  And last, it uses the xmodmap command which I have been familiar with since I adopted Linux &#8211; because once upon a time I had to remap the buttons on my mouse in order to get &#8220;advanced functions&#8221; (read: the scroll wheel) to work. =-)</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Ubuntu'da çok tuşlu farelerin kurulumu-tuşların aktifleştirilmesi]]></title>
<link>http://devdala.wordpress.com/2009/10/01/ubuntuda-cok-tuslu-farelerin-kurulumu-tuslarin-aktiflestirilmesi/</link>
<pubDate>Thu, 01 Oct 2009 21:40:26 +0000</pubDate>
<dc:creator>devdala</dc:creator>
<guid>http://devdala.wordpress.com/2009/10/01/ubuntuda-cok-tuslu-farelerin-kurulumu-tuslarin-aktiflestirilmesi/</guid>
<description><![CDATA[Çok tuşlu fare ve klavyeleri seven bir yapıya sahip olduğum için Windows altında kullandığım multime]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Çok tuşlu fare ve klavyeleri seven bir yapıya sahip olduğum için Windows altında kullandığım multimedya özelliklerini Linux altında kullanmak istiyorum ben. Bilmiyorum haksız mıyım. Eğer sizin de 6-7 tuşlu fareniz var ve tuşları aktif değilse aşağıdaki yöntemi kullanabilirsiniz. (Anlatımın orjinali İtalyanca bir sitede. Girmek için <a href="http://natonelbronx.wordpress.com/2007/07/10/mouse-a4tech-x7-con-linux-facciamo-funzionare-tutti-i-tasti/">buraya</a> tıklayabilirsiniz. Türkçe&#8217;ye çeviren arkadaş için <a href="http://forum.ubuntu-tr.org/index.php?topic=159.0">buraya</a> tıklayabilirsiniz. Ben onun anlattığı yöntemi kendi uyguladığım şekliyle anlatacağım)</p>
<p>Öncelikle evdev adlı pakedi güncelliyoruz. Bunun için Uygulamalar -&#62; Donatılar -&#62; Uçbirim yolunu izleyerek terminal açıyoruz ve aşağıdaki kodları sırayla yapıştırıp entera basıyoruz:</p>
<pre style="margin-top:0;display:inline;">sudo apt-get update
sudo apt-get install xserver-xorg-input-evdev</pre>
<p>Ardından yine terminale aşağıdaki kodu yapıştırıp entera basıyoruz:</p>
<pre style="margin-top:0;display:inline;">cat /proc/bus/input/devices</pre>
<p>Bu komut ile sisteme takılı donanımların listesi terminalde görünecektir. Buradan farenizle ilgili kısmı bulun. Benimki şöyle:</p>
<p><img class="size-full wp-image-405 alignnone" title="1" src="http://devdala.wordpress.com/files/2009/10/1.png" alt="1" width="495" height="162" /></p>
<p>Handlers yazan satırdaki event kısmına dikkat etmek gerekir. Ben kendiminki olan event4 olarak devam ettim işleme. Siz de kendinizkine göre devam edin.</p>
<p>Şimdi xorg.conf adlı dosyada birkaç değişiklik yapacağız.</p>
<p>Önce bir yedeğini alıyoruz:</p>
<pre style="margin-top:0;display:inline;">sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.yedek</pre>
<p>Herhangi bir sorunda kurtarma modunda aşağıdaki kod yazılarak geri dönüş yapılabilir:</p>
<pre style="margin-top:0;display:inline;">
<div>
<pre style="margin-top:0;display:inline;">sudo cp /etc/X11/xorg.conf.yedek /etc/X11/xorg.conf</pre>
</div>
</pre>
<p>Sonra düzenlemek için xorg.conf dosyasını açıyoruz. Benimkinin fare ile ilgili kısmı şöyleydi:</p>
<p><img class="size-full wp-image-407 alignnone" title="ilkHal" src="http://devdala.wordpress.com/files/2009/10/ilkhal.png" alt="ilkHal" width="372" height="140" /></p>
<p>Burada birkaç değişiklik yapmamız gerekiyor. Öncelikle ilk satıra yani Identifier yazan satıra dokunmuyoruz. Altındaki satırdaki &#8220;mouse&#8221;u &#8220;evdev&#8221; yapıyoruz. Onun altındaki satırın başına # koyuyoruz. Böylece o satır etkinsizleştirilir. Dilerseniz o satırı silebilirsiniz de. Bir alt satırdaki &#8220;/dev/input/mice&#8221; kısmını &#8220;dev/input/event4&#8243; yapıyoruz. Tabi event4&#8242;ü herkes yukarıda event numarası kaç ise ona göre değiştirmelidir. Benimki event4 olduğu için öyle yaptım. Bir alttaki satırı ellemiyoruz. Onun altındaki satıra yukarıda terminalde faremiz ilgili kısımdaki Name&#8217;in karşısındaki değeri yazdım. Yani &#8220;A4Tech PS/2+USB Mouse&#8221; yazdım. İtalyanca sitedeki şahıs,  &#8220;A4Tech X7&#8243; yazmış. Sonuç olarak</p>
<pre style="margin-top:0;display:inline;">Option          "Name"	"A4Tech X7"</pre>
<p>diye bir satır eklenmelidir buraya.</p>
<p>Daha sonra bir alttaki satırın başına da # konur. Böylece o satırda etkinsizleştirilir. Benim xorg.conf&#8217;umun fare ile ilgili kısmının son hali şöyle:</p>
<p><img class="alignnone size-full wp-image-409" title="sonHal" src="http://devdala.wordpress.com/files/2009/10/sonhal.png" alt="sonHal" width="447" height="139" /></p>
<p>Kaydedip kapatıyoruz. Sistemi yeniden başlatıyoruz.</p>
<p>Şöyle bir kod daha var ama ben bunu çalıştıramadım hata verdi. Olmasa da olur sanırım. Eski sürümler için olabilir.(benim sürüm 9.04):</p>
<pre style="margin-top:0;display:inline;">xmodmap -e "pointer=1 2 3 4 5 8 9 6 7"</pre>
<p>Terminale şu kodu yazıyoruz şimdi de:</p>
<pre style="margin-top:0;display:inline;">
<pre style="margin-top:0;display:inline;">xev &#124; grep button</pre>
</pre>
<p>Şöyle bir pencere açılacak:</p>
<pre style="margin-top:0;display:inline;"><img class="alignnone size-full wp-image-412" title="grepButton" src="http://devdala.wordpress.com/files/2009/10/grepbutton.png" alt="grepButton" width="143" height="163" /></pre>
<p>Bu pencerede farenin tuşlarını basarak terminalde kaç numaralı tuşa denk geldiğini görebilirsiniz.</p>
<p>xmodmap&#8217;in varsayılan sırası şu şekilde: 1 2 3 4 5 8 9 6 7</p>
<p>Buradaki 8 ve 9&#8242;a dokunmuyoruz. Onlar farenin kendi ayarları ile ilgiliymiş.</p>
<p>Sıra Xmodmap&#8217;i kendimize göre düzenlemeye geldi. Bunun için terminale aşağıdaki kodu yazıyoruz:</p>
<div>
<pre style="margin-top:0;display:inline;">gedit .Xmodmap</pre>
<p>Boş bir sayfa çıkacak. Benim karşıma çıkan doluydu gerçi(Aşağıdaki satır yazıyordu). Ama boş çıkarsa şunu yazın:</p>
<pre style="margin-top:0;display:inline;">
<pre style="margin-top:0;display:inline;">pointer=1 2 3 4 5 8 9 6 7</pre>
</pre>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom:0;">Kaydedip kapatın ve sistemi yeniden başlatın. Artık tuşlar aktif hale gelecektir. xmodmap sırasını değiştirerek fare tuşlarını ayarlayabilirsiniz.</p>
<p style="margin-bottom:0;">Not:Eğer hala Firefox veya Opera&#8217;da farenin orta tuşuna basıp sürükleme yapamıyorsanız bu fare ayarlarından değil tarayıcı ayarlarındandır. &#8220;Otomatik kaydırmayı&#8221; aktifleştirmek gerekir.</p>
<p style="margin-bottom:0;"><em>Firefox&#8217;ta &#8220;otomatik kaydırma&#8221;yı aktifleştirmek için:</em></p>
<p style="margin-bottom:0;">Düzen -&#62; Seçenekler -&#62; Gelişmiş -&#62; Otomatik kaydırmayı kullan</p>
<p style="margin-bottom:0;"><em>Opera&#8217;da bu özelliği aktifleştirmek için:</em></p>
<p style="margin-bottom:0;">Shift + farenin orta tuşu(scroll)&#8217;na basılır, çıkan pencerede &#8220;Orta tuş görevini belirleyin&#8221; kısmında &#8220;Gezdiremeye başla&#8221; işaretlenir</p>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Fluxbox In-Depth: Mad Customization And Other Tips]]></title>
<link>http://linuxcritic.wordpress.com/2009/08/03/fluxbox-in-depth-mad-customization-and-other-tips/</link>
<pubDate>Mon, 03 Aug 2009 14:35:52 +0000</pubDate>
<dc:creator>Patrick</dc:creator>
<guid>http://linuxcritic.wordpress.com/2009/08/03/fluxbox-in-depth-mad-customization-and-other-tips/</guid>
<description><![CDATA[Introduction When I was first preparing to switch to Linux many years ago, I went into research mode]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><h3>Introduction</h3>
<p>When I was first preparing to switch to Linux many years ago, I went into research mode and looked around the net a bit. At the time, part of the allure of Linux were the <a title="example" href="http://www.vistawallpaper.com/data/media/17/fluxbox.png">crazy</a>&#160;<a title="example" href="http://www.box-look.org/CONTENT/content-pre1/85565-1.jpg">cool</a>&#160;<a title="example" href="http://daten-chaos.de/images/desktop/desktop-2009-07-19.jpg">desktops</a>&#160;<a title="example" href="http://www.box-look.org/content/preview.php?preview=1&#38;id=89283&#38;file1=89283-1.jpg&#38;file2=&#38;file3=&#38;name=terminator&#38;PHPSESSID=47b5e9b246a52767b2036a5dd9048d21">people</a>&#160;<a title="example" href="http://farm4.static.flickr.com/3362/3422217274_bc4db5a3b4_o.jpg">had</a>. After I switched I tried Gnome, then KDE, and was depressed at how uncool and *dozelike they were.  Eventually, I discovered that <a title="Box-Look.org" href="http://www.box-look.org/index.php?xsortmode=high&#38;page=0&#38;xcontentmode=7400&#38;PHPSESSID=47b5e9b246a52767b2036a5dd9048d21">all those amazing desktops</a> were the result of <a title="Fluxbox.org" href="http://www.fluxbox.org/">Fluxbox</a> (or the other *box forks). I switched immediately.</p>
<p>To my surprise, I found that not only was I able to get a really cool appearance, but Fluxbox made all the things I wanted out of a window manager, and some I didn&#8217;t know I wanted, simple. It turned out that I was not the only user to have noticed those operating system limitations and failings I&#8217;d been grumbling about for years, particularly with *doze. The Fluxbox crew apparently knew my pain and had gone about addressing all of those complaints.</p>
<p><!--more-->For example, one particular thing I had tried way back in the dark years was a DOS script to launch a bunch of applications at bootup with attempts to get them to their proper window sizes and such. It worked in a very limited fashion. Controlling *dows startup folders and services by their methods is a joke. It&#8217;s just poorly implemented by Microsoft, and while certainly better in Linux, still not exactly perfect.  Fluxbox handles this as elegantly as one could wish.</p>
<p>You see, as a guy with a programmer background, repetition of effort utterly disgusts me. So when I restart my computer or even just a program, I absolutely detest having to resize and relocate windows to the way I had them before the restart. Just having to restart apps after reboot is too much wasted effort and time. With Fluxbox I found a solution to this issue completely built in, along with many, many more time-saving ideas. In a word, it&#8217;s brilliant.</p>
<p>
Many people&#8217;s first reaction to seeing a Fluxbox desktop is to be taken aback by its barren aspect. They notice the complete lack of pretty little icons and don&#8217;t quite understand the spartan nature of it. Well, it&#8217;s like this: If everything you use on a regular basis already starts for you, and the rest either has keyboard shortcuts or can be found in a moment in your customized menu&#8230; what the hell do you need pretty little icons covering up your badass desktop image for? That&#8217;s not to say you can&#8217;t have pretty little icons if you want, but Fluxbox defaults to a simplistic, stay-out-of-the-way style.
</p>
<p>In the following article, I will describe my particular layout of the Fluxbox desktop: workspaces, monitors, and applications. While technically not part of Fluxbox itself, part of what makes those Fluxbox desktops so cool are the terminals, so I&#8217;ll give a fairly in-depth explanation of my aterm setup. Most Fluxbox descriptions, the <a title="Fluxbox.org" href="http://www.fluxbox.org/">Fluxbox website</a> included, describe things entirely by files, so I think I&#8217;ll try to use a chronological approach wherever possible.  To this end, I will next discuss the X/Fluxbox startup script sequence, and show you what happens as I start Fluxbox.  After that, I will talk about the heart of Fluxbox: the configuration files.  Finally, I&#8217;ll wrap up with some other features and things worthy of notice.  I hope you enjoy and benefit from my experience.</p>
<h3>My Fluxbox, Let Me Show You It</h3>
<p><a title="Workspace 1" href="http://img19.imageshack.us/img19/19/snapshot1b.jpg">This is my Fluxbox</a>.  There are many like it, but <a title="Workspace 2" href="http://img269.imageshack.us/img269/4333/snapshot2bc.jpg">this one is mine</a>.  <a title="Workspace 3" href="http://img269.imageshack.us/img269/9193/snapshot3bc.jpg">My Fluxbox</a> is my best friend.  It is my life.  I must master it as I must master my life.  Without me, <a title="Workspace 4" href="http://img530.imageshack.us/img530/3559/snapshot4bc.jpg">my Fluxbox</a> is useless.  Without <a title="Workspace 5" href="http://img530.imageshack.us/img530/8399/snapshot5w.jpg">my Fluxbox</a>, I am useless.  rAmen.</p>
<p>Fluxbox, like many other window managers these days, allows for having multiple desktops. In Fluxbox these are called “Workspaces.&#8221; I usually use five workspaces, each devoted to separate purposes, and thus, each have specific applications. Let me describe them for you, but first let me note that all my workspaces are two monitors wide despite some images being cropped to show only the primary left-hand monitor.
</p>
<p>For now, let&#8217;s skip over the first workspace.  <a title="Workspace 2" href="http://img269.imageshack.us/img269/4333/snapshot2bc.jpg">The second</a> I use for web browsing with Firefox or Seamonkey, as well as Open Office documents.  Between multiple FF windows and several documents, this workspace can get pretty crowded at times.</p>
<p>On my <a title="Workspace 3" href="http://img269.imageshack.us/img269/9193/snapshot3bc.jpg">third workspace</a> I keep two Bluefish (a simple text editor) projects of eight or so text files each.  One of these projects is for Linux notes, commands, simple howtos, etc.  The other is for things like to-do lists, shopping lists, books/movies/tunes to get, etc.  I&#8217;ve found I&#8217;m far more likely to take note of things if these files are already open for editing, so devoting a workspace to having these simple files permanently open works really well for me.</p>
<p>The <a title="Workspace 4" href="http://img530.imageshack.us/img530/3559/snapshot4bc.jpg">fourth Fluxbox workspace</a> I keep my file manager on; at the moment I&#8217;m using XFE.  I also do my torrenting from here, and basically anything media related.  And <a title="Workspace 5" href="http://img530.imageshack.us/img530/8399/snapshot5w.jpg">the fifth</a> is my workspace for actual work.  I usually have a couple terminals open, maybe some editors, I use the Gimp here, etc.</p>
<p>Now back to <a title="Workspace 1" href="http://img19.imageshack.us/img19/19/snapshot1b.jpg">the first</a>.  On it I have seven terminals sized to fit together nicely and display various bits of useful information.  I tail /var/log/messages, debug, syslog, secure, and my current X session&#8217;s log (I redirect the output of the startx command to this log file).  I use one terminal for displaying disk usage info, and I have one that I use every once in a while for brief commands (frequently process kills).</p>
<p>I happen to have two monitors, the second of which is smaller and always displays XChat no matter which workspace I&#8217;m using.  This is called the &#8220;Sticky State&#8221; in Fluxbox.  I also run GKrellM in what&#8217;s called the &#8220;Slit&#8221; which is the Fluxbox method for keeping docked applets permanently visible and outside the normal Fluxbox window rules.  In this way, GKrellM always shows across workspaces, and maximized apps do not cover it up &#8211; although like everything else with Fluxbox that behavior can be changed.</p>
<p>I keep my Fluxbox Toolbar at the top and only across the left-hand monitor, and I let it autohide itself.  I usually have four apps in the System Tray: XChat, KMix, KTorrent, and Amarok, none of which show up on the Iconbar portion of the Toolbar; the Iconbar being the primary section that displays icons for each app open on that workspace; the Toolbar being the whole thing, clock and all (<a title="Fluxbox.org" href="http://www.fluxbox.org/features/">some definitions</a>).</p>
<p>All of these programs start automatically when I start X/Fluxbox.  They always start exactly where I want.  They all start at the proper sizes.  My two Bluefish projects start opened.  XChat starts stickied on the right hand monitor.  KMix, KTorrent, and Amarok all start minimized to the Sys Tray.  I no longer suffer monkey-like duplication of effort.  It is perfection.</p>
<p>You might also note that I leave a small corner of the desktop visible under GKrellM.  This is so I can right click to access the Fluxbox Root Menu easily.  I have a keyboard command that will pop it up, but as counterintuitive as it might sound, the mouse seems to be the easiest for me to do this.  I also have set Fluxbox (via the Keys file) so when I mouse over the desktop and scroll the mousewheel up or down, I scroll between workspaces.  Between accessing the menu and flipping workspaces, having a tiny portion of the desktop showing is very convenient and not at all a waste of real estate.</p>
<p><a href="http://linuxcritic.wordpress.com/2009/08/03/fluxbox-in-depth-mad-customization-and-other-tips/2/"><b>Next page: Aterms</b></a></p>
<p><!--nextpage--></p>
<h3>Aterms</h3>
<p>Firstly, all those cool transparent terminals you see are usually <a title="Afterstep.org" href="http://www.afterstep.org/aterm.php">aterms</a> (or eterms). These are extremely lightweight (non-UTF8), highly customizable terminals. Though not a part of the Fluxbox project, the question of how to get these cool-looking terminals often goes right along with the adoption of Fluxbox, so I&#8217;ve decided to cover them by describing my setup.</p>
<p>I have 11 predefined terminals of varying sizes and locations that start in specific directories with various commands issued. For example, aterm0 is a full screen terminal that opens with <a title="htop" href="http://htop.sourceforge.net/">htop</a> started, so if I think I&#8217;ve got a runaway process I just use the keyboard shortcut, and instantly there&#8217;s the culprit.  The 7 terminals that open in my first workspace upon starting Fluxbox are each separately defined.  I also have a fairly large aterm that I use for general purpose command line work.</p>
<p>I define all of these in my <a title="my .bashrc" href="http://codepad.org/E37peRmd">my .bashrc</a>, and I do this by two methods: by bash shell aliases, and by creating single-line bash scripts that contain the aterm commands. The aliases let me start these aterms from the command line of existing terminals. The scripts let me start these aterms from other applications and the Fluxbox root menu. The execution of initial commands when these aterms are started is controlled through a case statement that checks the aterm&#8217;s terminal name definied in $TERM which is set in the aterm command by the -tn switch.</p>
<p>Let me describe what is happening in each part of my .bashrc. First, I set each aterm command parameter as a bash script variable, then use those in the commands themselves in order to make the commands more legible, as well as allow me to have notes for each parameter. This is where options like transparency/shading, background color, and font are set. Next, I create the full aterm commands using those parameter variables (and others), and save them into 11 individual variables ($ATX, $AT0&#8230; $AT9). It is those 11 variables that I then echo into scripts placed in /usr/local/bin. And those variables are also used as the aliases for this bash shell instance. Note that after I create the scripts the first time, I comment out the echo commands so as to not repeat unnecessary work each time a bash shell is opened: define/create them once and then leave them alone until something changes.</p>
<p>After the definition of the aterm commands, comes the check for whether or not I want to perform any additional commands.  The .bashrc file is always run when a new shell is opened, but that does not necessarily mean that I wish to do anything more.  For one, I could be within the Linux console (TTY1) without a window manager or X running at all, in this case I don&#8217;t want to do anything further, so that is the first test.</p>
<p>The next test is to see which aterm type it is dealing with.  This is the reason that I used the -tn switch to name the global system $TERM veriable, and I gave each predefined aterm a different name based on which function it is fullfilling.  So for example, the case statement checks to see if it is aterm0; if so it changes directories, and executes /usr/bin/htop.  But here you should note that in all cases, I change the $TERM variable back to the default, &#8220;xterm&#8221;.</p>
<p>This is for the other major test taking place in the case statement: it is checking to see if the aterm is a <em>new window</em>, or if a new bash shell is being opened from within an already existing window (e.g., via su, bash, or even if merely .bashrc is being executed to load new settings).  To walk you through it: the first time an aterm is opened the aterm command will set $TERM to &#8220;aterm0&#8243; (for example), .bashrc will then be run, when it gets to the case, it will see that it is not the console, and then seeing that it has instructions for &#8220;aterm0&#8243; it will execute the commands there, including changing the $TERM to &#8220;xterm&#8221;.  Later, after I have closed htop, I continue to use the window and su into another user.  A new bash shell is started within the existing window, but when .bashrc checks if it should change directories and run htop again, it doesn&#8217;t because it is no longer named &#8220;aterm0&#8243;.</p>
<p>That&#8217;s how I set up and use my aterms.  If you want you can remove the aterm title bar, the scroll bar, and make it entirely transparent.  Or you can put an aterm in the “Slit,&#8221; thus putting text on your desktop &#8211; which is pretty damn cool.  Take a look at <a title="Borderless Windows" href="http://fluxbox-wiki.org/index.php?title=Borderless_windows">this Howto</a> for some more details.  I personally keep mine only somewhat transparent so that I can more easily read my terminals.  It&#8217;s really a trade off between coolness and readability, and the readability is very dependent on your background image, font, and font colors.  When I change backgrounds I frequently change my aterm settings as well.</p>
<p>I know that aterms are not part of Fluxbox, but to me the two go hand-in-hand.  I&#8217;ve spent quite a bit of time figuring and perfecting a method to get aterms of various sizes at a whim as well as upon startup.  If you decide to toy around with your own aterm setup, this will probably be the biggest time sink by far as you tweak and tweak and tweak, compared to setting up Fluxbox.  Feel free to use my method and good luck.</p>
<p><a href="http://linuxcritic.wordpress.com/2009/08/03/fluxbox-in-depth-mad-customization-and-other-tips/3/"><b>Next page: Fluxbox Startup</b></a></p>
<p><!--nextpage--></p>
<h3>Fluxbox Startup</h3>
<p>I use Slackware for my OS and I always start X from the command line so your mileage may vary a bit here.  Please bear with me as this gets a little confusing.  My description will follow the chronological sequence.</p>
<p>When the startx command is issued the startx script executes xinit, a binary.  Among other things, xinit will try to run your system&#8217;s xinitrc script(s).  These can be in various locations (e.g. ~/.xinitrc or /etc/X11/xinit/xinitrc), but I believe the most common location is /etc/X11/xinit/xinitrc.  That script then runs a <a title="default Fluxbox system startfluxbox script" href="http://codepad.org/Nh8RgWqM">default system startfluxbox script</a>, which then typically runs the <a title="default Fluxbox user's starup script" href="http://codepad.org/auxvnXvA">default user&#8217;s startup script</a>, which in turn starts the Fluxbox binary.  I have altered this sequence so that for me it goes like this:</p>
<ol>
<li>The xinit binary starts X using files like /etc/X11/xorg.conf and ~/.Xdefaults,</li>
<li>The xinit binary then runs the xinitrc.fluxbox script,</li>
<li>xinitrc.fluxbox merges my /etc/X11/xinit/.Xmodmap into the system&#8217;s generic settings,</li>
<li>xinitrc.fluxbox then runs the /usr/bin/startfluxbox script,</li>
<li>Which in turn executes the /usr/bin/fluxbox binary using the ~/.fluxbox/init file settings.</li>
</ol>
<p>I am not a fan of the somewhat recursive nature of Fluxbox&#8217;s &#8220;startup&#8221; scripts. Fluxbox has designed them to cover the contingencies of a first-time user, a user with no startup script, and users with their own startup scripts.  I understand the reasons for this, but since I&#8217;m on a single-user system, I just don&#8217;t need all this.  And quite frankly, it confuses me.  So I&#8217;ve eliminated a user-specific startup script, and I&#8217;ve whittled down the scripts in my sequence to using as little code as possible.  Then as a matter of trying for standardization, I separate my X settings from my Fluxbox settings.</p>
<p>You do not have to have an .Xdefaults, and <a title="my .Xdefaults" href="http://codepad.org/xUhOUlHo">mine</a> is used strictly for color settings; the rest of my X settings I take care of in xinitrc.fluxbox.  My .Xmodmap is strictly X level keyboard mappings (like changing the Capslock key to Tab).  I keep my Fluxbox settings in startfluxbox (namely, I set the background image here).  Some people put all their Fluxbox settings with their X settings in xinitrc.fluxbox (I used to).  Some people prefer to use more of Fluxbox&#8217;s built-in methodology for much of this stuff.  Others put all their X settings in .Xdefaults.  None are wrong; it&#8217;s a matter of preference.  I try to keep it simple to help me keep it all straight.</p>
<p>Let&#8217;s look at some of these files.  Of interest in <a title="my .Xmodmap" href="http://codepad.org/1NfWlbAk">my .Xmodmap</a> I map the right Alt, Ctrl, and Windows (Super) keys to their equivalent left side keys.  This is important for getting the same behavior out of each.  Later I&#8217;ll talk about the Fluxbox Keys file, which can get some unexpected results if you don&#8217;t do something like this.</p>
<p>Now check out <a title="my xinitrc.fluxbox" href="http://codepad.org/R2iLYHPx">my xinitrc.fluxbox</a> script where I do most everything X related.  The early stuff should be pretty self-explanatory.  I do a bunch of xset commands (which can be done in an .Xdefaults or various other locations).  After that I do something different from most people.  Rather than use a ~/.fluxbox/startup script to start apps, I run the /usr/bin/startfluxbox in the background and grab its process ID number, execute all the apps I want, and then hang there waiting until Fluxbox finishes.  This is an old method that has the advantage of allowing me to execute commands after Fluxbox starts but not from within it.  In other words, these apps are started from X, not Fluxbox.  X won&#8217;t allow you to start applications without a running window manager, so you can&#8217;t just execute them prior to starting Fluxbox.  There are various advantages and reasons for doing this, but for me its mostly about to which files I log.  It also lessens the number of files I deal with.</p>
<p>Next we have <a title="my startfluxbox" href="http://codepad.org/Ep2oLbT7">my system startfluxbox script</a> called from xinitrc.fluxbox.  I set my background here because I want to get the image up as quickly as possible so I don&#8217;t see any default color flash for a moment.  Most people just use the method <a title="Configuration: Tweaking the init and startup Files" href="http://linuxcritic.wordpress.com/2009/06/28/fluxbox-how-i-make-it-feel-like-home/3/">Trent</a> mentioned with the rootCommand option in the Fluxbox Init file, and it works fine.  I&#8217;m just trying to squeak a couple microseconds out of it.  I&#8217;ve played extensively with this, and there are several other things you can do (like using X to set the background as commented out in my xinitrc.fluxbox &#8211; very dangerous), but ultimately I decided that this is the best method for me.  It&#8217;s a little faster, and again it lessens the number of files I use for configuration.</p>
<p>Notice that I&#8217;ve cropped quite a bit out of this script and out of the whole normal Fluxbox startup sequence as this is the only startup script to be called.  At this point the Fluxbox binary launches, which brings us to the Fluxbox config files&#8230;.</p>
<p><a href="http://linuxcritic.wordpress.com/2009/08/03/fluxbox-in-depth-mad-customization-and-other-tips/4/"><b>Next page: Fluxbox Configuration Files</b></a></p>
<p><!--nextpage--></p>
<h3>Fluxbox Configuration Files</h3>
<p>There are really five major config files that you&#8217;ll be directly editing for Fluxbox, and one you won&#8217;t.  They are:</p>
<ul>
<li>The <strong>Init</strong> file which with the exception of the rootCommand option, will probably never be edited by hand, and which holds all the settings for Fluxbox as a whole.</li>
<li>The <strong>Apps</strong> file which defines the &#8220;States&#8221; and &#8220;Decorations&#8221; of each application (and in most cases, each application&#8217;s sub windows) such as dimension, location, its workspace (desktop), etc.</li>
<li>The <strong>Startup</strong> file which, as mentioned above, is used to specify the apps you wish to launch at startup.
    </li>
<li>The <strong>Menu</strong> file which sets up the Root Menu tree and all the apps contained therein.</li>
<li>The <strong>Keys</strong> file which defines your keyboard shortcuts.</li>
</ul>
<p>The defaults for these files are located in /usr/share/fluxbox, and personalized ones are located in ~/.fluxbox/.  I personally make symlinks pointing from /usr/share/fluxbox/ to /etc/skel/ and from there to my home directory files. This prevents any accidental erasures, and keeps the default files I want to propagate (my home ones) to any potential new user accounts located in the standardized <a href="http://www.linfo.org/etc_skel.html">/etc/skel/ directory</a>.</p>
<h2>Init</h2>
<p>First, let&#8217;s start with the file you won&#8217;t be editing by hand (or mostly won&#8217;t), the Init file.  This is the file that contains all the settings for Fluxbox which you can set through the “Fluxbox Menu&#8221; part of the Root Menu.  This is stuff like the Fluxbox Style you are using, the Toolbar settings (autohide, location, right or left justified), the number of workspaces, Slit behavior and placement, window behavior and placement, tab behavior, etc, etc, etc.  The easy customization of all this is one of the greatest advantages of Fluxbox.  There&#8217;s little to misunderstand here, and trial and error will help with what few things you may not guess by their names.  When you make changes via that menu, the settings are saved into the Init file and so there is little need to edit by hand.</p>
<p>As touched upon above, you can execute a command with rootCommand within the Init file, and this is often used to set the background image for your desktop.  At some point in your tweaking, you may try to execute more than one command within Fluxbox right when it begins, say like setting the background and opening an aterm, but rootCommand doesn&#8217;t like what you&#8217;re trying to do.  The way to get around this is to write a small bash script with all the commands you want to issue, and then run that script from rootCommand.  This might be obvious to some, not so much so to others.  I tried a lot of things before figuring out the single command limitation, so I thought I&#8217;d mention it.</p>
<h2>Apps</h2>
<p>Left to its own devices, Fluxbox will edit the Apps file on its own, and you may never mess with it.  The Apps file stores the settings you make for each app and each of its sub-windows (e.g., dialogue boxes).  One can&#8217;t really talk about this file without talking about &#8220;States&#8221; (and &#8220;Decorations&#8221;).  Window states are properties of how a window should act (and look) within Fluxbox.  Maximized is a state, as is Iconified or minimized (i.e., reduced to an icon on the Iconbar part of the Toolbar).  Sticky is a state meaning the application will cross from one workspace to another rather than just be limited to its assigned workspace (which is the opposite, and default, state) or whichever workspace it was started in.  Transparency is available as a state for those who love their desktop image or are looking for that, &#8220;Wow!&#8221; reaction from their friends.  If you right click on an application&#8217;s Titlebar or Icon, you&#8217;ll be given a list of states to change for that session.  And to set a default behavior for a certain app, you simply check the states you want to apply in the “Remember&#8221; submenu.  But note that there are other states that you can set that are not listed in the menu, which can be set in the Apps file.</p>
<p>A great example of states is my XChat app. If you recall, I have it on a second monitor to the right of my primary monitor, I have it there all the time as I basically devote that monitor to it. This means I have it set to &#8220;[Head] {2}&#8221; the second monitor, and &#8220;[Sticky] {yes}&#8221; so it will stay visible for all workspaces; and because its always visible, I don&#8217;t particularly need its Icon on the Iconbar along with other apps, so I have set it &#8220;[IconHidden] {yes}&#8221; which is not a standard option. For positioning Xchat I set &#8220;[Position] (UPPERRIGHT) {0 0}&#8221; meaning from the top right corner of my desktop, right justify XChat&#8217;s window from pixel x=0,y=0.</p>
<p>With XChat I have it stickied, but with Firefox I always keep those windows on workspace number two, or simply &#8220;[Workspace] {2}&#8221;.  Of course, when I do want to move a Firefox window to another workspace, I simply make it sticky and switch workspaces (which can be done with no more than a click or keyboard shortcut).  The Apps file is default behavior, not a hard rule.</p>
<p>Do you start to see the power and control you get over your system with Fluxbox?  No more opening the same apps over and over again, and no more maximizing them and rearranging other windows.  Once your Apps file is set up for all your programs, you&#8217;re golden.  And it really doesn&#8217;t take any longer than the first time you open the app, set the window where you want it, right click on the Titlebar, and check off what states you want to remember in the menu.  That&#8217;s it.  There are <a title="Fluxbox Wiki Apps File" href="http://fluxbox-wiki.org/index.php?title=Howto_edit_the_apps_file">a few like IconHidden</a> that you have to set by editing the Apps file, but the vast majority of setup is GUI driven (if that&#8217;s what you want) and automated.</p>
<h2>Startup</h2>
<p>The Startup file is used to specify which apps should begin at startup.  You can do other things in it, but this is the primary purpose for which it&#8217;s used.  As mentioned above, I cut the user version of this file out of the startup sequence for simplicity&#8217;s sake since I&#8217;m on a single-user system.  Most people will use it as intended.</p>
<h2>Menu</h2>
<p>I&#8217;m not going to talk much about the Menu file.  It&#8217;s pretty self-explanatory and <a title="Fluxbox: How I make it feel like home" href="http://linuxcritic.wordpress.com/2009/06/28/fluxbox-how-i-make-it-feel-like-home/">Trent already covered it well</a>.  You can add any app on your system to it, or remove any that were automatically added during the initial menu generation.  And you can generate again by hand with the Fluxbox command “fluxbox-generate_menu&#8221;.  There are several command line options you can give like -k makes a KDE menu, -is does a wider search for apps, -w sets homepage for console browsers, -m sets the Root Menu title (e.g., fluxbox-generate_menu -k -is -w http://www.google.com/webhp -m `hostname`).  If you want to start with a more complete list of apps on your system and then slim it down, you might want to play around with this command.  Use -h to see more options.</p>
<h2>Keys</h2>
<p>OMGILUVKEZNBBQ!  Seriously, I cannot tell you how much I love this feature of Fluxbox.  For those gamers or even occasional gamers amongst you, if you&#8217;ve ever played a first person shooter or flight simulator, you realize immediately that there are way too many commands to learn right off the bat, so you learn a few keys, go practice until you&#8217;ve got them memorized, then come back to learn more. Hell, practically any game these days will actually walk you through learning the basics, then you start playing, and the game itself will teach you additional commands as you go.  That is precisely what you have to do with your Fluxbox keys file, and once you do, you&#8217;ll never go back to any other window manager.</p>
<p>I mean, the other parts of Fluxbox are wonderful.  Fluxbox is so fast and light.  The Apps file is an unbelievably huge time saver.  But the real juice is in the Keys.  Sure, you can get many of the same effects with X, and there are daemons you can run that do the same thing, but the X methods are complex and a real pain, and the daemons are just that: yet another program forever running on your system eating away at your resources.  With Fluxbox, this is just part of its basic behavior, and like the simplicity of other Fluxbox settings, the Keys file is pretty damn easy.</p>
<p>But I&#8217;ve gotten ahead of myself, first the explanation: The Keys file is a config file that maps keys (and mouse/joystick/whatever events) to certain actions on your computer. For example, Ctrl+Alt+Delete, the good old &#8220;three finger salute&#8221; that everyone knows and loves is typically mapped to a system reboot; Alt+Tab is usually for window switching. On a more basic level, the Tab key is mapped to the Tab action, the Q is mapped to print q, the 1 to print 1, etc. But all these can be changed (remapped) if one were so inclined.
</p>
<p>With the Keys file, you can map pretty much any keystroke or strokes to any action or actions.  That&#8217;s not to say that you should go remapping the a to the f and so forth, but you would not believe how much time you can save when you don&#8217;t have to take your hand away from the keyboard.  For example, using Alt+Tab to repeatedly switch back and forth between two apps as compared to grabbing the mouse, moving it to the Toolbar, selecting the other app, then selecting the point in the text where you want to paste, etc.  This is clearly a simplistic example.  Those reading this article have likely long since started avoiding the mouse, if not become devoted vi fanatics.  But to drive home the point to those who still love the mouse, let me ask you this: Have you ever had to help your mom/uncle/friend with their computer, and having told them to switch to the other program, then had to watch and wait while they muddled through using the mouse to do something that you know is nothing more than a flick of the left wrist away?  Yeah, it&#8217;s infuriating to behold the needlessly slow.</p>
<p>The guys who created Fluxbox understand this, and they&#8217;ve built in functionality that dramatically saves you time.  <a title="my Keys file" href="http://codepad.org/Ai4E1KO0">This is my Keys file</a>.  It&#8217;s actually not all that huge compared to some I&#8217;ve seen.  Note that the damned useless windows keys are no longer useless and are just another modifier key like Control and Alternate.  You know those eleven aterms of mine?  Well opening one of them is as simple as the windows (Super) plus a number, or Super+a for the eleventh one.  Super+f opens a new Firefox window.  Super+k kills the current window/process while Super+c just closes it normally.  Alt+Tab switches between windows, and Super+Tab switches between desktops.  Add the Shift key to either of those key combinations and they cycle in reverse order.  I even have one for going into a screensaver lock (xlock), and another will shut off my monitors by sending a DPMS shutoff command.</p>
<p>One of the most often used are the various resizing and repositioning keyboard shortcuts.  Almost daily, I&#8217;ll open a work aterm with a Super+a, and immediately do an Alt+Super+LeftArrow which moves it to the left edge of the screen, then Alt+Super+UpArrow which moves it to the top.  In three strokes I&#8217;ve started a shell and moved it out of the way.  A keypress further and I&#8217;ve opened another work terminal in the default position (center of the screen) for primary use; the other is for backup, often open to man pages or logs.  Other key combinations move or resize by 20 or so pixels.  Others maximize horizontally for me to read something easier, and then sends it back to the size it was before.  Or maximize and then back.</p>
<p>The speed with which I can move things around, flip between workspaces, execute one app, close it, and then flip back to another is incredible.  It was this sort of power that I always wanted out of a system, and Fluxbox makes phenomenally simple to set up and use.  Add to that the excellent handling of default application positioning and other states, and you&#8217;ve got the recipe for working without having to waste time with simple appearance/usability issues.  You focus on doing the things you want to be doing rather than being forced to repeat the same ridiculous actions over and over.  It&#8217;s a beautifully streamlined interface.</p>
<p><a href="http://linuxcritic.wordpress.com/2009/08/03/fluxbox-in-depth-mad-customization-and-other-tips/5/"><b>Next page: Other Stuff and Conclusion</b></a></p>
<p><!--nextpage--></p>
<h3>Other Stuff</h3>
<h2>Tabs</h2>
<p>I don&#8217;t think it would be fair to any discussion on Fluxbox to fail to mention Tabs.  Everybody loves tabs.  Tabbed browsing has taken web browsers by storm. Tabbed file managers are becoming the next big thing.  It should be no surprise that Fluxbox has had tabbed windowing for years.</p>
<p>Fluxbox allows you to merge several applications&#8217; windows together into one&#8230; for lack of a better term: unit.  The unit then has tabs for each application that you can flip between.  You can move the unit around on the workspace, move it to other workspaces, etc., and thus, all the apps move around together.  The unit then has a single icon in the Iconbar, and all the apps then share other states as well.  Some people call this the best feature of Fluxbox.</p>
<p>Personally, I don&#8217;t use this feature much, but I can think of the advantages. For example, say I hated multiple workspaces, and thus, needed to have all my apps on one.  My Iconbar would be packed full, and I wouldn&#8217;t be able to see any information in them.  With tabs I could lump my three or four Firefox windows into one, and all my Open Office docs onto another, then my two Bluefish projects into one, all the Gimp windows into one.  Suddenly I&#8217;d have reduced the number of icons down to four, a far more manageable number.</p>
<h2>Extensions</h2>
<p>There are many third party apps developed to work with Fluxbox to extend its functionality.  For example, if you absolutely adore those pretty little icons on your desktop, you can use <a title="Fbdesk" href="http://fluxbox.sourceforge.net/fbdesk/">Fbdesk</a> or <a title="Idesk Project" href="http://idesk.sourceforge.net/wiki/index.php/Main_Page">Idesk</a> to get them back.  Try Google and the <a title="Fluxbox Wiki" href="http://fluxbox-wiki.org/index.php?title=Fluxbox-wiki">Fluxbox Wiki</a> for more.</p>
<h2>Styles</h2>
<p>Fluxbox comes with a great number of “System Styles&#8221; or “Themes&#8221; which allow you to change the basic appearance of the Toolbar, Root Menu, window appearance, etc. Fluxbox also allows you to have other “User Styles&#8221; which are simply placed in the ~/.fluxbox/styles/ directory.  There are hundreds of User Styles available for download off the net, but one can also go about creating one&#8217;s own.  Personally, I tend to find a style close to what I want, then make changes to please my overly critical eye.  This is remarkably easy as styles are defined in a single text file that is not too complicated. <a title="Fluxbox style Howto" href="http://tenr.de/howto/style_fluxbox/style_fluxbox.html">This guy</a> has some more information.  Styles, both System and User, are easily changed via the Root Menu.</p>
<p>I think I should note here that the Fluxbox style will likely not do everything you want.  To get the complete look you&#8217;re after, you also have to change your GkrellM theme &#8211; if you use it &#8211; of which 191 themes are available in a single tarball <a title="gkrellm themes" href="http://www.muhri.net/gkrellm/">here</a> (untar into ~/.gkrellm2/themes/).</p>
<p>More importantly, many applications use what is called a GUI toolkit for designing their windows.  There are several toolkits in use on *nix systems, predominantly GTK (most Gnome apps) and QT (most KDE apps).  Some GTK themes are available <a title="GTK themes" href="http://art.gnome.org/themes/gtk2">here</a>.  It doesn&#8217;t matter where they are placed as long as in your home directory you link .gtkrc and .gtkrc-2.0 to the appropriate files in the theme&#8217;s directory (should be obvious).  QT can be changed in several ways: if KDE is installed you can use the kcontrol app, and on some systems you can use qt3-qtconfig.  There are also various <a title="Theme Engine for Slackware" href="http://www.gnome-look.org/content/	show.php/GTK-QT+Theme+Engine+for+Slackware?content=19116">third-party apps</a> that allow you to use one theme for both GTK and QT toolkits.</p>
<h3>Conclusion</h3>
<p>Between your Fluxbox style and your GTK/QT style, with perhaps a little editing by hand, you should be able to get the look you&#8217;re after.  Add in a similar GkrellM (or other applet) theme, a really cool background image, customize some aterms, and you&#8217;ve got that badass Linux system that makes your geek friends drool and your *doze friends start asking how hard it is to learn Linux.</p>
<p>But while you can really impress with the appearance of Fluxbox, that won&#8217;t be why you stay with it.  Much of what you can visually do with it can be accomplished with other window managers, although the task might be a tad more difficult.  Beyond the superficial lies the truly brilliant design that ties all the functionality for highly efficient day-to-day operation into a mere handful of easy-to-edit text files.  And once you really start using that functionality, when you try to flip back to other window managers you&#8217;ll find yourself increasingly frustrated by their failings and limitations, and asking the bewildering question, “Why don&#8217;t they just implement something simple to fix this &#8211; like Fluxbox?&#8221;<br /></b></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Swap Ctrl and Caps Lock without xmodmap]]></title>
<link>http://shityoucantremember.wordpress.com/2009/07/26/swap-ctrl-and-caps-lock-without-xmodmap/</link>
<pubDate>Sun, 26 Jul 2009 14:27:55 +0000</pubDate>
<dc:creator>shityoucantremember</dc:creator>
<guid>http://shityoucantremember.wordpress.com/2009/07/26/swap-ctrl-and-caps-lock-without-xmodmap/</guid>
<description><![CDATA[I&#8217;ve been using setxkbmap in combination with xmodmap to get my system to use Swedish Dvorak w]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I&#8217;ve been using setxkbmap in combination with xmodmap to get my system to use Swedish Dvorak with swapped Ctrl/Caps Lock for quite some time now. Little did I know that simply using setxkbmap alone does the trick:</p>
<pre>setxkbmap se dvorak -option ctrl:swapcaps</pre>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[xmodmap: Swedish Dvorak, Caps/Ctrl switch and the Windows key]]></title>
<link>http://shityoucantremember.wordpress.com/2009/03/17/xmodmap-swedish-dvorak-capsctrl-switch-and-the-windows-key/</link>
<pubDate>Tue, 17 Mar 2009 21:16:17 +0000</pubDate>
<dc:creator>shityoucantremember</dc:creator>
<guid>http://shityoucantremember.wordpress.com/2009/03/17/xmodmap-swedish-dvorak-capsctrl-switch-and-the-windows-key/</guid>
<description><![CDATA[The title for this post is extremely descriptive. Here, I will present my solution to the problem I]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The title for this post is extremely descriptive. Here, I will present my solution to the problem I&#8217;ve been having with getting my keyboard layout to work as follows:</p>
<ul>
<li>Use Swedish Dvorak</li>
<li>Swap places for Ctrl and Caps Lock</li>
<li>The &#8220;Windows key&#8221; should be a separate modifier</li>
</ul>
<p><a href="http://pastebin.com/f56d2b203">Here&#8217;s the solution</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[for purpose of reference: reconfigure the EeePC keyboard layout on X]]></title>
<link>http://dagobart.wordpress.com/2009/02/17/for-purpose-of-reference-reconfigure-the-eeepc-keyboard-layout-on-x/</link>
<pubDate>Tue, 17 Feb 2009 16:01:24 +0000</pubDate>
<dc:creator>dagobart</dc:creator>
<guid>http://dagobart.wordpress.com/2009/02/17/for-purpose-of-reference-reconfigure-the-eeepc-keyboard-layout-on-x/</guid>
<description><![CDATA[I like my EeePC 901, though the missing navigation keys hit me a bit, and getting a pipe symbol (|) ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I like my EeePC 901, though the missing navigation keys hit me a bit, and getting a pipe symbol (&#124;) with one hand is wrist-flipping (AltGr+Function+Y [on a German keyboard]). I knew I had to fix that, and now I&#8217;ve done it.</p>
<p>As a solution, I set up some alternative keys to trigger:
<ul>
<li>lesser than</li>
<li>greater than</li>
<li>pipe</li>
<li>Home</li>
<li>End</li>
<li>Prev Page/Page Up</li>
<li>Next Page/Page Down</li>
</ul>
<p><em>Note: This article is going to be a bit more long. Hence, if you want, you can <a href="#howto">just skip to the howto</a>. Oh, and by the way, the solution provided is for the X server, not for Windows.</em></p>
<div id="attachment_539" class="wp-caption alignleft" style="width: 310px"><a href="http://flickr.com/photos/pupi-foto/2200826794/"><img src="http://dagobart.wordpress.com/files/2009/02/eeekbd-en.jpg?w=300" alt="(CC) BY-NC-SA I&#39;m[Nannie] / Flickr; example EeePC keyboard (en)" title="(CC) BY-NC-SA I&#39;m[Nannie] / Flickr; example EeePC keyboard (en)" width="300" height="199" class="size-medium wp-image-539" /></a><p class="wp-caption-text">(CC) BY-NC-SA I'mNannie / Flickr; example EeePC keyboard (en)</p></div>
<p>For the navigation keys, initially I thought I could just reuse the given navigation keys Up/Down/Left/Right by hitting them while holding down AltGr. Though, that didn&#8217;t work, so I had to find some new keys to use. As I am a right-handed person and as I don&#8217;t want to occupy the other hand for navigational tasks too, the right side of the keyboard is the only choice.</p>
<p>In that area we&#8217;ve got the AltGr key available as a modifier. Also, there is a mouse menu key &#8212; pretty pointless as the big touchpad is right next to it. So, alternatively, I could use that mouse key as another modifier key. But it turned out that didn&#8217;t work, so I have AltGr as the only modifier available.<br />
&#160;</p>
<p>Since I couldn&#8217;t reuse the menu key in any other obvious beneficial way, I decided to make it become Page Down. Of the missing navigational keys, Page Down is the most important one since on web pages and other large documents you start at the top and want down, not upwards. In browsers, usually the spacebar works also, but in editors hitting the spacebar gives you a space, not a Page Down.</p>
<p>Next, Page Up, since Page Down is rather silly. So what key to use? &#8212; I picked &#8216;.&#8217; (period) since its almost straight North of the menu key.</p>
<p>Since there&#8217;s no other use for the menu key, I made the menu key be Page Down without any modifier to be held down, though to stay able to use the period as usual, to make it be Page Up, it must be used together with the chosen modifier, AltGr.<br />
&#160;</p>
<p>On trying out AltGr as a navigational modifier, I learned that it&#8217;s cruical to be able to use the key-to-be-modified with the middle finger, and that conveniently. So, choice what to use for Home and End became quite restricted.</p>
<p>I selected L and the character second-right to it, &#8216;Ä&#8217; on a German keyboard. &#8212; I left the one-key gap in between since the keys out there in the periphery are a bit more slim, and the L/Ö alternative felt not as convenient as using L and Ä.<br />
&#160;</p>
<p>On the issue about the lesser-than and greater-than symbols as well as the pipe one, I chose to keep them in the bottom left corner of the keyboard. In German layout, the bottom left key is Y.</p>
<p>Originally, to get a Pipe, you need to press AltGr-Function-Y. Doing this one-handedly requires quite a bit of training, but still you often will achieve AltGr-Y only, which gives you some angle-bracket like quotation mark.</p>
<p>Also, to get a greater-than character, you need to perform a similar bit of keyboard artistic &#8212; AltGr-Shift-Y.</p>
<p>That&#8217;s a bit inconvenient. Instead, I decided to untangle those four characters a bit: I want a two-keys combination at max. That is: AltGr+Y gives lesser-than, AltGr+X be greater-than. And for purpose of convenience I put the pipe North of X and Y: AltGr+S gives Pipe. Perfect.<br />
&#160;</p>
<p>Sidenote: The key next to the backspace, on a German keyboard layout is rather pointless: Originally, it features the single quotation mark and the backtick, though there&#8217;s another key nearby, featuring the very single quotation mark and the number sign &#8212; and AltGr gives you the backtick too. As AltGr+# or Shift+&#8217; is the same number of keystrokes, alternatively, you could dump the key next to the backspace completely and put lesser-/greater-than and pipe there. &#8212; I did not so because I learned about AltGr+# only after I was done with configuring, and you might also want to keep the usual keys (like single quotation mark/backtick) untouched.<br />
&#160;</p>
<p><a name="howto"></a><br />
<h2>How To Do It</h2>
<p>Here is how I applied the modifications:</p>
<p>First, <tt>XModMap</tt> is the tool of choice.</p>
<p>On the console, I retrieved the current, i.e. system-given, settings for my keyboard by <tt>xmodmap -pke</tt>. I immediately stored that output to <tt>~/.xmodmaprc</tt> where it will be read from, each time I&#8217;ll re-login: <tt>$ xmodmap -pke &#62; ~/.xmodmaprc</tt></p>
<p>I opened <tt>~/.xmodmaprc</tt>, skimmed through it to find the key occupations I was after: Y, X, S, L, Ä, period, menu key. As that&#8217;s not what you are interested in, here&#8217;s just what the respective entries look like in my modified <tt>~/.xmodmaprc</tt> now:</p>
<ul>
<li>keycode  39 = s S bar section bar section</li>
<li>keycode  46 = l L Home Left Home Left</li>
<li>keycode  48 = adiaeresis Adiaeresis End asciicircum End asciicircum</li>
<li>keycode  52 = y Y less guillemotleft less guillemotleft</li>
<li>keycode  53 = x X greater guillemotright greater guillemotright</li>
<li>keycode  60 = period colon Prior division Prior division</li>
<li>keycode 117 = Next</li>
</ul>
<p>If you, as I do, never log out of your current session (due to the convenience of hibernate mode), you can make the changes work immediately, without any need to restart the session first: On a console, for every of the above keycode lines, issue a</p>
<blockquote><p><tt>$ xmodmap -e "<em>keycode line</em></tt>&#8220;</p></blockquote>
<p>Notes: You don&#8217;t need to be root to gain the effect. And everything will be in effect just after you issued the modification command. To undo any modification, just restore the original look of the keycode line from the editor, then issue that by another <tt>xmodmap -e " ... "</tt>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Using Xmodmap to map one key to another]]></title>
<link>http://darknightelf.wordpress.com/2008/12/27/using-xmodmap-to-map-one-key-to-another/</link>
<pubDate>Sat, 27 Dec 2008 00:36:54 +0000</pubDate>
<dc:creator>darknightelf</dc:creator>
<guid>http://darknightelf.wordpress.com/2008/12/27/using-xmodmap-to-map-one-key-to-another/</guid>
<description><![CDATA[So, everybody having a good holiday?? As for me, I got unlucky with my super sleek and shiny laptop ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>So, everybody having a good holiday?? As for me, I got unlucky with my super sleek and shiny laptop and its motherboard got fried. So, for quite some time I was relegated to using a laptop which</p>
<p>(i) had a Spanish keyboard, on top of which I was using German and English layouts (oh yes, even for programming <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ), and</p>
<p>(ii) had the period/colon key missing (it had been ripped off), so I was using another keyboard connected via a USB port to type my periods and colons whenever they came up. And no, I could not only use the USB keyboard because that one in turn had some keys not in the best working order (!!! wait, it gets better soon !!!)</p>
<p>After bearing with all this for quite some time, I thought there has to be some way I can map the period/colon key to one of the keys I am not using, for example Pause, F12 etc., and do away with the additional USB keyboard, and thus make things a little better. So I finally stumbled upon <a title="Xmodmap" href="http://www.xfree86.org/4.0.1/xmodmap.1.html" target="_blank">Xmodmap</a>, which my Ubuntu was pre-equipped with, of course, and figured out a simple way to accomplish the task at hand.</p>
<p>Use the following at the command line:</p>
<pre>xmodmap -e "keysym Pause = period"
xmodmap -e "keysym F12 = colon"</pre>
<p>And you&#8217;re done! Now Pause prints the period and F12 prints the colon, no matter whether you are using the German, English or Spanish layout. I guess if you put &#8220;period colon&#8221; together then the later character will be printed with shift, but I didn&#8217;t experiment with that.</p>
<p>I tried putting these lines in my .xinitrc file and then in my .profile, but for some reason it doesn&#8217;t seem to be running automatically when the computer boots. For the time being I am having to do it manually every ime the computer starts afresh.</p>
<p><a title="Keysyms" href="http://wiki.linuxquestions.org/wiki/List_of_Keysyms_Recognised_by_Xmodmap" target="_blank">Here</a> is a list of all the &#8220;keysym&#8221; codes you can use with Xmodmap!</p>
<p>There you are &#8211; happy Xmodmapping <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Teclas y teclados en GNU/Linux]]></title>
<link>http://kikuelo.wordpress.com/2008/12/23/teclas-y-teclados-en-gnulinux/</link>
<pubDate>Tue, 23 Dec 2008 09:45:10 +0000</pubDate>
<dc:creator>enramos.com</dc:creator>
<guid>http://kikuelo.wordpress.com/2008/12/23/teclas-y-teclados-en-gnulinux/</guid>
<description><![CDATA[Hace unos días estuve mirando el tema de las teclas multimedia en Linux, ya que había cambiado el en]]></description>
<content:encoded><![CDATA[Hace unos días estuve mirando el tema de las teclas multimedia en Linux, ya que había cambiado el en]]></content:encoded>
</item>
<item>
<title><![CDATA[Tasti multimediali in Pekwm]]></title>
<link>http://toketinlog.wordpress.com/2008/11/10/tasti-multimediali-in-pekwm/</link>
<pubDate>Mon, 10 Nov 2008 13:54:40 +0000</pubDate>
<dc:creator>toketin</dc:creator>
<guid>http://toketinlog.wordpress.com/2008/11/10/tasti-multimediali-in-pekwm/</guid>
<description><![CDATA[Per gli utenti che come me possiedono una tastiera con tanto di tasti multimediali e non vogliono ri]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Per gli utenti che come me possiedono una tastiera con tanto di tasti multimediali e non vogliono rinunciare al loro uso, voglio soddisfare in breve questo loro desiderio <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  Allora innanzitutto se nella vostra Home non è presente il file .Xmodmap createlo quindi aprite un terminale e avviate <em>xev</em> quindi ora premete il tasto multimediali che volete settare quindi nel terminale vi appariranno una serie di comandi come questi:</p>
<blockquote><p>KeyRelease event, serial 31, synthetic NO, window 0&#215;2400001,<br />
root 0&#215;1a6, subw 0&#215;0, time 7177017, (-1326,372), root:(112,394),<br />
state 0&#215;10, keycode 222 (keysym 0&#215;0, NoSymbol), same_screen YES,<br />
XLookupString gives 0 bytes:<br />
XFilterEvent returns: False</p></blockquote>
<p>vedete che nella terza riga dell&#8217;output c&#8217;è <em>keycode numero</em> questo dovete selezionarlo e copiarlo nel file .Xmodmap, quindi vi fate seguire il nome con cui intendete identificare questo tasto esempio F30, questo dovrà essere il file di xmodmap risultante:</p>
<blockquote><p>keycode 176 = F25<br />
keycode 174 = F26<br />
keycode 160 = F27</p></blockquote>
<p>come vedete è molto semplice configurare questo file, sono necessari pochissimi passaggi, infine per settare la scorciatoia del vostro De o Wm che utilizzate, per i De non credo debba essere eseguita questa configurazione di xmodmap dal momento che dovrebbe avvenire tutto in automatico; mentre per window manager come openbox o pekwm, il mio caso, dovete aprire il file in genere chiamato <em>keys</em> creare una nuova scrociatoia, per Pekwm questo un esempio:</p>
<blockquote><p>KeyPress = &#8220;#176&#8243; {Actions = &#8220;Exec amixer -c 0 sset Master 1+ unmute cap &#38;&#8221;}</p></blockquote>
<p>molto semplice e intuitiva la configurazione, questo comando mi serve per alzare del 3% il volume di alsamixer utilizzando appunto il comando amixer attraverso il tasto multimediale della mia tastiera. Faccio notare che per Pekwm avevo avuto problemi nel fare funzionare queste scorciatoie in quanto con la nuova versione del window manager è necessario settare direttamente il keycode del tasto anzichè il nome identificativo del tasto, necessario al contrario in openbox, quindi basta aggiungere un # prima del keycode ed il gioco è fatto <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Ah dimenticavo non scordatevi di aggiungere nel file startup il comando <em>xmodmap /home/utente/.Xmodmap &#38;</em> <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>P.s. ho fatto una prova e ho visto che su Pekwm non è necessario incluedere il keycode in .Xmodmap, basta sapere il keycode del tasto e inserirlo direttamente nella scorciatoia desiderata <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Ottimo Pekwm sempre il migliore!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Map Caps Lock to Control in X Windows]]></title>
<link>http://espressomind.wordpress.com/2008/10/22/map-caps-lock-to-control-in-x-windows/</link>
<pubDate>Wed, 22 Oct 2008 16:11:10 +0000</pubDate>
<dc:creator>Ron DuPlain</dc:creator>
<guid>http://espressomind.wordpress.com/2008/10/22/map-caps-lock-to-control-in-x-windows/</guid>
<description><![CDATA[Motivation I use the control key a lot. Between my Fluxbox keys file shortcuts, several Xterms with ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>Motivation</strong></p>
<p>I use the control key a lot.  Between my Fluxbox keys file shortcuts, several Xterms with bash, and Emacs, the pinky on my left hand is getting worn out quickly.  It may not seem productive at first, but every engineer should spend some time setting up the simple things in his or her lab, including getting a comfortable keyboard.</p>
<p><strong>Using</strong></p>
<ul>
<li>a <strong>standard US keyboard</strong></li>
<li>a <strong>UNIX-like system running an X windows server</strong> (if you are on a UNIX-like system and have a graphical display, you are probably running X windows)</li>
<li><strong>xmodmap</strong></li>
</ul>
<p><strong>Setup</strong></p>
<p>Here is my $HOME/.Xmodmap file:</p>
<pre style="font-size:1.1em;background-color:#eeeeee;color:#111111;">
! map Caps Lock key to Control
remove Lock = Caps_Lock
keysym Caps_Lock = Control_L
add Control = Control_L

! map right Windows/Super key to Caps Lock
remove Mod4 = Super_R
keysym Super_R = Caps_Lock
add Lock = Caps_Lock
</pre>
<p>To activate it, wait until you restart X or run from the command line:</p>
<pre style="font-size:1.1em;background-color:#eeeeee;color:#111111;">
$ xmodmap $HOME/.Xmodmap
</pre>
<p>Done.  Now I just need to break the Control_L habit.  Fortunately, I kept that key mapped as Control_L so it still works as expected.  This feels like the old days in the UNIX workstation lab, except that my keyboard is much, much cleaner.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Getting gNewSense running on a MacBook]]></title>
<link>http://whereofwecannotspeak.wordpress.com/2008/10/19/getting-gnewsense-running-on-a-macbook/</link>
<pubDate>Mon, 20 Oct 2008 03:51:49 +0000</pubDate>
<dc:creator>whereofwecannotspeak</dc:creator>
<guid>http://whereofwecannotspeak.wordpress.com/2008/10/19/getting-gnewsense-running-on-a-macbook/</guid>
<description><![CDATA[I have a second-generation MacBook (bought in spring of 2007), and due to a bunch of recent issues w]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>
I have a second-generation MacBook (bought in spring of 2007), and due to a bunch of recent issues which have turned me off from OS X (e.g., the machine randomly will fail to wake up from sleep, compiling software is a huge pain, etc.), I have been aroused from my complacency and have decided to try my hand at getting <a href="http://www.gnewsense.org">gNewSense</a>, an all-free software derivative of <a href="http://www.ubuntu.com">Ubuntu</a>, running.  I didn&#8217;t expect this to be an entirely painless or automatic process &#8212; I had tried Ubuntu on the same hardware a little over a year ago, and found it to be lacking &#8212; but I needed a distraction from studying for the GRE, and so I dove in last weekend and burned a LiveCD. </p>
<p><!--more--></p>
<p>
I am currently running gNewSense DeltaH, which is based on Ubuntu&#8217;s Hardy Heron release.  I have found the out-of-the-box hardware support to be surprisingly good:  I didn&#8217;t need to install any special packages to get the screen resolution right, to get the mouse working, or to get the keyboard working before boot (all of which were issues with Ubuntu when I tried it a year ago).  The gNewSense installer worked perfectly fine, and gave me a happily-booting system without any additional configuration on my part.</p>
<p>
The rest of this post will be dedicated to the things I had to do to get the system working to my satisfaction after the initial installation.  Even though the hardware support is impressive, especially for a distribution which makes a point of removing any and all binary-only &#8220;blobs&#8221; from the kernel, there are a few things which I have found necessary to get a system which will eventually allow me to fully replace OS X. I&#8217;m documenting them here for my own benefit, and for the sake of anyone else who might be considering running gNewSense or Ubuntu on a MacBook.</p>
<p>
<b>1.  Getting the wireless card working.</b>  Prior to doing any system updates or installing any packages I might want, I had to get a working Internet connection.  We share a wireless connection here, so plugging in direct was not really an option for any length of time.  I used the <a href="http://madwifi.org">madwifi</a> drivers, which are not available as a gNewSense package (though they are now available in Ubuntu&#8217;s linux-restricted-modules package, according to the madwifi <a href="http://madwifi.org/wiki/UserDocs/Distro/Ubuntu">wiki</a>).  I don&#8217;t understand the licensing issues involved, because the COPYRIGHT file in the madwifi distribution says its source code is dual-licensed under the BSD and GPL licenses, which is good enough for me.</p>
<p>
There was one snag trying to get the wireless drivers to compile.  gNewSense DeltaH installs both the linux-image-2.6.24 and linux-image-2.6.24-generic kernels, but only the generic version properly uses both CPU cores, so that is naturally the one I was using.  However, the default installation does not install the kernel headers for the generic kernel build, so madwifi would not compile against it.  Therefore, it was necessary for me to plug into the wired connection and run</p>
<p><code><br />
$ sudo apt-get install linux-headers-2.6.24-generic<br />
</code></p>
<p>
before I could compile madwifi.  Once the Linux headers were installed, though, running</p>
<p><code><br />
$ make<br />
$ sudo make install<br />
</code></p>
<p>
in the madwifi directory worked flawlessly, and the kernel loads the driver at boot.</p>
<p>
<strong>Update:</strong> after installing the linux-libre kernel, version 2.6.29-1, from <a href="http://aligunduz.org/gNewSense/">Uncle Gnufs&#8217; World Famous Home Baked Free Kernel Shoppe</a>, wireless works without the Madwifi drivers.   The built-in ath9k driver is used instead, and I have experienced no problems with it so far.</p>
<p>
<b>2.  Getting the mouse working.</b>  The MacBook touchpad <i>mostly</i> works after a default installation, but a couple of features are missing that I really need and enjoy:</p>
<ul>
<li>right-clicking</li>
<li>two-finger scrolling</li>
</ul>
<p>Right-clicking is a must-have in any modern desktop environment, and it was actually the more difficult problem to solve.  I am still not sure if I like the solution, but for what it&#8217;s worth, this will work:
</p>
<ol>
<li>Install the <code>xkbset</code> package:<br />
<code><br />
$ sudo apt-get install xkbset<br />
</code></li>
<li>Create a file ~/.Xmodmap, and add the line:<br />
<code><br />
keycode 115 = Pointer_Button3<br />
</code><br />
Key code 115 is for the left Apple key.  You can use a different key if you wish; use the &#8220;xev&#8221; program to determine what the key codes for different control keys are.
</li>
<li>On the System menu, go to Preferences -&#62; Keyboard.  On the &#8220;Mouse Keys&#8221; tab, check &#8220;Allow to control the pointer using the keyboard.&#8221;</li>
<li>On the System menu, go to Preferences -&#62; Sessions.  On the &#8220;Startup Programs&#8221; tab, click &#8220;Add.&#8221;  Enter what you like for the name and comments; the command should be:<br />
<code><br />
xmodmap /home/username/.Xmodmap &#38;&#38; xkbset m<br />
</code><br />
(replacing &#8220;username&#8221; with your actual username).</p>
<li>Restart X with Ctrl-Alt-Backspace.</li>
<li>The LEFT Apple (Command) key will now simulate a right-click wherever the mouse pointer is.</li>
</ol>
<p>
At the moment, this solution is only working for me some of the time, and it doesn&#8217;t have the &#8220;native&#8221; feel of OS X&#8217;s Control-click for rightclick.  (Indeed, you don&#8217;t have to click the mouse button at all to get a right click.)  This feels uncoordinated to me, because the key is not a <i>modifier</i> for a normal mouse click (the way it is normally a modifier for a keypress); instead, it <i>is</i> a mouse click.  This means that whatever key you choose must be solely dedicated to right-clicking.  If anyone comes up with a better way to make a key/mouse-click combination function as a right click while still preserving the normal function of that key elsewhere, I would love to hear about it.</p>
<p>
Two finger scrolling is easier to set up, though I don&#8217;t have it working as smoothly as in OS X yet either.  Simply add these lines to your /etc/X11/xorg.conf file in the section which has the &#8220;Synaptics Touchpad&#8221; identifier:</p>
<p> <code><br />
	Option		"VertTwoFingerScroll" 	"1"<br />
	Option		"HorizTwoFingerScroll"	"1"<br />
	Option		"TapButton1"		"0"<br />
</code></p>
<p>
(If you don&#8217;t want horizontal two finger scrolling, set that to &#8220;0&#8243; instead of &#8220;1&#8243;.  The third line turns off tapping on the touchpad as a click; leave it out if you like being able to click with a tap.) There are a couple of issues with this so far.  First of all, the touchpad seems too sensitive to me:  two-finger scrolling goes very fast, and accidental brushes of my palm or thumbs on the touchpad can have drastic effects on whatever I&#8217;m doing in a way they never did in OS X.  Second, the right side of the touchpad also appears set up to be a scroll zone, which is redundant and unhelpful for me; I fixed this via the GUI (System -&#62; Preferences -&#62; Mouse -&#62; Touchpad -&#62; uncheck &#8220;Enable vertical scrolling&#8221;) but I don&#8217;t know how to set this permanently in the Xorg configuration, which I would like to do.  Again, suggestions are welcome.</p>
<p>
<b>3.  Installing GNU IceCat.</b>  <a href="http://www.gnu.org/software/gnuzilla/">IceCat</a> is the <a href="http://www.gnu.org">GNU Project&#8217;s</a> version of the Firefox browser.  I much prefer it to Epiphany (which was mysteriously eating my downloads), and it adds some nice security features that Firefox doesn&#8217;t have.  Downloading the .deb from ftp://ftp.gnu.org/gnu/gnuzilla/3.0.1-g1/ and installing it with dpkg worked fine.</p>
<p>
<strong>Update:</strong>  I&#8217;m having some difficulties getting <a href="http://www.gnu.org/software/gnash/">Gnash</a>, the GNU Flash player, to work with IceCat.  I tried installing <code>mozilla-plugin-gnash</code> via apt-get and creating a link to the installed <code>flashplugin-alternative.so</code> from the IceCat plugins directory&#8230;and IceCat promptly crashed when I tried to open a Flashy site.  I am going to assume that this is due to some kind of version conflict between the mozilla-plugin-gnash package and IceCat, and try compiling from source next.</p>
<p>
<strong>Update 2:</strong>  I compiled Gnash from source, and it works at last!  I still can&#8217;t play videos on Hulu or YouTube, because they use Flash 9, and Gnash doesn&#8217;t have support for them yet, but oh well.  Here are the steps to compile Gnash and the plugin for IceWeasel:</p>
<ol>
<li>Install dependencies:<br />
<code><br />
$ sudo apt-get install libboost-dev libboost-thread-dev libagg-dev libsdl1.2-dev libgstreamer0.10-dev libatk1.0-dev libatk1.0-dev libglib2.0-dev libgtk2.0-dev libungif-dev libjpeg-dev libboost-dev libboost-thread-dev libagg-dev libsdl1.2-dev libgstreamer0.10-dev libatk1.0-dev libatk1.0-dev libglib2.0-dev libgtk2.0-dev libgif-dev libjpeg-dev libxml2-dev libcurl3-dev libboost-date-time-dev libboost-serialization-dev<br />
</code>
</li>
<li>Obtain the Gnash 0.8.4 source .tar.bz2 from <a href="ftp://ftp.gnu.org/pub/gnu/gnash/">ftp://ftp.gnu.org/pub/gnu/gnash/</a>.</li>
<li>Unzip the sources:<br />
<code><br />
$ tar xjvf gnash-0.8.4.tar.bz2<br />
$ cd gnash-0.8.4<br />
</code></li>
<li>Configure the build for GTK (not KDE) and to install the IceCat plugin:<br />
<code><br />
$ ./configure --with-plugindir=/usr/local/lib/icecat-3.0.1-g1/plugins --enable-gui=gtk<br />
</code></li>
<li>Make and install:<br />
<code><br />
$ make<br />
$ sudo make install<br />
$ sudo make install-plugins<br />
</code></li>
</ol>
<p>
<b>4. Fixing font rendering.</b>  This solution comes from <a href="http://www.dtgeeks.com/journals/article/fix_up_that_linux_font_rendering/">Deep Thought</a>.  Add this XML to ~/.fonts.conf:</p>
<p><code><br />
&#60;?xml version="1.0"?&#62;<br />
&#60;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&#62;<br />
&#60;fontconfig&#62;<br />
  &#60;match target="font"&#62;<br />
    &#60;edit name="autohint" mode="assign"&#62;<br />
      &#60;bool&#62;true&#60;/bool&#62;<br />
    &#60;/edit&#62;<br />
  &#60;/match&#62;<br />
&#60;/fontconfig&#62;<br />
</code>  </p>
<p>
<b>Other outstanding issues</b>:</p>
<ul>
<li>Sound</li>
<li>Sleeping/hibernating:  the system does sleep (suspend to RAM) and resume, but after doing so, I can&#8217;t switch from GNOME to one of the text-based virtual terminals (e.g., via Ctrl+Alt+F2) &#8212; they&#8217;re all black.</li>
</ul>
<p>
That&#8217;s all for now.  I will update this post as I discover solutions for other issues.  </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Activating the comma instead of the dot in OOo Calc]]></title>
<link>http://beeznest.wordpress.com/2008/07/06/activating-the-comma-instead-of-the-dot-in-ooo-calc/</link>
<pubDate>Sun, 06 Jul 2008 05:46:25 +0000</pubDate>
<dc:creator>ywarnier</dc:creator>
<guid>http://beeznest.wordpress.com/2008/07/06/activating-the-comma-instead-of-the-dot-in-ooo-calc/</guid>
<description><![CDATA[This article was first written in May 2004 for the BeezNest technical website (http://glasnost.beezn]]></description>
<content:encoded><![CDATA[This article was first written in May 2004 for the BeezNest technical website (http://glasnost.beezn]]></content:encoded>
</item>
<item>
<title><![CDATA[Special keys on my Thinkpad R60]]></title>
<link>http://luzidity.wordpress.com/2008/05/02/special-keys-on-my-thinkpad-r60/</link>
<pubDate>Fri, 02 May 2008 07:29:14 +0000</pubDate>
<dc:creator>lucidity</dc:creator>
<guid>http://luzidity.wordpress.com/2008/05/02/special-keys-on-my-thinkpad-r60/</guid>
<description><![CDATA[I&#8217;ve been using Gentoo on my notebook for the past year or so which is why my HOWTO wiki on Th]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I&#8217;ve been using Gentoo on my notebook for the past year or so which is why <a title="Installing Slackware 11.0 on an IBM Thinkpad R60" href="http://www.thinkwiki.org/wiki/Installing_Slackware_11.0_on_a_ThinkPad_R60">my HOWTO wiki</a> on <a href="http://www.thinkwiki.org">Thinkwiki</a> has started to fall into disrepair.  Anyway, i got something working (which was really not a problem, but just something i hadn&#8217;t gotten around to.) The special keys are now (almost) fully functional.</p>
<h5>I created the file ~/.Xmodmap</h5>
<p>with the contents:</p>
<pre>keycode 115 = F13
keycode 162 = XF86AudioPlay
keycode 164 = XF86AudioStop
keycode 144 = XF86AudioPrev
keycode 153 = XF86AudioNext
keycode 117 = XF86Calculator
keycode 234 = F20
keycode 233 = F19</pre>
<p>and then ran:</p>
<h5>xmodmap ~/.Xmodmap</h5>
<p>for now i&#8217;m just concerned about keycodes 234 and 233 which are the forward page and backward page keys, just above their respective arrow key.  Keycode 115 is the right-click properties menu, but it seems to be tripping something in KDE that is making it difficult for me to get the key to do anything.  I used F13 and F14 because there&#8217;s no chance of a collision, and i know that they don&#8217;t already have a function assigned to them.</p>
<p>I then installed the extension Firefox extension <a href="http://extensionroom.mozdev.org/more-info/keyconfig">Keyconfig</a> and <a title="Functions for Keyconfig" href="http://www.pqrs.org/tekezo/firefox/extensions/functions_for_keyconfig/index.html">additional buttons for keyconfig extension.</a></p>
<p>After restarting, by setting the F19 and F20 to be the keys mapped to the function f4kc_PrevTab and f4kc_NextTab respectively i can now flip through all my open tabs in Firefox with these previously inert keys.</p>
<p>Success!!!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mapear teclas]]></title>
<link>http://linuxcool.wordpress.com/2008/04/05/mapear-teclas/</link>
<pubDate>Sat, 05 Apr 2008 04:43:43 +0000</pubDate>
<dc:creator>mstreetlinux</dc:creator>
<guid>http://linuxcool.wordpress.com/2008/04/05/mapear-teclas/</guid>
<description><![CDATA[En ocasiones, puede que nos veamos ante la ausencia de determinada tecla que necesitemos (por ejempl]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>En ocasiones, puede que nos veamos ante la ausencia de determinada tecla que necesitemos (por ejemplo, yo perdí la barra espaciadora de este teclado <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ).</p>
<p>Por este u otros motivos, nos puede ser útil mapear una tecla, o sea, redireccionarla hacia otra.</p>
<p>Para hacer esto disponemos de 2 herramientas:</p>
<ul>
<li><strong>loadkeys</strong>: trabaja con el mapa de teclado del kernel.</li>
<li><strong>xmodmap</strong>: trabaja con el mapa de teclado de X.Org.</li>
</ul>
<p><!--more--></p>
<h3>loadkeys</h3>
<p>En caso de que estemos en tty, tendremos que usar la primera. Su sintaxis básica es:</p>
<p><code>loadkeys [&#60;fichero&#62;]</code></p>
<p>&#60;fichero&#62; es un fichero opcional donde tienen que estar las expresiones a ejecutar. Si no lo especificamos, se lee la entrada estándar.</p>
<p>Para mapear la tecla &#60;tecla&#62; con la función &#60;función&#62;, podemos hacer lo siguiente:</p>
<p><code># loadkeys &#60;&#60;FIN<br />
keycode &#60;tecla&#62; = &#60;función&#62;<br />
FIN</code></p>
<p>Por ejemplo, para asignar a la tecla Bloq Mayús (58) la función «space» (espacio), hacemos:</p>
<p><code># loadkeys &#60;&#60;FIN<br />
keycode 58 = space<br />
FIN</code></p>
<h3>xmodmap</h3>
<p>Si estamos usando X.Org, en vez de loadkeys podemos usar xmodmap. Su sintaxis es parecida:</p>
<p><code>xmodmap [-e &#60;expresión&#62;] [&#60;fichero&#62;]</code></p>
<p>&#60;fichero&#62; es un fichero opcional donde tienen que estar las expresiones a ejecutar. En su lugar, podemos indicar expresiones con la opción -e, seguida de la expresión entre comillas.</p>
<p>Para mapear la tecla &#60;tecla&#62; con la función &#60;función&#62;, podemos hacer lo siguiente:</p>
<p><code># xmodmap -e "keycode &#60;tecla&#62; = &#60;función&#62;"</code></p>
<p>Por ejemplo, para asignar a la tecla Menú contextual (117) la función «space» (espacio), hacemos:</p>
<p><code># xmodmap -e "keycode 117 = space"</code></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mi nuevo teclado]]></title>
<link>http://libertadcero.wordpress.com/2008/03/14/mi-nuevo-teclado/</link>
<pubDate>Sat, 15 Mar 2008 01:24:19 +0000</pubDate>
<dc:creator>ggerman</dc:creator>
<guid>http://libertadcero.wordpress.com/2008/03/14/mi-nuevo-teclado/</guid>
<description><![CDATA[Hace tiempo que queria agregarle algo a mi Pc, y se me dio por cambiar mi pobre teclado Genius de 10]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://libertadcero.wordpress.com/files/2008/03/teclado-ergomidia700-genius.jpg" title="teclado-ergomidia700-genius.jpg"><img src="http://libertadcero.wordpress.com/files/2008/03/teclado-ergomidia700-genius.thumbnail.jpg" alt="teclado-ergomidia700-genius.jpg" align="left" /></a>Hace tiempo que queria agregarle algo a mi Pc, y se me dio  por cambiar mi pobre teclado Genius de 105 teclas por un teclado con algunas cosillas mas.</p>
<p><!--more--><a href="http://libertadcero.wordpress.com/files/2008/03/ergomedia7gif.jpeg" title="ergomedia7gif.jpeg"><img src="http://libertadcero.wordpress.com/files/2008/03/ergomedia7gif.thumbnail.jpeg" alt="ergomedia7gif.jpeg" align="right" /></a> Creo que el Genius ErgoMedia 700 cumple con mis necesidades, aunque para configurar algunas teclas tuve que hacer unos pases mágicos (en los que me ayudo un amigo con consejos de que utilizar). En 45&#8242; tenia funcionando la tecla de Home y Correo además de la www.</p>
<p>Además tiene el sonido integrado al teclado, y es usb trae una ruedita como la del mouse para hacer Scroll en la pantalla, y un Zoom que aun no configuré.</p>
<p>Tiene control de volumen y varias cosas para audio que Kde las tomo al toque una vez que seleccione un teclado parecido.</p>
<div style="background-color:#000000;color:#ffffff;"> ggerman@simplondio:~$ cat .xmodmaprc</p>
<p>keycode 198 = XF86MyComputer<br />
keycode 130 = XF86WWW<br />
keycode 122 = XF86Search</p>
<p>ggerman@simplondio:~$ xmodmap .xmodmaprc<br />
ggerman@simplondio:~$</p></div>
<p>Con esa configuración le agrego 3 teclas que Kde no reconocia.<br />
Saludos y estoy posteando fotos en estos días.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[[Computer]AltとTabのキー交換]]></title>
<link>http://kahjin.wordpress.com/2008/03/03/computeralt%e3%81%a8tab%e3%81%ae%e3%82%ad%e3%83%bc%e4%ba%a4%e6%8f%9b/</link>
<pubDate>Mon, 03 Mar 2008 16:55:09 +0000</pubDate>
<dc:creator>kahjin</dc:creator>
<guid>http://kahjin.wordpress.com/2008/03/03/computeralt%e3%81%a8tab%e3%81%ae%e3%82%ad%e3%83%bc%e4%ba%a4%e6%8f%9b/</guid>
<description><![CDATA[このエントリーでtabとAltのキー位置を交換したく、いろいろ調べていたら、xmodmapというのを知った。とりあえず、shellでxmodmapと打ち込むと、以下の文が出てくる。また、オプションで-]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p align="left"><a href="http://kahjin.wordpress.com/2008/02/26/computer%e5%8f%b3%e3%82%b7%e3%83%95%e3%83%88%e3%82%ad%e3%83%bc%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%84%e3%81%aa%e3%81%84%e3%81%93%e3%81%a8%e3%81%ab%e6%b0%97%e3%81%8c%e4%bb%98%e3%81%84%e3%81%9f/">このエントリー</a>でtabとAltのキー位置を交換したく、いろいろ調べていたら、xmodmapというのを知った。とりあえず、shellでxmodmapと打ち込むと、以下の文が出てくる。また、オプションで-pkeを付けると、keycode(キーコード)とkeysym(キーシンボル) の対応一覧表が出てくる(載せたいのだが、縦にすごく長いので、割愛する)。</p>
<p align="left">
<p align="left">xmodmap:  up to 3 keys per modifier, (keycodes in parentheses):</p>
<p align="left">shift       Shift_L (0&#215;32),  Shift_R (0&#215;3e)</p>
<p align="left">lock        Caps_Lock (0&#215;25) control     Control_L (0&#215;42),  Control_R (0&#215;6d)</p>
<p align="left">mod1        Alt_L (0&#215;40),  Alt_L (0&#215;7d),  Meta_L (0&#215;9c)</p>
<p align="left">mod2        Num_Lock (0&#215;4d)</p>
<p align="left">mod3<br />
mod4        Super_L (0&#215;7f),  Hyper_L (0&#215;80)<br />
mod5        Mode_switch (0&#215;5d),  ISO_Level3_Shift (0&#215;7c)</p>
<blockquote></blockquote>
<p>Caps LockやCtrlキーはmodifier(他のキーを修飾するもの）というらしい。 それで、いつぞやどこかでみたCaps LockとCtrlキーを入れ替える具合にtabとAlt_Lに関してやってみた。以下はその設定である。</p>
<p>!<br />
! swap Alt_L and Tab<br />
!<br />
remove mod1 = Alt_L<br />
keysym Alt_L = Tab<br />
keysym Tab = Alt_L<br />
add mod1 = Alt_L</p>
<blockquote></blockquote>
<p>これを~/.Xmodmapという設定ファイル名にし、保存した。これを起動時に読み込まれる設定ファイル(~/.xssesionや~/.xinitrc)に追加するのだが、session-errorが起きたので、何が間違っていたのかよくわからない。結果だけはわかっていたので、そのファイルを削除したのだが。試しに、なにもしないで、emacsを起動すると、tabとAltキーが交換されていて、Tabの位置がMeta-として、使えるようになっていた。まあ、Tabにもいろいろ機能があるみたいなので、Altの位置が気に入らなかったら、また考えるかもしれない。</p>
<p>これから、このTab(Meta-)と 奇妙な生活が始まる&#8230;</p>
<p>・<b>参考</b></p>
<p><a href="http://steve.yegge.googlepages.com/effective-emacs">10 Specific Ways to Improve your Productivity With Emacs</a></p>
<h3><a href="http://steve.yegge.googlepages.com/effective-emacs"><br />
</a></h3>
<p>追記：2008/04/14<br />
<a href="http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds6/xmodmap.htm">xmodmap コマンド</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cherry Evolution Stream and Linux]]></title>
<link>http://nablasquared.wordpress.com/2008/01/03/cherry-evolution-stream-and-linux/</link>
<pubDate>Thu, 03 Jan 2008 17:49:22 +0000</pubDate>
<dc:creator>nablasquared</dc:creator>
<guid>http://nablasquared.wordpress.com/2008/01/03/cherry-evolution-stream-and-linux/</guid>
<description><![CDATA[This time I write about my new keyboard: the cherry evolution stream. I primarily decided to buy a n]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>This time I write about my new keyboard: the cherry evolution stream.  I primarily decided to buy a new one because I wanted to switch to the US layout, which has it&#8217;s advantages when coding or just because I am used to write with the US layout at university.  I bought it at <a href="http://www.keybo.de/">keybo.de</a> where it is possible to get almost every possible layout, they sent it very fast and payment was possible via bill so I can recommend that shop.</p>
<p>So far I have no problems with the keyboard, I quite like it.  I plugged it into the keyboard PS/2 port (is there an advantage of using an USB port?) and it worked out of the box under linux.  I use just the standard xorg kdb driver for X:<br />
<code>Section "InputDevice"<br />
Identifier  "Keyboard0"<br />
Driver      "kbd"<br />
Option      "XkbModel" "pc105"<br />
Option      "XkbLayout" "us"<br />
EndSection</code><br />
although even auto-detection in never xorg versions should work.  Only the multimedia buttons do not work without additional configuration but I did not expect that, where would be the fun? <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />   So it was a rather easy task to get all the keycodes using xev and combine them with the appropriate actions.  Add<br />
<code>keycode 160 = XF86AudioMute<br />
keycode 174 = XF86AudioLowerVolume<br />
keycode 176 = XF86AudioRaiseVolume<br />
keycode 144 = XF86AudioPrev<br />
keycode 162 = XF86AudioPlay<br />
keycode 153 = XF86AudioNext</code><br />
to your .Xmodmap file (or wherever you thinks it&#8217;s best) and &#8230; run it through xmodmap:<br />
<code>xmodmap .Xmodmap</code>  .<br />
To use the volume buttons you may want to install kmilo under kde.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Logitech G5 refresh, xorg and Firefox]]></title>
<link>http://nablasquared.wordpress.com/2007/12/31/logitech-g5-refresh-xorg-and-firefox/</link>
<pubDate>Mon, 31 Dec 2007 00:49:07 +0000</pubDate>
<dc:creator>nablasquared</dc:creator>
<guid>http://nablasquared.wordpress.com/2007/12/31/logitech-g5-refresh-xorg-and-firefox/</guid>
<description><![CDATA[My new mouse, the Logitech G5 refresh (edit: the one with 2 thumb buttons), works really nice under ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>My new mouse, the Logitech G5 refresh (<i>edit:</i> the one with 2 thumb buttons), works really nice under Linux.  The only minor issue I had was that the direction of the <i>horizontal</i> scrolling was swapped.  I solved this with the following code in my xorg.conf (xorg-server-1.3.0.0-r2,  xf86-input-evdev-1.1.5-r2 as Gentoo packages, the appropriate evdev kernel modules have to be loaded):<br />
<code>Section "InputDevice"<br />
Identifier "Mouse0"<br />
Driver "evdev"<br />
Option "CorePointer"<br />
Option "Name" "Logitech USB Gaming Mouse"<br />
Option "HWHEELRelativeAxisButtons" "7 6"<br />
EndSection</code><br />
No further setup is needed, all buttons and scroll wheel direction work out of the box; especially no xmodmap is needed.  The dpi setting buttons work too.  However, at the moment, one can only set the mouse to 400, 800 or 2000dpi.  A customization will hopefully be possible when <a href="http://www.lomoco.org/">lomoco</a> supports the G5.</p>
<p>Using the settings above let you scroll horizontally eg in konqueror or OpenOffice.  Firefox sets it to &#8220;go back/forward one page&#8221; by default.  To scroll, set <code>mousewheel.horizscroll.withnokey.action</code> and <code>mousewheel.horizscroll.withnokey.numlines</code> (<i>edited</i>, thanks to Deth for pointing out a mistake) to 1 in the <code>about:config</code> dialogue.  The default behaviour is reached with ALT+wheel.</p>
<p>Although xev prints the thumb buttons&#8217; pressing correctly, there isn&#8217;t any function yet AFAICS.  Unfortunatly (for me) KDE cannot assign actions to mouse buttons.  This is possible with xbindkeys, which is configured via  .xbindkeysrc.  Here is mine (<i>edit:</i> which sets actions for both thumb buttons):<br />
<code>"xvkbd -text "\[F13]""<br />
b:8<br />
"xvkbd -text "\[Control]\[Prior]""<br />
b:9<br />
"xvkbd -text "\[Control]\[Next]""<br />
Control + b:9</code><br />
xbindkeys, however, cannot assign simple key combinations but only shell commands so &#8212; you guessed it &#8212; another tool is needed: xvkbd.  Now button 8 simulates a F13 which is not on my keyboard but can be assigned by KDE and button 9 gives a CTRL+PageUp, which cycles through the tabs in firefox; CTRL+Button9 does the obvious thing. I guess I&#8217;m happy now but, nonetheless, I hope KDE 4 makes the use of extra mouse buttons a bit easier.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Configurando un teclado multimedia en Debian GNU/Linux]]></title>
<link>http://denjohx.wordpress.com/2007/09/29/configurando-un-teclado-multimedia-en-debian-gnulinux/</link>
<pubDate>Sun, 30 Sep 2007 05:09:01 +0000</pubDate>
<dc:creator>denjohx</dc:creator>
<guid>http://denjohx.wordpress.com/2007/09/29/configurando-un-teclado-multimedia-en-debian-gnulinux/</guid>
<description><![CDATA[Es un martes por la mañana, caminas hacia tu pc dispuesto a otro largo día de trabajo, quieres termi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Es un martes por la mañana, caminas hacia tu pc dispuesto a otro largo día de trabajo, quieres  terminar la tésis o redactar el nuevo artículo para la editorial (del que ya te atrasaste un día), o quizá solo quieras seguir ligando a la chica del otro lado del mundo que conociste &#8220;por accidente&#8221; el otro día en su hi5. Te sientas frente al ordenador con tu taza de café de todos los días, excepto que hoy tienes una extraña sensación&#8230;</p>
<p><!--more--></p>
<p>Es entonces es cuando lo ves y te acuerdas:  está allí, sobre tu escritorio, estático, vano, inservible. Sientes esa extraño cosquilleo en la nuca, ese sentimiento mezcla de  miedo, enojo y frustración, al recordar que ayer solo dejaste el ordenador porque el teclado que no te acuerdas desde cuando lo tienes ha dejado de responder.Ese al que nunca lo tomaste en serio porque era solo algo más, ahora ya no lo puedes usar. Ese con el que escribiste el mail que te salvo el empleo, o el que solo usas para la mensajería instantánea, ha dejado de ser útil, o al que ya no se le veían las teclas &#8220;w a s d&#8221; porque todo el día juegas al Alien Arena o al Tremolous&#8230; y sin embargo nunca lo tomaste en serio.</p>
<p>Ha llegado el día en que tu teclado ha dejado de funcionar bien, es hora de olvidarte de él, echarlo a la basura (no&#8230; mejor reciclarlo <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) y comprar uno nuevo.</p>
<p>O simplemente y sencillamente te has comprado un nuevo pc, o conocen lo geek que eres y alguien te regala un teclado nuevo.</p>
<p>Ahora todo ha cambiado, ves tu nuevo y flamante teclado, todo lleno de botoncillos que quizá nunca llegues a usar (o que en verdad no sirven de nada :S ). El problema está en que ninguno funciona, por mas que los oprimes no sucede nada, o solo funcionan ciertas teclas y las demás bien gracias. Y lo peor de todo es que tus amigos/familiares/colegas te dicen que en el hasefrochito si funcionan bien todos, que debe ser que tu maravillosa Debian no puede con ese simple teclado, o es que GNU/Linux no es para estas cosas&#8230; Pero puedes demostrarles que tu puedes hacer con esas teclas lo que sea, desde abrir el amarok (o el listen), hasta activar el sistema de riego del jardín (eso queda para otra guía <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) y configurar el teclado en menos de 10 minutos.</p>
<h3>Bueno, ya estuvo bueno de parloteo, ahora vamos al grano.</h3>
<p>Los teclados multimedia a menudo necesitan cds o diskettes de instalación que solo funcionan en hase, pero no quiere decir que el teclado en sí no envíe datos al pc si no ha instalado ese software, ya que lo único que éste hace es decirle al sistema como actuar cuando sean pulsados los botones extra.</p>
<p>En GNU/Linux es solo cuestión de hacerlo manualmente, identificando los botones y dictando las acciones que se realizarán.</p>
<p>Esta guía trata acerca de como configurar estas teclas <strong>dentro de una sesión gráfica</strong>, para que puedan ser configurados en <strong>cualquier escritorio</strong>,  pensado para usar herramientas comúnes entre distintas distros y <strong>sin instalar ningún nuevo demonio</strong> (cosa que hacen ciertos programas automatizados)</p>
<h3> Primero: Determinando los keycodes.</h3>
<p>Los keycodes son la traducción que hace el sistema a los datos enviados por el teclado. Cada tecla genera keycodes distintos pero basados en estándares, (al menos en el caso de 104-105 teclas que posee comúnmente un teclado de escritura occidental) en el caso de los botones multimedia, y ya que no existe un estándar propiamente dicho, los fabricantes les colocan los que les venga en gana a los botones, total si incluyen un sofware que lo configure todo pues&#8230;.</p>
<p>Para saber que keycode corresponde a cada uno de los botones usamos una aplicación llamada &#8220;xev&#8221; que se especializa en informar de los eventos que ocurran en X, debemos lanzarla desde un emulador de terminal (por ejemplo konsole, gnome-terminal, xterm, yakuake, etc.) estando en el servidor gráfico (no en las tty):</p>
<p><code>~$ xev</code></p>
<p>Luego de esto aparecerá una ventanita llamada &#8220;Event Tester&#8221; que es la que &#8220;siente&#8221; todo lo que haga sobre ella el mouse y el teclado, mientras que en en la terminal desde donde la hemos lanzado van apareciendo los eventos.</p>
<p>Teniendo seleccionado el Event Tester vamos presionando los botones multimedia uno a uno y viendo lo que sale en la terminal. En mi caso al presionar el boton &#8220;Play&#8221;:<br />
<code>KeyRelease event, serial 31, synthetic NO, window 0x2e00001,<br />
root 0x63, subw 0x0, time 1412932703, (92,-5), root:(163,415),<br />
state 0x10, <strong>keycode 162</strong> (keysym 0x0, <strong>NoSymbol</strong>), same_screen YES,<br />
XLookupString gives 0 bytes:<br />
XFilterEvent returns: False</code></p>
<p>Como ven aparece el <strong>keycode 162</strong> y además <strong>NoSymbol</strong>, esto significa que no se ha definido ninguna acción o caractér para el botón. Ahora lo que falta hacer es que el sistema interprete de alguna forma estos códigos.</p>
<h3>Segundo: Definiendo los símbolos para los keycodes usando xmodmap.</h3>
<p>xmodmap es una sencilla aplicacion de consola que permite modificar &#8216;al vuelo&#8217; el mapa de caracteres del teclado para las X (agregando, eliminando o intercambiando símbolos).</p>
<p>Primero creamos un fichero de texto sin formato que contenga los keycodes y sus respectivos símbolos, uno por línea, de la siguiente forma:<br />
<code><br />
keycode N = símbolo</code></p>
<p><code></code>Donde N es el número de keycode que obtuvimos con xev, y símbolo es cualquier nombre con el que querramos identificar al botón en cuestión.</p>
<p>Ojo que debe ser un fichero de texto plano sin formato, no vale hacerlos con opeoffice, koffice y demás editores que insertan formatos raros a los documentos, debe ser texto puro y sin formatos especiales (pueden hacerse por ejemplo con kate, gedit, vi, etc.).</p>
<p>El fichero lo guardamos con el nombre <code>.xmodmap</code> o <code>.xmodmaprc</code> en nuestro directorio home, en realidad el nombre puede ser cualquiera que se os antoje, pero si lleva alguno de estos es posible que los entornos de escritorio y/o dependiendo de la distro que usemos, sea detectado y aplicado automáticamente al próximo inicio de sesión.</p>
<p>Noten que el nombre del fichero comienza con un punto, esto significa que estará oculto y no nos estorbará al ver los archivos guardados en nuestro home.</p>
<p>Como ejemplo les dejo mi .xmodmaprc:<br />
<code><br />
keycode 144 = XF86AudioPrev<br />
keycode 153 = XF86AudioNext<br />
keycode 160 = XF86AudioMute<br />
keycode 161 = XF86Calculator<br />
keycode 162 = XF86AudioPlay<br />
keycode 164 = XF86AudioStop<br />
keycode 174 = XF86AudioLowerVolume<br />
keycode 176 = XF86AudioRaiseVolume<br />
keycode 178 = XF86HomePage<br />
keycode 222 = XF86PowerDown<br />
keycode 223 = XF86Sleep<br />
keycode 227 = XF86WakeUp<br />
keycode 229 = XF86Search<br />
keycode 230 = XF86Favorites<br />
keycode 231 = XF86Refresh<br />
keycode 232 = XF86Stop<br />
keycode 233 = XF86Forward<br />
keycode 234 = XF86Back<br />
keycode 235 = XF86MyComputer<br />
keycode 236 = XF86Mail<br />
keycode 237 = XF86AudioMedia<br />
</code></p>
<p>Si se preguntan de donde saqué esos nombres para los botones &#8230;¡que tan raros que se ven!, &#8230;. bueno pues están definidos en el fichero <code>/usr/include/X11/XF86keysym.h</code> y si utilizamos estos pues tenemos la ventaja de que muchas aplicaciones traen predefinidos los atajos de teclas con estos nombres, por lo que no tenderemos que configurarlas después de terminar con esta guía <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<h3> Aplicando las configuraciones</h3>
<p>Para terminar y ver los resultados de todo lo que hemos hecho hasta ahora pues es tiempo de aplicar los cambios:<br />
<code>~$ xmodmap .xmodmaprc</code> (sustituyan el .xmodmap por el nombre de su fichero en caso de haberle puesto otro)<br />
Ahora solo falta probar las teclas de nuevo con el xev, despues de aplicar los cambios con xmodmap el resultado de presionar alguna tecla especial (en mi caso):<br />
<code><br />
KeyRelease event, serial 31, synthetic NO, window 0x2e00001,<br />
root 0x63, subw 0x0, time 1418716437, (102,-28), root:(106,413),<br />
state 0x0, <strong>keycode 174</strong> (keysym 0x1008ff11, <strong>XF86AudioLowerVolume</strong>), same_screen YES,<br />
XLookupString gives 0 bytes:<br />
XFilterEvent returns: False<br />
</code><br />
Como ven ahora aparece que el símbolo XF86AudioLowerVolume está asignado al keycode 174, muy bien, ¿no creen? <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<h4>Haciendo que se apliquen los cambios al iniciar sesión.</h4>
<p>El problema ahora es que los cambios solo se mantienen mientras no salgan de la sesión, en algunos casos (como he escrito arriba) se autodetectará el fichero de configuración y se aplicará sin problemas, si esto no ocurre tenemos la opción de hacerlo a mano todas las veces (con una simple llamada a xmodmap y pasándole como argumento el fichero que hemos creado), o incluír el comando de llamada a xmodmap en el autoarranque del escritorio que utilicemos (KDE, GNOME, Xfce, Fluxbox, Blackbox, etc.) &#8230;en esta guía solo diere <strong>cómo hacerlo para KDE</strong>:</p>
<p>Creamos otro fichero de texto en el directorio ~/.kde/Autostart/ que contenga el comando hemos utilizado para aplicar los cambios.</p>
<p>Si al fichero de los keycodes le han puesto el nombre que sugería (.xmodmaprc) el contenido de este otro fichero sería:</p>
<p><code>#!/bin/bash<br />
xmodmap .xmodmaprc<br />
exit</code></p>
<p><strong>Nota:</strong> Este fichero debe escribirse en texto plano y tener la extensión .sh (script para sh/bash), un ejemplo de nombre para este archivo podría ser <code>Script_teclas.sh</code>. Además este fichero ha de tener permisos de ejecución, para dar permisos de ejecución a cualquier fichero se puede usar  el comando <code>$ chmod +x Fichero</code>.</p>
<p>Luego ya solo queda configurar las aplicaciones que querramos lanzar con con los botones, en kde se puede hacer desde Centro de Control &#8211;&#62; Regionalidad y accesibilidad &#8211;&#62; Accesos rápidos de teclado.<br />
Para controlar aplicaciones como amarok, las configuraciones se hacen en el mismo programa, donde se le puedan indicar accesos rápidos globales de teclado.</p>
<p>Si se quiere controlar algún programa que no posea accesos globales se puede optar por realizar un script (cosa que va mas allá de los alcances de esta guía) y configurar un acceso rápido desde el Centro de control para lanzarlo.</p>
<p>Espero que esta guía le sirva a alguien (si es que alguien la lee <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ) y que comenten acerca de como les ha parecido y también si tienen alguna sugerencia para mejorarla.<br />
Saludos.</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
