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

<channel>
	<title>tensixtyone &#187; module</title>
	<atom:link href="http://tensixtyone.com/tags/module/feed" rel="self" type="application/rss+xml" />
	<link>http://tensixtyone.com</link>
	<description>Rants of Andrew Williams / Nik_Doof</description>
	<lastBuildDate>Fri, 25 Jun 2010 10:58:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Input based EeePC ACPI module</title>
		<link>http://tensixtyone.com/perma/input-based-eeepc-acpi-module</link>
		<comments>http://tensixtyone.com/perma/input-based-eeepc-acpi-module#comments</comments>
		<pubDate>Mon, 31 Mar 2008 10:30:00 +0000</pubDate>
		<dc:creator>Andrew Williams</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[eeepc]]></category>
		<category><![CDATA[eeepc-acpi]]></category>
		<category><![CDATA[hal]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[module]]></category>

		<guid isPermaLink="false">http://blog.tensixtyone.com//2008/03/31/input-based-eeepc-acpi-module</guid>
		<description><![CDATA[The eee-acpi module, hacked by Asus from the asus-laptop module, currently manages the kill switches for the various extra hardware (wifi, cardreader, webcam) and also handles the extra Fn keys via ACPI events. While hotkeys via ACPI are well supported by acpid and its ilk it is no longer the best way to handle these [...]]]></description>
			<content:encoded><![CDATA[<p>The eee-acpi module, hacked by Asus from the <a href="http://sourceforge.net/projects/acpi4asus/">asus-laptop</a> module, currently manages the kill switches for the various extra hardware (wifi, cardreader, webcam) and also handles the extra Fn keys via <span class="caps">ACPI</span> events.</p>
<p>While hotkeys via <span class="caps">ACPI</span> are well supported by acpid and its ilk it is no longer the best way to handle these types of keys. Generally, the drivers for the mainstream laptops (ibm/lenovo, hp) have moved over to the input framework to communicate these key presses, usually displaying as an extra input device under /dev/input. These input devices can be handled by <span class="caps">HAL</span> and notifications of key presses send over the dbus allowing for desktop environments such as <span class="caps">GNOME</span> to handle these events without any strange hackery and fakekeys calls.</p>
<p>Thanks to the previous work of the asus-laptop <a href="http://blog.eikke.com/index.php/ikke/2007/08/15/asus_laptops_multimedia_keys_and_input">developers</a> there’s a <a href="http://key.nicolast.be/files/asus_acpi_to_input.patch">patch</a> that exists to disable the existing <span class="caps">ACPI</span> events and provide a input device for the extra keys, I&#8217;ve managed to hack together a version of the eeepc-acpi module using the Debian 1.01 source to export the &#8220;Asus Extra Buttons&#8221; input device.</p>
<p>After you have the inputs available, it’s a simple matter of producing a <a href="http://people.freedesktop.org/~hughsient/quirk/quirk-keymap-index.html"><span class="caps">FDI</span> for <span class="caps">HAL</span></a> to identify the device and map the scan codes to the actual keys. After the initial <span class="caps">FDI</span> was created I could use the volume keys without any extra software and also map the two application buttons (marked as <span class="caps">VGA</span> switch, and AP button) in <span class="caps">GNOME</span> to call scripts. The wifi key (Fn+F2) presented more of a problem, while it was mapped to “wifi” <span class="caps">HAL</span> didn’t know how to actually switch off the Atheros card. The killswitch for the card would need to be implemented as a program that listens to dbus, something a little outside my skill set.</p>
<p>The other buttons on the keyboard (sleep, brightness) are pure <span class="caps">ACPI</span> calls. This presents a problem that the keys produce events via the input layer and the <span class="caps">ACPI</span> layer at the same time, so for example you hit the brightness down button and <span class="caps">HAL</span> will pickup the notification and display the brightness <span class="caps">OSD</span>, but it quickly goes out of sync as what <span class="caps">HAL</span> sees and what the <span class="caps">ACPI</span> are doing are completely separate. Again, this is outside my skill set but I’d probably approach it by filtering out the keys in the kernel and let the <span class="caps">ACPI</span> events do their work.</p>
<p>The guys over at Fedora have a <a href="http://fedoraproject.org/wiki/EeePc">similar idea</a> of moving over to an input based module, but for the moment no source has been produced. Due to the numerous little issues I’ve had I’ve decided to put this little project on the back-burner until I see what the Fedora people have produced, after all they’ll have people that are more experienced in this type of thing, whereas I am not.</p>
<p>I’ll get round to posting the source deb for the modified eee-acpi tonight or tomorrow.</p>
]]></content:encoded>
			<wfw:commentRss>http://tensixtyone.com/perma/input-based-eeepc-acpi-module/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
