<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Saintdanbert</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Saintdanbert"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Saintdanbert"/>
	<updated>2026-04-22T17:32:41Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X61&amp;diff=46084</id>
		<title>Installing Ubuntu 9.10 (Karmic Koala) on a ThinkPad X61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X61&amp;diff=46084"/>
		<updated>2010-02-18T01:03:19Z</updated>

		<summary type="html">&lt;p&gt;Saintdanbert: /* Accessories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[User:Jdthood|I]] installed Ubuntu 9.10 on the same ThinkPad {{X61}} that [[Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61|I installed Ubuntu 8.10 on last year]].&lt;br /&gt;
&lt;br /&gt;
This time I installed from DVD+R using the [[Ultrabay Slim Multi-Burner III Drive]] in the [[UltraBase X6]].&lt;br /&gt;
&lt;br /&gt;
== DMI info for this model ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dmidecode -s system-manufacturer&lt;br /&gt;
LENOVO&lt;br /&gt;
# dmidecode -s system-product-name&lt;br /&gt;
7673CTO&lt;br /&gt;
# dmidecode -s system-version&lt;br /&gt;
ThinkPad X61&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problem: Kernel misdetects memory ==&lt;br /&gt;
Right at the beginning there was an important obstacle to overcome.  The installed kernel would panic on boot.&lt;br /&gt;
&lt;br /&gt;
I ran &amp;lt;tt&amp;gt;memtest+&amp;lt;/tt&amp;gt; from the installation disc to see if I had a memory problem.  It reported errors above 4 GiB.  That's odd, because I only have 4 GiB of RAM installed.&lt;br /&gt;
&lt;br /&gt;
I surmised that the new kernel, version 2.6.31-14-generic-pae, errs in reckoning the amount of installed RAM.  And indeed, the&lt;br /&gt;
solution to the kernel panic was to add &amp;lt;tt&amp;gt;mem=4096M&amp;lt;/tt&amp;gt; to the kernel boot parameter list.&lt;br /&gt;
&lt;br /&gt;
== Suspend &amp;amp; resume ==&lt;br /&gt;
&lt;br /&gt;
(In &amp;lt;i&amp;gt;Intrepid&amp;lt;/i&amp;gt; suspend &amp;amp; resume was unusable because the machine frequently locked up sometime after resume.  Furthermore the WLAN card was unusable after resume.)&lt;br /&gt;
&lt;br /&gt;
Having tried it repeatedly I can report that in Karmic suspend &amp;amp; resume does work more or less correctly.  After resume the Atheros WLAN card is re-enabled and NetworkManager reconnects to my wireless network.  That's progress!  &lt;br /&gt;
&lt;br /&gt;
There are still a couple of glitches, though.&lt;br /&gt;
* Once I had to enter my password twice on resume.  The password dialog appeared as usual, with a black background, but on this one occasion it did not disappear; instead the background was replaced by the desktop which was unresponsive until I entered my password into the dialog box a second time.  Weird.&lt;br /&gt;
* If suspended while playing an audio disk then, on resume, audio play does not continue.  Instead the audio disk is detected as a new disk and the user is invited to start the music player, even though there is already a music player process running.&lt;br /&gt;
&lt;br /&gt;
== Docking ==&lt;br /&gt;
=== Docking ===&lt;br /&gt;
The ThinkPad {{X61}} can be docked in an [[UltraBase X6]] in which case the X61 can use the ports and drives in the UltraBase.&lt;br /&gt;
&lt;br /&gt;
=== Undocking ===&lt;br /&gt;
Unlike [[Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61#Hard freeze on undock from UltraBase|with the previous versions of Ubuntu]] the X61 can be removed from the [[UltraBase X6]] without danger of locking up.  Formerly, drives installed in the Ultrabay [[Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61#Hard freeze on undock from UltraBase|had to be deleted]] before undocking in order to prevent a hard lockup, but now nothing has to be done to prevent a hard lockup on undock.  That is progress.  &lt;br /&gt;
&lt;br /&gt;
It does seem, however, that the &amp;quot;prepare to undock&amp;quot; button (on the UltraBase, next to the eject lever) has to be pressed before undocking, otherwise USB devices connected to the UltraBase will not work after redocking.&lt;br /&gt;
&lt;br /&gt;
After pressing the &amp;quot;prepare to undock&amp;quot; button the USB devices connected to the UltraBase and drives installed in the latter's Ultrabay cease to function&amp;amp;mdash;as expected.  However, a monitor connected to the UltraBase's video port continues to function.  The desktop remains the same size even after physical undocking; windows that were visible on the external monitor then become invisible.&lt;br /&gt;
&lt;br /&gt;
I haven't done more thorough testing yet; e.g., I haven't checked to see what happens if, when undocking, volumes are mounted on devices connected to the UltraBase.&lt;br /&gt;
&lt;br /&gt;
=== Redocking ===&lt;br /&gt;
After redocking, USB devices, external monitors and UltraBase drives work again.  Nice.&lt;br /&gt;
&lt;br /&gt;
==== Problem: Display configuration not restored on redock ====&lt;br /&gt;
However, there is a bug.  After redocking the display is refreshed and the monitors do not have their original relative positions; furthermore the display appearance is different&amp;amp;mdash;different icons, etc.&amp;amp;mdash;as if the wrong theme is selected.  Running System | Preferences | Appearances (without doing anything further) suffices to restore the display configuration.&lt;br /&gt;
&lt;br /&gt;
=== Contents of &amp;lt;tt&amp;gt;/sys/devices/platform/dock.*/&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Under &amp;lt;tt&amp;gt;/sys/devices/platform&amp;lt;/tt&amp;gt; there are directories &amp;lt;tt&amp;gt;dock.0&amp;lt;/tt&amp;gt; through &amp;lt;tt&amp;gt;dock.3&amp;lt;/tt&amp;gt; with these contents:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/sys/devices/platform$ ls -l dock.0&lt;br /&gt;
total 0&lt;br /&gt;
-r--r--r-- 1 root root 4096 2009-11-22 18:59 docked&lt;br /&gt;
-r--r--r-- 1 root root 4096 2009-11-22 19:22 flags&lt;br /&gt;
-r--r--r-- 1 root root 4096 2009-11-22 19:22 modalias&lt;br /&gt;
drwxr-xr-x 2 root root    0 2009-11-22 19:22 power&lt;br /&gt;
lrwxrwxrwx 1 root root    0 2009-11-22 18:59 subsystem -&amp;gt; ../../../bus/platform&lt;br /&gt;
-r--r--r-- 1 root root 4096 2009-11-22 19:22 type&lt;br /&gt;
-rw-r--r-- 1 root root 4096 2009-11-22 19:59 uevent&lt;br /&gt;
-r--r--r-- 1 root root 4096 2009-11-22 19:22 uid&lt;br /&gt;
--w------- 1 root root 4096 2009-11-22 19:22 undock&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After pressing the &amp;quot;prepare to undock&amp;quot; button on the UltraBase the content of two of the &amp;quot;docked&amp;quot; files changes.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+ content of &amp;lt;tt&amp;gt;/sys/devices/platform/dock.&amp;lt;b&amp;gt;n&amp;lt;/b&amp;gt;/&amp;lt;/tt&amp;gt; files&lt;br /&gt;
! n !! &amp;lt;tt&amp;gt;type&amp;lt;/tt&amp;gt; !! content of &amp;lt;tt&amp;gt;docked&amp;lt;/tt&amp;gt; when docked !! content of &amp;lt;tt&amp;gt;docked&amp;lt;/tt&amp;gt; after pressing &amp;quot;prepare to undock&amp;quot; button&lt;br /&gt;
|-&lt;br /&gt;
| 0 || dock_station || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || battery_bay || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 2 || ata_bay || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 3 || ata_bay || 1 || 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
On the other hand, if the X61 is removed from the UltraBase without pressing the &amp;quot;prepare to undock&amp;quot; button the content of the &amp;lt;tt&amp;gt;docked&amp;lt;/tt&amp;gt; files remains the same as when the machine was docked.&lt;br /&gt;
&lt;br /&gt;
== Keys ==&lt;br /&gt;
=== Problem: Zoom key not seen by X ===&lt;br /&gt;
The &amp;quot;Zoom&amp;quot; key (Fn-Space) cannot be assigned a function in GNOME.&lt;br /&gt;
&lt;br /&gt;
The key combination &amp;lt;i&amp;gt;is&amp;lt;/i&amp;gt; seen and reported by ACPI&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ acpi_listen&lt;br /&gt;
ibm/hotkey HKEY 00000080 00001014&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
but it does not show up in the output of &amp;lt;tt&amp;gt;input-events&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{QUOTE|Steve Langasek|[https://bugs.launchpad.net/ubuntu/hardy/+source/linux/+bug/217504 Ubuntu bug report log 217504]|X can only handly 256 distinct keycodes due to a protocol limitation, and due to evdev the keycodes are now standardized to match the Linux input layer - with no keycode below 256 that could reasonably be substituted for KEY_ZOOM.}} &lt;br /&gt;
&lt;br /&gt;
Bug report: https://bugs.launchpad.net/ubuntu/hardy/+source/linux/+bug/267682&lt;br /&gt;
&lt;br /&gt;
=== Table of keycodes for special keys and key combinations in Karmic ===&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [https://wiki.ubuntu.com/Hotkeys Hotkey architecture in Ubuntu]&lt;br /&gt;
* [https://wiki.ubuntu.com/Hotkeys/Hotkey Hotkey troubleshooting instructions]&lt;br /&gt;
* [https://wiki.ubuntu.com/LaptopTestingTeam/HotkeyResearch Instructions for &amp;lt;tt&amp;gt;showkey&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;acpi_listen&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;xev&amp;lt;/tt&amp;gt; and GNOME keyboard shortcuts methods]&lt;br /&gt;
* &amp;lt;tt&amp;gt;/usr/include/linux/input.h&amp;lt;/tt&amp;gt; -- list of Linux key codes&lt;br /&gt;
&lt;br /&gt;
The suffix &amp;quot;(*)&amp;quot; indicates that the value has changed since Ubuntu 8.10.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key combination !! Extra function symbol !! Scan code&amp;lt;br&amp;gt;(&amp;lt;tt&amp;gt;showkey&amp;amp;nbsp;-s&amp;lt;/tt&amp;gt;)&amp;lt;br&amp;gt;&amp;lt;i&amp;gt;(hex)&amp;lt;/i&amp;gt; !! Linux key code&amp;lt;br&amp;gt;(&amp;lt;tt&amp;gt;showkey&amp;amp;nbsp;-k&amp;lt;/tt&amp;gt;) !! Input event&amp;lt;br&amp;gt;(&amp;lt;tt&amp;gt;input-events&amp;lt;/tt&amp;gt;) !! ... on input device(*) !! ACPI event&amp;lt;br&amp;gt;(&amp;lt;tt&amp;gt;acpi_listen&amp;lt;/tt&amp;gt;) !! HAL event (&amp;lt;tt&amp;gt;lshal -m&amp;lt;/tt&amp;gt;) !! X event&amp;lt;br&amp;gt;(&amp;lt;tt&amp;gt;xev&amp;lt;/tt&amp;gt;) !! Keyboard Shortcuts name&lt;br /&gt;
|-&lt;br /&gt;
| {{key|⟦◁̸}} (loudspeaker icon with stroke) || || down: e0 20&amp;lt;br&amp;gt;up: e0 a0 || 113 || KEY_MIN_INTERESTING || 4 || (none) || platform_i8042_i8042_KBD_port_logicaldev_input condition ButtonPressed = mute || 121 || XF86AudioMute&lt;br /&gt;
|-&lt;br /&gt;
| {{key|⟦◁ ▾}} (loudspeaker icon, down arrow) || || down: e0 2e&amp;lt;br&amp;gt;up: e0 ae || 114 || KEY_VOLUMEDOWN || 4 || (none) || platform_i8042_i8042_KBD_port_logicaldev_input condition ButtonPressed = volume-down || 122 || XF86AudioLowerVolume&lt;br /&gt;
|-&lt;br /&gt;
| {{key|⟦◁ ▴}} (loudspeaker icon, up arrow) || || down: e0 30&amp;lt;br&amp;gt;up: e0 b0 || 115 || KEY_VOLUMEUP || 4 || (none) || platform_i8042_i8042_KBD_port_logicaldev_input condition ButtonPressed = volume-up || 123 || XF86AudioRaiseVolume&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|ThinkVantage|#495988}} || || down: e0 1f e0 9f || 148 || KEY_PROG1 (0x94) || 10 || ibm/hotkey HKEY 00000080 00001018 || computer_logicaldev_input_3 condition ButtonPressed = prog1 || 156 || XF86Launch1&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}} || || up: e0 63 e0 e3 || 143 || KEY_WAKEUP || 4 || (none) || platform_i8042_i8042_KBD_port_logicaldev_input condition ButtonPressed = wake-up || 151 || XF86WakeUp&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|F1|#494949}} || || (none) || 466 || KEY_FN_F1 (0x1d2) || 10 || ibm/hotkey HKEY 00000080 00001001 || (none) || (none) || (none)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|F2|#494949}} || (padlock) || down: e0 12 e0 92 || 152 || KEY_SCREENLOCK (0x98) || 10 || ibm/hotkey HKEY 00000080 00001002 || computer_logicaldev_input_3 condition ButtonPressed = coffee || 160 || XF86ScreenSaver&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|F3|#494949}} || (battery) || down: e0 71 e0 f1 || 236 || KEY_BATTERY (0xec) || 10 || ibm/hotkey HKEY 00000080 00001003 || computer_logicaldev_input_3 condition ButtonPressed = battery || 244 || XF86Battery&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|F4|#494949}} || ☾ || down: e0 5f e0 df&amp;lt;br&amp;gt;(but sometimes nothing?) || 142 || KEY_SLEEP (0x8e) || 10 || ibm/hotkey HKEY 00000080 00001004 || computer_logicaldev_input_3 condition ButtonPressed = sleep || 150 || XF86Sleep&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|F5|#494949}} || (radiating computer) || down: e0 73 e0 f3 || 238 || KEY_WLAN (0xee) || 10  || ibm/hotkey HKEY 00000080 00001005 || computer_logicaldev_input_3 condition ButtonPressed = wlan|| 246 || XF86WLAN&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|F6|#494949}} ||    || (none) || 471 || KEY_FN_F6 (0x1d7) || 10 || ibm/hotkey HKEY 00000080 00001006 || (none) || (none) || (none)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|F7|#494949}} || (screen, line, computer) || down: e0 56 e0 d6 || 227 || KEY_SWITCHVIDEOMODE (0xe3) || 10 || ibm/hotkey HKEY 00000080 00001007 || computer_logicaldev_input_3 condition ButtonPressed = switch-videomode || 235 || XF86Display&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|F8|#494949}} || (trackpoint, line, trackpad) || down: e0 79 e0 f9 || 192 || KEY_F22 (0xc0) || 10 || ibm/hotkey HKEY 00000080 00001008 || computer_logicaldev_input_3 condition ButtonPressed = f22 || 200 || 0xc8&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|F9|#494949}} || (computer) ⏏ || down: 6f ef || 194 || KEY_F24 (0xc2) || 10 || ibm/hotkey HKEY 00000080 00001009 || computer_logicaldev_input_3 condition ButtonPressed = f24 || 202 || 0xc9&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|F10|#494949}} || || down: e0 63&amp;lt;br&amp;gt;up: e0 e3 || 143 || KEY_WAKEUP || 4 || (none) || platform_i8042_i8042_KBD_port_logicaldev_input condition ButtonPressed = wake-up || 151 || XF86WakeUp&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|F11|#494949}} || || (none) || 476 || KEY_FN_F11 (0x1dc) || 10 || ibm/hotkey HKEY 00000080 0000100b || (none) || (none) || (none)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|F12|#494949}} || (screen) ▸(diskpack) || down: e0 25 e0 a5&amp;lt;br&amp;gt;(but sometimes nothing?) || 205 || KEY_SUSPEND (0xcd) || 10 || ibm/hotkey HKEY 00000080 0000100c || computer_logicaldev_input_4 condition ButtonPressed = hibernate || 213 || XF86Suspend (*)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|Home|#494949}} || ☀▴ || down: e0 54 e0 d4 || 225 || KEY_BRIGHTNESSUP (0xe1) || 6 || video LCD0 00000086 00000000 || computer_logicaldev_input_0 condition ButtonPressed = brightness-up || 233 || XF86MonBrightnessUp&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|End|#494949}} || ☀▾ || down: e0 4c e0 cc || 224 || KEY_BRIGHTNESSDOWN (0xe0) || 6 || video LCD0 00000087 00000000 || computer_logicaldev_input_0 condition ButtonPressed = brightness-down || 232 || XF86MonBrightnessDown&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|PgUp|#494949}} || (illuminated overhead lamp) || (none) || (none) || (none) || (none) || (none) || (none) || (none) || (none)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|Space|#494949}} || (screen with magnifying glass, i.e., &amp;quot;zoom&amp;quot; symbol) || (none) || 372 || KEY_ZOOM (0x174) || 10 || ibm/hotkey HKEY 00000080 00001014 || computer_logicaldev_input_4 condition ButtonPressed = zoom || (none) || (none)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|→|#494949}} || (barred right arrowhead, i.e., &amp;quot;next&amp;quot; symbol) || down: e0 19&amp;lt;br&amp;gt;up: e0 99 || 163 || KEY_NEXTSONG || 4 || (none) || platform_i8042_i8042_KBD_port_logicaldev_input condition ButtonPressed = next-song || 171 || XF86AudioNext&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|↓|#494949}} || (right arrowhead, double bar, i.e., &amp;quot;play/pause&amp;quot; symbol) || down: e0 22&amp;lt;br&amp;gt;up: e0 a2 || 164 || KEY_PLAYPAUSE || 4 || (none) || platform_i8042_i8042_KBD_port_logicaldev_input condition ButtonPressed = play-pause || 172 || XF86AudioPlay&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|←|#494949}} || (barred left arrowhead, i.e., &amp;quot;prev&amp;quot; symbol) || down: e0 10&amp;lt;br&amp;gt;up: e0 90 || 165 || KEY_PREVIOUSSONG || 4 || (none) || platform_i8042_i8042_KBD_port_logicaldev_input condition ButtonPressed = previous-song || 173 || XF86AudioPrev&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Fn|#494949}}-{{ibmkey|↑|#494949}} || ∎ (&amp;quot;stop play&amp;quot; symbol) || down: e0 24&amp;lt;br&amp;gt;up: e0 a4 || 166 || KEY_STOPCD || 4 || (none) || platform_i8042_i8042_KBD_port_logicaldev_input condition ButtonPressed = stop-cd || 174 || XF86AudioStop&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|◂ ⎗|#494949}} (left arrowhead, page icon) || || down: e0 6a&amp;lt;br&amp;gt;up: e0 ea || 158 || KEY_BACK || 4 || (none) || platform_i8042_i8042_KBD_port_logicaldev_input condition ButtonPressed = back || 166 || XF86Back&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|⎘ ▸|#494949}} (page icon, right arrowhead) || || down: e0 69&amp;lt;br&amp;gt;up: e0 e9 || 159 || KEY_FORWARD || 4 || (none) || platform_i8042_i8042_KBD_port_logicaldev_input condition ButtonPressed = forward || 167 || XF86Forward&lt;br /&gt;
|-&lt;br /&gt;
| On UltraBase X6&amp;lt;br&amp;gt;{{ibmkey|▸|#494949}} (right arrowhead) || || down: e0 56&amp;lt;br&amp;gt;up: e0 d6 || 227 || KEY_SWITCHVIDEOMODE (0xe3) || 6 || video VID 00000080 00000000 || platform_dock_0 property info.docked = false&amp;lt;br&amp;gt;computer_logicaldev_input_0 condition ButtonPressed = switch-videomode || 235 || ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+ (*) /dev/input/event&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&lt;br /&gt;
! n !! name&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;quot;Power Button&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;quot;Lid Switch&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;quot;Sleep Button&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &amp;quot;Macintosh mouse button emulation&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 4 || &amp;quot;AT Translated Set 2 keyboard&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 5 || &amp;quot;Microsoft Comfort Curve Keyboard&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 6 || &amp;quot;Video Bus&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 7 || &amp;quot;Microsoft Comfort Curve Keyboard&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 8 || &amp;quot;Logitech Trackball&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 9 || &amp;quot;hdaps&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 10 || &amp;quot;ThinkPad Extra Buttons&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 11 || &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 12 || &amp;quot;HDA Digital Beep&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hotkey mask when the above table was compiled:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /sys/devices/platform/thinkpad_acpi/hotkey_mask&lt;br /&gt;
0x008c7fff&lt;br /&gt;
$ cat /sys/devices/platform/thinkpad_acpi/hotkey_all_mask&lt;br /&gt;
0x00ffffff&lt;br /&gt;
$ cat /sys/devices/platform/thinkpad_acpi/hotkey_recommended_mask&lt;br /&gt;
0x008c7fff&lt;br /&gt;
$ cat /sys/devices/platform/thinkpad_acpi/hotkey_report_mode&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compare [[Default meanings of special keys]].&lt;br /&gt;
&lt;br /&gt;
== The &amp;lt;tt&amp;gt;tp-smapi&amp;lt;/tt&amp;gt; module ==&lt;br /&gt;
&lt;br /&gt;
=== Adding the &amp;lt;tt&amp;gt;tp-smapi&amp;lt;/tt&amp;gt; module ===&lt;br /&gt;
 $ sudo aptitude install tp-smapi-source&lt;br /&gt;
 $ sudo module-assistant build tp-smapi-source&lt;br /&gt;
 $ sudo module-assistant install tp-smapi-source&lt;br /&gt;
 $ sudo modprobe -a thinkpad_ec tp_smapi hdaps&lt;br /&gt;
&lt;br /&gt;
Edit the file &amp;lt;tt&amp;gt;/etc/modules&amp;lt;/tt&amp;gt; to add these lines:&lt;br /&gt;
&lt;br /&gt;
  thinkpad_ec&lt;br /&gt;
  tp_smapi&lt;br /&gt;
  hdaps&lt;br /&gt;
&lt;br /&gt;
Ubuntu 9.10 contains version 0.40 of &amp;lt;tt&amp;gt;tp-smapi&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There is currently (19 November 2009) no hdaps-utils package in Karmic and so no &amp;lt;tt&amp;gt;hdaps-gl&amp;lt;/tt&amp;gt; application.&lt;br /&gt;
&lt;br /&gt;
=== Increasing battery life ===&lt;br /&gt;
I am advised that, to make the battery cells last longer by reducing the number and depth of charge cycles, the charge thresholds should be set as follows.&lt;br /&gt;
&lt;br /&gt;
Edit &amp;lt;tt&amp;gt;/etc/sysfs.conf&amp;lt;/tt&amp;gt; to add the lines:&lt;br /&gt;
&lt;br /&gt;
  # Make battery live longer&lt;br /&gt;
  devices/platform/smapi/BAT0/start_charge_thresh = 50&lt;br /&gt;
  devices/platform/smapi/BAT0/stop_charge_thresh = 90&lt;br /&gt;
&lt;br /&gt;
The pakage &amp;lt;tt&amp;gt;sysfsutil&amp;lt;/tt&amp;gt; must be installed for using &amp;lt;tt&amp;gt;/etc/sysfs.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To effect the change either reboot or do:&lt;br /&gt;
&lt;br /&gt;
 $ sudo su &lt;br /&gt;
 # echo 50 &amp;gt; /sys/devices/platform/smapi/BAT0/start_charge_thresh&lt;br /&gt;
 # echo 90 &amp;gt; /sys/devices/platform/smapi/BAT0/stop_charge_thresh&lt;br /&gt;
&lt;br /&gt;
== Sound ==&lt;br /&gt;
Sound generally works well.&lt;br /&gt;
=== Problem: No beep ===&lt;br /&gt;
After installation the system beep does not work.  In Intrepid this [[Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61#No beep|could be fixed]] by starting the Volume Control application and unmuting Beep.  In Karmic that application does not appear to exist so I don't know how to unmute the beep.&lt;br /&gt;
&lt;br /&gt;
[http://marc.info/?l=linux-thinkpad&amp;amp;m=125743137414980&amp;amp;w=2|There is currently a discussion on the linux-thinkpad mailing list about this problem.]  Stay tuned.&lt;br /&gt;
&lt;br /&gt;
== Accessories ==&lt;br /&gt;
Accessories I purchased for this laptop&lt;br /&gt;
* 41R4494 Lenovo [[90W Ultraslim AC/DC Combo Adapter]]&lt;br /&gt;
* 40Y8116 Lenovo [[UltraBase X6]]&lt;br /&gt;
* 41N5643 Lenovo [[Ultrabay Slim Multi-Burner III Drive]]&lt;br /&gt;
&lt;br /&gt;
Other available Accessories Compatible with the X6 Ultrabase&lt;br /&gt;
* 40Y8725 Lenovo [Ultrabay Slim Serial ATA Disk Drive Adapter]&lt;br /&gt;
* 57Y4536 Lenovo [Ultrabay Slim Battery 2.9 Amp/hour]&lt;/div&gt;</summary>
		<author><name>Saintdanbert</name></author>
		
	</entry>
</feed>