<?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=Craftyguy</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=Craftyguy"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Craftyguy"/>
	<updated>2026-05-05T22:25:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&amp;diff=40162</id>
		<title>How to configure the TrackPoint</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&amp;diff=40162"/>
		<updated>2008-12-08T17:56:16Z</updated>

		<summary type="html">&lt;p&gt;Craftyguy: /* TrackPoint under Ubuntu 8.10 and Fedora 10 using HAL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |The [[Patch to enable advanced trackpoint configuration|kernel trackpoint driver]] is controlled by echoing values to special files. Common configuration options are outlined below.&lt;br /&gt;
{{NOTE|&lt;br /&gt;
*With kernels 2.6.19 and above config files for this driver are located in &amp;lt;tt&amp;gt;/sys/devices/platform/i8042/serio1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
*With kernels 2.6.13 (inclusive) to 2.6.19 (exclusive) config files for this driver are located in &amp;lt;tt&amp;gt;/sys/devices/platform/i8042/serio0/serio2&amp;lt;/tt&amp;gt;.&lt;br /&gt;
*With kernels 2.6.11 (inclusive) to 2.6.13 (exclusive) config files for this driver are located in &amp;lt;tt&amp;gt;/sys/devices/platform/i8042/serio0&amp;lt;/tt&amp;gt;.&lt;br /&gt;
*With kernels 2.6.9 (inclusive) to 2.6.11 (exclusive) config files for this driver are located in &amp;lt;tt&amp;gt;/proc/trackpoint&amp;lt;/tt&amp;gt;.&lt;br /&gt;
*Prior to kernel 2.6.9, configuration was not done through files but through command-line options to the psmouse module.  (Note this means you must compile psmouse as a module!)  See http://stephen.evanchik.com/node/16.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==General Configuration==&lt;br /&gt;
The configuration options are reflected by the files you can find in {{path|/sys/devices/platform/i8042/serio0/serio2}}. See the [[Patch to enable advanced trackpoint configuration|TrackPoint driver page]] for a complete list.&lt;br /&gt;
Configuration is done by echoing the appropriate values into these special files.&lt;br /&gt;
&lt;br /&gt;
If you want to set the sysfs parameters at boot, you can use the [http://linux-diag.sourceforge.net/Sysfsutils.html sysfsutils] and put the preferred value in /etc/sysfs.conf.&lt;br /&gt;
&lt;br /&gt;
==Most common Features==&lt;br /&gt;
The most common settings are '''Press to Select''', '''sensitivity''', '''speed''' and '''scrolling'''.&lt;br /&gt;
&lt;br /&gt;
===Press to Select===&lt;br /&gt;
Press to Select allows you to tap the control stick which will simulate a left click. You can enable this feature by typing the following in to a terminal (you may need to be root):&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/press_to_select}}&lt;br /&gt;
&lt;br /&gt;
Press to Select should now be enabled. You can disable it in a similar manner:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 0 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/press_to_select}}&lt;br /&gt;
&lt;br /&gt;
You can use this script to automate the operation&lt;br /&gt;
&lt;br /&gt;
        #!/bin/bash&lt;br /&gt;
        if [ &amp;quot;$1&amp;quot; = &amp;quot;1&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;Turning on tap on TrackPoint&amp;quot;&lt;br /&gt;
                echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/press_to_select&lt;br /&gt;
                exit 0&lt;br /&gt;
        fi&lt;br /&gt;
        if [ &amp;quot;$1&amp;quot; = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;Turning off tap on TrackPoint&amp;quot;&lt;br /&gt;
                echo -n 0 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/press_to_select&lt;br /&gt;
                exit 0&lt;br /&gt;
        fi&lt;br /&gt;
        echo -n &amp;quot;Tap status: &amp;quot;&lt;br /&gt;
        cat /sys/devices/platform/i8042/serio0/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
===Sensitivity &amp;amp; Speed===&lt;br /&gt;
Adjusting the speed and sensitivity of the TrackPoint requires echoing a value between 0 and 255 into the appropriate file. For example, for a speed of 120 and a sensitivity of 250, type the following into a terminal:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 120 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/speed}}&lt;br /&gt;
:{{cmdroot|echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/sensitivity}}&lt;br /&gt;
&lt;br /&gt;
Feel free to experiment with your settings until you find a combination that is comfortable.&lt;br /&gt;
&lt;br /&gt;
When you satisfy your setting, add the two lines into /etc/rc.d/rc.local in order to avoid restoring the default setting every time the system reboots.&lt;br /&gt;
&lt;br /&gt;
===Scrolling===&lt;br /&gt;
====Using a kernel prior to 2.6.11====&lt;br /&gt;
The scrolling action is essentially the same as is used in the TrackPoint Windows drivers. To enable this feature, type the following in to a terminal (you may need to be root): &lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 1 &amp;gt; /proc/trackpoint/scroll}}&lt;br /&gt;
&lt;br /&gt;
Then press the middle button and push the stick up and down to scroll. Similarly, to disable scrolling:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 0 &amp;gt; /proc/trackpoint/scroll}}&lt;br /&gt;
&lt;br /&gt;
====Using the X server (kernel 2.6.11+)====&lt;br /&gt;
The scroll setting has been removed from the trackpoint driver in kernel versions 2.6.11 and above. Scroll emulation should now be handled in the X server.&lt;br /&gt;
&lt;br /&gt;
A nice side effect of that is, that middle button scrolling applies to any mouse and not just the TrackPoint interface, which can be a quite handy feature for desktop computers or people who prefer to use an external mouse, especially when scrolling through long lists or needing to use horizontal scrolling with a mouse which has only a vertical scroll wheel.&lt;br /&gt;
&lt;br /&gt;
The necessary functionality, known  as &amp;quot;EmulateWheelTimeout&amp;quot; allowing to use button 2 for a middle click, wasn't implemented in Xorg prior to 6.9/7.0. However, there was a patch included in most distributions packages of Xorg, which was announced [http://www.mail-archive.com/devel@xfree86.org/msg03333.html here]. You can find an updated version of the package in the experimental branch of {{Debian}} or try to build the mouse driver yourself with the information in the announcement. This has successfully been tried with FC3's 6.8.2 packages.&lt;br /&gt;
&lt;br /&gt;
Once this functionality is in the X.org, add these lines to your TrackPoint configuration section in {{path|/etc/X11/xorg.conf}}:&lt;br /&gt;
&lt;br /&gt;
        Option          &amp;quot;EmulateWheel&amp;quot;          &amp;quot;on&amp;quot;&lt;br /&gt;
        Option          &amp;quot;EmulateWheelButton&amp;quot;    &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
It may also be necessary to add these lines:&lt;br /&gt;
&lt;br /&gt;
        Option &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;br /&gt;
        Option &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot;&lt;br /&gt;
&lt;br /&gt;
which specify which buttons are mapped to motion in the vertical (Y) and horizontal (X) directions, respectively, in wheel emulation mode (see http://www.xfree86.org/current/mouse.4.html).&lt;br /&gt;
&lt;br /&gt;
{{HINT| Use the program &amp;quot;xev&amp;quot; to see, what mouse button identifiers are sent by your mouse/touchpad/trackpoint.&amp;lt;br /&amp;gt;You might want to try: &amp;quot;xev &amp;amp;#124; grep button&amp;quot;}}&lt;br /&gt;
{{HINT| If it does not work see if evdev is installed and remove it. On gentoo do the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
eix xf86-input-evdev&amp;lt;br /&amp;gt;&lt;br /&gt;
emerge -C xf86-input-evdev&amp;lt;br /&amp;gt;&lt;br /&gt;
and then remove the evdev flag in make.conf INPUT_DEVICES}}&lt;br /&gt;
&lt;br /&gt;
So, a complete mouse section, that implements this nicely and works very well on my R51, even with a simultaneously connected USB mouse, looks like that (tried out today, 20th of September, 2006 on Dapper):&lt;br /&gt;
&lt;br /&gt;
  Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier  &amp;quot;Configured Mouse&amp;quot;&lt;br /&gt;
        Driver      &amp;quot;mouse&amp;quot;&lt;br /&gt;
        Option      &amp;quot;CorePointer&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Device&amp;quot;              &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Protocol&amp;quot;            &amp;quot;ExplorerPS/2&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Emulate3Buttons&amp;quot;     &amp;quot;on&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Emulate3TimeOut&amp;quot;     &amp;quot;50&amp;quot;&lt;br /&gt;
        Option      &amp;quot;EmulateWheel&amp;quot;        &amp;quot;on&amp;quot;&lt;br /&gt;
        Option      &amp;quot;EmulateWheelTimeOut&amp;quot; &amp;quot;200&amp;quot;&lt;br /&gt;
        Option      &amp;quot;EmulateWheelButton&amp;quot;  &amp;quot;2&amp;quot;&lt;br /&gt;
        Option      &amp;quot;YAxisMapping&amp;quot;        &amp;quot;4 5&amp;quot;&lt;br /&gt;
        Option      &amp;quot;XAxisMapping&amp;quot;        &amp;quot;6 7&amp;quot;&lt;br /&gt;
        Option      &amp;quot;ZAxisMapping&amp;quot;        &amp;quot;4 5&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
&lt;br /&gt;
The mappings for Y and Z are the same, since the &amp;quot;Z-Axis&amp;quot; refers to actual hardware scrolling wheels which usually scroll the screen along the Y-Axis. If there is no hardware scrolling wheel present, horizontal and vertical scrolling using the TrackPoint work fine without the Z-Axis line.&lt;br /&gt;
&lt;br /&gt;
Now restart X and hold down button 2 and move the mouse to scroll, or just press and release button 2 for a middle click.&lt;br /&gt;
&lt;br /&gt;
To make this work with the synaptics driver for the touchpad, you can add&lt;br /&gt;
        Option      &amp;quot;GuestMouseOff&amp;quot; &amp;quot;1&amp;quot;&lt;br /&gt;
to the synaptics device section. This will make the synaptics driver ignore the Trackpoint, so it will be handled by the mouse driver. This allowed me to disable the touchpad while making the TrackPoint work like it should.&lt;br /&gt;
&lt;br /&gt;
{{NOTE| With the above mouse section in my xorg.conf all this works like a charm: &lt;br /&gt;
*I can press the wheel on my external USB mouse and move the mouse up and down for scrolling&lt;br /&gt;
*or I can just use the wheel on the external mouse for scrolling&lt;br /&gt;
*or pressing the MMB button of the trackpoint and use the trackpoint for scrolling.&lt;br /&gt;
*Even horizontal scrolling works automagically in Konqueror, for Firefox/Opera see below.&lt;br /&gt;
&lt;br /&gt;
Simultaneously I can use &lt;br /&gt;
*a press on the external mouse's wheel &lt;br /&gt;
*or the MMB of the trackpoint&lt;br /&gt;
&lt;br /&gt;
for pasting the buffer. Lovely! :) }}&lt;br /&gt;
&lt;br /&gt;
{{HINT| If you don't use the middle-mouse-button for pasting and sometimes pasting things by mistake while scrolling (witch is really odd) simply set the &amp;quot;EmulateWheelTimeOut&amp;quot; to &amp;quot;1&amp;quot; as a (bloody) workaround. Middle click will only possible with pressing left and right button simultaneously!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== EmulateWheelTimeout temporarily broken (-&amp;gt; fix for Ubuntu Dapper) ===== &lt;br /&gt;
&lt;br /&gt;
Unfortunately, there was a regression so that EmulateWheelTimeout was broken in X.org 6.9.0, and fixed&lt;br /&gt;
on March 20th, 2006. &lt;br /&gt;
You can see the [https://bugs.freedesktop.org/show_bug.cgi?id=5071 primary bug report] here, and also reports on the [http://qa.mandriva.com/show_bug.cgi?id=21196 Mandriva] and [http://lists.debian.org/debian-x/2006/01/msg00249.html Debian] ([http://bugs.debian.org/346098 #346098], [http://bugs.debian.org/320136 #320136]) packages.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this bug is still present in Ubuntu Dapper Drake's xserver-xorg-input-mouse package (version 1.0.3.1+cvs.20060109-0ubuntu1)!&lt;br /&gt;
&lt;br /&gt;
{{HINT|xserver-xorg-input-mouse (version 1.0.3.1+cvs.20060109-0ubuntu1.1) is in dapper-updates since July 3rd, 2006. You don't need to patch it anymore.}}&lt;br /&gt;
&lt;br /&gt;
Use the following procedure to make it (middle button scrolling &amp;amp; middle button pasting) work:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|cd /desired/path &amp;amp;&amp;amp; mkdir tmp &amp;amp;&amp;amp; cd tmp}} (create temporary directory somewhere)&lt;br /&gt;
:{{cmduser|sudo nano /etc/apt/sources.list}} (insert/uncomment the deb-src lines, save and exit)&lt;br /&gt;
:{{cmduser|sudo apt-get update}}&lt;br /&gt;
:{{cmduser|apt-get source xserver-xorg-input-mice}} (in order to get the source code)&lt;br /&gt;
:{{cmduser|sudo aptitude install xserver-xorg-dev}} (this package and the packages it depends on are needed in order to compile the source code, use aptitude for easy removal later on)&lt;br /&gt;
:{{cmduser|cd xserver-xorg-input-mouse-1.0.3.1+cvs.20060109/}}&lt;br /&gt;
:{{cmduser|wget http://librarian.launchpad.net/2639933/xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2.debdiff}} (downloads the patch that fixes the bug)&lt;br /&gt;
:{{cmduser|patch -p1 &amp;lt; xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2.debdiff}} (applies the bug fix)&lt;br /&gt;
:{{cmduser|fakeroot dpkg-buildpackage}} (rebuilds the package... watch out for errors and install other missing packages)&lt;br /&gt;
:{{cmduser|sudo dpkg -i ../xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2_i386.deb}} (installs the rebuilt built package)&lt;br /&gt;
:{{cmduser|sudo aptitude remove xserver-xorg-dev}} (removes the packages needed to rebuild the package)&lt;br /&gt;
&lt;br /&gt;
Hope it works for you, it did work for me!&lt;br /&gt;
CrypTom&lt;br /&gt;
&lt;br /&gt;
===== Older versions of X.org =====&lt;br /&gt;
&lt;br /&gt;
For older versions of Xorg or for Xfree86 ({{path|/etc/X11/XF86Config}}) try this:&lt;br /&gt;
&lt;br /&gt;
       Option          &amp;quot;Emulate3Buttons&amp;quot;       &amp;quot;true&amp;quot;&lt;br /&gt;
       Option          &amp;quot;EmulateWheel&amp;quot;          &amp;quot;true&amp;quot;&lt;br /&gt;
       Option          &amp;quot;EmulateWheelButton&amp;quot;    &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now restart X and hold down button two and move the mouse for scrolling. To get a middle click, press buttons 1 and 3 simultaneously.&lt;br /&gt;
&lt;br /&gt;
==Soft Transparent Mode==&lt;br /&gt;
If you wish to connect a special device to the external PS/2 port, you should consider using &amp;quot;Soft Transparent Mode&amp;quot; so that the TrackPoint controller does not interpret any commands sent to the external PS/2 port. You can enable soft transparent mode by typing the following in to a terminal:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/transparent}}&lt;br /&gt;
&lt;br /&gt;
Disabling soft transparent mode is similar:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 0 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/transparent}}&lt;br /&gt;
&lt;br /&gt;
==Modify trackpoint parameter permanently in trackpoint.h==&lt;br /&gt;
If you do not want to run a script to reconfigure the trackpoint&lt;br /&gt;
you can change the default settings in the trackpoint header file that is located in&lt;br /&gt;
 /usr/src/&amp;lt;KERNEL_VERSION&amp;gt;/drivers/input/mouse/trackpoint.h.&lt;br /&gt;
&lt;br /&gt;
First you must convert the values (decimal numbers) you normaly echo to /sys/[...] to hex:&lt;br /&gt;
&lt;br /&gt;
'''echo -e 'obase=16;&amp;lt;DECIMAL_NUMBER&amp;gt;' | bc'''&lt;br /&gt;
&lt;br /&gt;
Then simply replace the default hex values in trackpoint.h, run 'make &amp;amp;&amp;amp; make modules_install' to recompile and install psmouse.ko (should be compiled as module)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example patch (speed=100, sensitivity=190, press_to_select=1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 --- trackpoint.h.orig   2006-01-17 16:18:30.000000000 +0100&lt;br /&gt;
+++ trackpoint.h        2006-01-17 16:25:47.000000000 +0100&lt;br /&gt;
@@ -108,9 +108,9 @@&lt;br /&gt;
 /*&lt;br /&gt;
  * Default power on values&lt;br /&gt;
  */&lt;br /&gt;
-#define TP_DEF_SENS            0x80&lt;br /&gt;
+#define TP_DEF_SENS            0xBE&lt;br /&gt;
 #define TP_DEF_INERTIA         0x06&lt;br /&gt;
-#define TP_DEF_SPEED           0x61&lt;br /&gt;
+#define TP_DEF_SPEED           0x64&lt;br /&gt;
 #define TP_DEF_REACH           0x0A&lt;br /&gt;
&lt;br /&gt;
 #define TP_DEF_DRAGHYS         0xFF&lt;br /&gt;
@@ -123,7 +123,7 @@&lt;br /&gt;
&lt;br /&gt;
 /* Toggles */&lt;br /&gt;
 #define TP_DEF_MB              0x00&lt;br /&gt;
-#define TP_DEF_PTSON           0x00&lt;br /&gt;
+#define TP_DEF_PTSON           0x01&lt;br /&gt;
 #define TP_DEF_SKIPBACK                0x00&lt;br /&gt;
 #define TP_DEF_EXT_DEV         0x01&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configure firefox for using trackpoint horizontal scrolling==&lt;br /&gt;
Vertical Scrolling seems to work out of the box in firefox if you followed the steps above.&lt;br /&gt;
Anyway, there is a problem when you don't scroll exactly vertical, because horizontal scrolling turns into&lt;br /&gt;
browser BACK/FORWARD commands. &lt;br /&gt;
You can avoid this by typing about:config + ENTER in the address bar of firefox.&lt;br /&gt;
You have to adjust the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mousewheel.horizscroll.withcontrolkey.action = 3;&lt;br /&gt;
mousewheel.horizscroll.withcontrolkey.numlines = 1; &lt;br /&gt;
mousewheel.horizscroll.withcontrolkey.sysnumlines = true;&lt;br /&gt;
&lt;br /&gt;
mousewheel.horizscroll.withnokey.action = 0;&lt;br /&gt;
mousewheel.horizscroll.withnokey.numlines = 1;&lt;br /&gt;
mousewheel.horizscroll.withnokey.sysnumlines = true;&lt;br /&gt;
&lt;br /&gt;
mousewheel.horizscroll.withshiftkey.action = 1;&lt;br /&gt;
mousewheel.horizscroll.withshiftkey.numlines = 1;&lt;br /&gt;
mousewheel.horizscroll.withshiftkey.sysnumlines = true;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FWIW, you can change only the following value to remove the browser BACK/FORWARD commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mousewheel.horizscroll.withnokey.action = 0;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With that, you can still go BACK/FORWARD by pressing together the shift or the alt key, while with the control key you increase or decrease the font size.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This appears to be fixed by default in Firefox 3.}}&lt;br /&gt;
&lt;br /&gt;
==Configure Opera for using trackpoint horizontal scrolling==&lt;br /&gt;
You'll experience the same annoying problem with the popular browser Opera. To fix this you need to edit the configfile &amp;lt;tt&amp;gt;standard_mouse.ini&amp;lt;/tt&amp;gt; in e.g. /usr/share/opera/ini/ (Debian) or /opt/opera/share/opera/ini/ (Gentoo) and comment out the following lines&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Button6                                                        = Back&lt;br /&gt;
Button7                                                        = Forward&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
so they look like that&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;Button6                                                        = Back&lt;br /&gt;
;Button7                                                        = Forward&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remember, Button6 and Button7 do not so coincidental correspond with our X configuration we know from above:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Option &amp;quot;YAxisMapping&amp;quot; &amp;quot;6 7&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After this change you will be able to scroll vertically and horizontally with your middle button.&lt;br /&gt;
&lt;br /&gt;
==Fixing trackpoint under Ubuntu 7.10 Gutsy Gibbon==&lt;br /&gt;
===Using trackpoint deamon===&lt;br /&gt;
My default Ubuntu Gutsy (running on an X61s) would give the following error messages when running the trackpoint daemon. Running&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     /etc/init.d/trackpoint restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
caused a bunch of error messages, as the wrong device was in&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        /etc/trackpoint/trackpoint.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I fixed this by changing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        echo -n  &amp;gt; /sys/devices/platform/i8042/serio0/serio2/sensitivity&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        echo -n  &amp;gt; /sys/devices/platform/i8042/serio1/sensitivity&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
in /etc/trackpoint/trackpoint.conf.&lt;br /&gt;
&lt;br /&gt;
In addition, Ubuntu ran the appropriate /etc/init.d/trackpoint script on booting, but would give a bunch of errors (which, oddly, I could never find in any of the log files).&lt;br /&gt;
&lt;br /&gt;
It seems that it was running the scripts too early in the boot sequence. The Gutsy package provided&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    /etc/rc2.d/S20trackpoint&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so I renamed this to S99trackpoint (and in all the other rc.? directories) and it now works on boot.&lt;br /&gt;
&lt;br /&gt;
===Editing the kernel config files===&lt;br /&gt;
Another way of configuring the trackpoint without using the trackpoint daemon is to edit the values of the trackpoint files which, BTW, are located in&lt;br /&gt;
 /sys/devices/platform/i8042/serio1/serio2.&lt;br /&gt;
&lt;br /&gt;
The script should be executed during boot. This can be done in an init script (e.g. /etc/bootmisc.sh in some distros)&lt;br /&gt;
&lt;br /&gt;
Script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# configuration du trackpoint&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# vitesse&lt;br /&gt;
echo -n 120 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/speed&lt;br /&gt;
&lt;br /&gt;
# sensibilité&lt;br /&gt;
echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/sensitivity &lt;br /&gt;
&lt;br /&gt;
# press to select&lt;br /&gt;
echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/press_to_select&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===An Ubuntu/Fedora example===&lt;br /&gt;
Another script that I've created seems to work with all versions of Ubuntu/Fedora that I've been able to try (comment out and uncomment the appropriate lines for fedora/ubuntu as necessary)&lt;br /&gt;
Place in /etc/rc.local or equivalent for your distro:&lt;br /&gt;
&lt;br /&gt;
Script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#*************************&lt;br /&gt;
## START TRACKPOINT CONFIG&lt;br /&gt;
#*************************&lt;br /&gt;
&lt;br /&gt;
# For fedora (the slash after &amp;quot;speed&amp;quot; is returned)&lt;br /&gt;
# TRACKPATH=$(find /sys -print0 | grep -FzZ &amp;quot;/serio2/speed&amp;quot; | sed s^speed/^^)&lt;br /&gt;
&lt;br /&gt;
# For ubuntu (the slash after &amp;quot;speed&amp;quot; is not returned)&lt;br /&gt;
TRACKPATH=$(find /sys -print0 | grep -FzZ &amp;quot;/serio2/speed&amp;quot; | sed s/speed//)&lt;br /&gt;
&lt;br /&gt;
## Select &amp;quot;press_to_select&amp;quot; on the trackpoint input device&lt;br /&gt;
## We need to specify the TRACKPATH above because the device under &amp;quot;serio#&amp;quot;&lt;br /&gt;
## changes between system boots. (We first test to see if the file we want&lt;br /&gt;
## to modify exists, if it does, we make the change&lt;br /&gt;
#[ -f $TRACKPATH/press_to_select ] &amp;amp;&amp;amp; echo -n 1 &amp;gt; $TRACKPATH/press_to_select&lt;br /&gt;
&lt;br /&gt;
## Adjust the speed setting of the trackpoint input device&lt;br /&gt;
[ -f $TRACKPATH/speed ] &amp;amp;&amp;amp; echo -n 120 &amp;gt; $TRACKPATH/speed &lt;br /&gt;
## Adjust the sensitivity setting of the trackpoint input device&lt;br /&gt;
[ -f $TRACKPATH/sensitivity ] &amp;amp;&amp;amp; echo -n 200 &amp;gt; $TRACKPATH/sensitivity&lt;br /&gt;
&lt;br /&gt;
#***********************&lt;br /&gt;
## END TRACKPOINT CONFIG&lt;br /&gt;
#***********************&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TrackPoint under Xorg-7.4+ using HAL==&lt;br /&gt;
&lt;br /&gt;
Because Xorg 7.4 uses HAL FDI policy files instead of xorg.conf for device configuration, you must do the following to get the scrolling working:&lt;br /&gt;
(see: http://forum.ubuntuusers.de/topic/mouse-wheel-emulation-in-xorg.conf/?highlight=hal+trackpoint#post-1558282 )&lt;br /&gt;
&lt;br /&gt;
Create the file '''/etc/hal/fdi/policy/mouse-wheel.fdi''' as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;match key=&amp;quot;info.product&amp;quot; string=&amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheelButton&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;2&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.YAxisMapping&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;4 5&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.XAxisMapping&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;6 7&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.Emulate3Buttons&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheelTimeout&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;200&amp;lt;/merge&amp;gt;&lt;br /&gt;
&amp;lt;/match&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Fedora 10, this fix also works, and with '''lshal''' you can see that the changes do indeed take effect.  However, you will need to update the evdev drivers ('''yum --enablerepo=rawhide update xorg-x11-drv-evdev''') before X will use these settings correctly.  I'm still not sure what the problem is with the drivers in vanilla Fedora 10, but with version 2.1.0 of these drivers, I have full functionality.&lt;br /&gt;
&lt;br /&gt;
Note: You must restart both hal and X to see these changes, so it's probably easiest to just reboot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Confirmed to work in Gentoo as well. You MUST upgrade to x11-drivers/xf86-input-evdev-2.1.0. As of today (12/8/08), this package is only found in the x11 overlay. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://wiki.ubuntu.com/X/Config&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: After setting this up, scrolling seems to fail once in a while after resuming from suspend. Re-suspending and then re-resuming causes it to work again. I don't know why this might be.&lt;/div&gt;</summary>
		<author><name>Craftyguy</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&amp;diff=40161</id>
		<title>How to configure the TrackPoint</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&amp;diff=40161"/>
		<updated>2008-12-08T17:54:05Z</updated>

		<summary type="html">&lt;p&gt;Craftyguy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |The [[Patch to enable advanced trackpoint configuration|kernel trackpoint driver]] is controlled by echoing values to special files. Common configuration options are outlined below.&lt;br /&gt;
{{NOTE|&lt;br /&gt;
*With kernels 2.6.19 and above config files for this driver are located in &amp;lt;tt&amp;gt;/sys/devices/platform/i8042/serio1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
*With kernels 2.6.13 (inclusive) to 2.6.19 (exclusive) config files for this driver are located in &amp;lt;tt&amp;gt;/sys/devices/platform/i8042/serio0/serio2&amp;lt;/tt&amp;gt;.&lt;br /&gt;
*With kernels 2.6.11 (inclusive) to 2.6.13 (exclusive) config files for this driver are located in &amp;lt;tt&amp;gt;/sys/devices/platform/i8042/serio0&amp;lt;/tt&amp;gt;.&lt;br /&gt;
*With kernels 2.6.9 (inclusive) to 2.6.11 (exclusive) config files for this driver are located in &amp;lt;tt&amp;gt;/proc/trackpoint&amp;lt;/tt&amp;gt;.&lt;br /&gt;
*Prior to kernel 2.6.9, configuration was not done through files but through command-line options to the psmouse module.  (Note this means you must compile psmouse as a module!)  See http://stephen.evanchik.com/node/16.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==General Configuration==&lt;br /&gt;
The configuration options are reflected by the files you can find in {{path|/sys/devices/platform/i8042/serio0/serio2}}. See the [[Patch to enable advanced trackpoint configuration|TrackPoint driver page]] for a complete list.&lt;br /&gt;
Configuration is done by echoing the appropriate values into these special files.&lt;br /&gt;
&lt;br /&gt;
If you want to set the sysfs parameters at boot, you can use the [http://linux-diag.sourceforge.net/Sysfsutils.html sysfsutils] and put the preferred value in /etc/sysfs.conf.&lt;br /&gt;
&lt;br /&gt;
==Most common Features==&lt;br /&gt;
The most common settings are '''Press to Select''', '''sensitivity''', '''speed''' and '''scrolling'''.&lt;br /&gt;
&lt;br /&gt;
===Press to Select===&lt;br /&gt;
Press to Select allows you to tap the control stick which will simulate a left click. You can enable this feature by typing the following in to a terminal (you may need to be root):&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/press_to_select}}&lt;br /&gt;
&lt;br /&gt;
Press to Select should now be enabled. You can disable it in a similar manner:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 0 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/press_to_select}}&lt;br /&gt;
&lt;br /&gt;
You can use this script to automate the operation&lt;br /&gt;
&lt;br /&gt;
        #!/bin/bash&lt;br /&gt;
        if [ &amp;quot;$1&amp;quot; = &amp;quot;1&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;Turning on tap on TrackPoint&amp;quot;&lt;br /&gt;
                echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/press_to_select&lt;br /&gt;
                exit 0&lt;br /&gt;
        fi&lt;br /&gt;
        if [ &amp;quot;$1&amp;quot; = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;Turning off tap on TrackPoint&amp;quot;&lt;br /&gt;
                echo -n 0 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/press_to_select&lt;br /&gt;
                exit 0&lt;br /&gt;
        fi&lt;br /&gt;
        echo -n &amp;quot;Tap status: &amp;quot;&lt;br /&gt;
        cat /sys/devices/platform/i8042/serio0/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
===Sensitivity &amp;amp; Speed===&lt;br /&gt;
Adjusting the speed and sensitivity of the TrackPoint requires echoing a value between 0 and 255 into the appropriate file. For example, for a speed of 120 and a sensitivity of 250, type the following into a terminal:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 120 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/speed}}&lt;br /&gt;
:{{cmdroot|echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/sensitivity}}&lt;br /&gt;
&lt;br /&gt;
Feel free to experiment with your settings until you find a combination that is comfortable.&lt;br /&gt;
&lt;br /&gt;
When you satisfy your setting, add the two lines into /etc/rc.d/rc.local in order to avoid restoring the default setting every time the system reboots.&lt;br /&gt;
&lt;br /&gt;
===Scrolling===&lt;br /&gt;
====Using a kernel prior to 2.6.11====&lt;br /&gt;
The scrolling action is essentially the same as is used in the TrackPoint Windows drivers. To enable this feature, type the following in to a terminal (you may need to be root): &lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 1 &amp;gt; /proc/trackpoint/scroll}}&lt;br /&gt;
&lt;br /&gt;
Then press the middle button and push the stick up and down to scroll. Similarly, to disable scrolling:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 0 &amp;gt; /proc/trackpoint/scroll}}&lt;br /&gt;
&lt;br /&gt;
====Using the X server (kernel 2.6.11+)====&lt;br /&gt;
The scroll setting has been removed from the trackpoint driver in kernel versions 2.6.11 and above. Scroll emulation should now be handled in the X server.&lt;br /&gt;
&lt;br /&gt;
A nice side effect of that is, that middle button scrolling applies to any mouse and not just the TrackPoint interface, which can be a quite handy feature for desktop computers or people who prefer to use an external mouse, especially when scrolling through long lists or needing to use horizontal scrolling with a mouse which has only a vertical scroll wheel.&lt;br /&gt;
&lt;br /&gt;
The necessary functionality, known  as &amp;quot;EmulateWheelTimeout&amp;quot; allowing to use button 2 for a middle click, wasn't implemented in Xorg prior to 6.9/7.0. However, there was a patch included in most distributions packages of Xorg, which was announced [http://www.mail-archive.com/devel@xfree86.org/msg03333.html here]. You can find an updated version of the package in the experimental branch of {{Debian}} or try to build the mouse driver yourself with the information in the announcement. This has successfully been tried with FC3's 6.8.2 packages.&lt;br /&gt;
&lt;br /&gt;
Once this functionality is in the X.org, add these lines to your TrackPoint configuration section in {{path|/etc/X11/xorg.conf}}:&lt;br /&gt;
&lt;br /&gt;
        Option          &amp;quot;EmulateWheel&amp;quot;          &amp;quot;on&amp;quot;&lt;br /&gt;
        Option          &amp;quot;EmulateWheelButton&amp;quot;    &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
It may also be necessary to add these lines:&lt;br /&gt;
&lt;br /&gt;
        Option &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;br /&gt;
        Option &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot;&lt;br /&gt;
&lt;br /&gt;
which specify which buttons are mapped to motion in the vertical (Y) and horizontal (X) directions, respectively, in wheel emulation mode (see http://www.xfree86.org/current/mouse.4.html).&lt;br /&gt;
&lt;br /&gt;
{{HINT| Use the program &amp;quot;xev&amp;quot; to see, what mouse button identifiers are sent by your mouse/touchpad/trackpoint.&amp;lt;br /&amp;gt;You might want to try: &amp;quot;xev &amp;amp;#124; grep button&amp;quot;}}&lt;br /&gt;
{{HINT| If it does not work see if evdev is installed and remove it. On gentoo do the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
eix xf86-input-evdev&amp;lt;br /&amp;gt;&lt;br /&gt;
emerge -C xf86-input-evdev&amp;lt;br /&amp;gt;&lt;br /&gt;
and then remove the evdev flag in make.conf INPUT_DEVICES}}&lt;br /&gt;
&lt;br /&gt;
So, a complete mouse section, that implements this nicely and works very well on my R51, even with a simultaneously connected USB mouse, looks like that (tried out today, 20th of September, 2006 on Dapper):&lt;br /&gt;
&lt;br /&gt;
  Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier  &amp;quot;Configured Mouse&amp;quot;&lt;br /&gt;
        Driver      &amp;quot;mouse&amp;quot;&lt;br /&gt;
        Option      &amp;quot;CorePointer&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Device&amp;quot;              &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Protocol&amp;quot;            &amp;quot;ExplorerPS/2&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Emulate3Buttons&amp;quot;     &amp;quot;on&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Emulate3TimeOut&amp;quot;     &amp;quot;50&amp;quot;&lt;br /&gt;
        Option      &amp;quot;EmulateWheel&amp;quot;        &amp;quot;on&amp;quot;&lt;br /&gt;
        Option      &amp;quot;EmulateWheelTimeOut&amp;quot; &amp;quot;200&amp;quot;&lt;br /&gt;
        Option      &amp;quot;EmulateWheelButton&amp;quot;  &amp;quot;2&amp;quot;&lt;br /&gt;
        Option      &amp;quot;YAxisMapping&amp;quot;        &amp;quot;4 5&amp;quot;&lt;br /&gt;
        Option      &amp;quot;XAxisMapping&amp;quot;        &amp;quot;6 7&amp;quot;&lt;br /&gt;
        Option      &amp;quot;ZAxisMapping&amp;quot;        &amp;quot;4 5&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
&lt;br /&gt;
The mappings for Y and Z are the same, since the &amp;quot;Z-Axis&amp;quot; refers to actual hardware scrolling wheels which usually scroll the screen along the Y-Axis. If there is no hardware scrolling wheel present, horizontal and vertical scrolling using the TrackPoint work fine without the Z-Axis line.&lt;br /&gt;
&lt;br /&gt;
Now restart X and hold down button 2 and move the mouse to scroll, or just press and release button 2 for a middle click.&lt;br /&gt;
&lt;br /&gt;
To make this work with the synaptics driver for the touchpad, you can add&lt;br /&gt;
        Option      &amp;quot;GuestMouseOff&amp;quot; &amp;quot;1&amp;quot;&lt;br /&gt;
to the synaptics device section. This will make the synaptics driver ignore the Trackpoint, so it will be handled by the mouse driver. This allowed me to disable the touchpad while making the TrackPoint work like it should.&lt;br /&gt;
&lt;br /&gt;
{{NOTE| With the above mouse section in my xorg.conf all this works like a charm: &lt;br /&gt;
*I can press the wheel on my external USB mouse and move the mouse up and down for scrolling&lt;br /&gt;
*or I can just use the wheel on the external mouse for scrolling&lt;br /&gt;
*or pressing the MMB button of the trackpoint and use the trackpoint for scrolling.&lt;br /&gt;
*Even horizontal scrolling works automagically in Konqueror, for Firefox/Opera see below.&lt;br /&gt;
&lt;br /&gt;
Simultaneously I can use &lt;br /&gt;
*a press on the external mouse's wheel &lt;br /&gt;
*or the MMB of the trackpoint&lt;br /&gt;
&lt;br /&gt;
for pasting the buffer. Lovely! :) }}&lt;br /&gt;
&lt;br /&gt;
{{HINT| If you don't use the middle-mouse-button for pasting and sometimes pasting things by mistake while scrolling (witch is really odd) simply set the &amp;quot;EmulateWheelTimeOut&amp;quot; to &amp;quot;1&amp;quot; as a (bloody) workaround. Middle click will only possible with pressing left and right button simultaneously!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== EmulateWheelTimeout temporarily broken (-&amp;gt; fix for Ubuntu Dapper) ===== &lt;br /&gt;
&lt;br /&gt;
Unfortunately, there was a regression so that EmulateWheelTimeout was broken in X.org 6.9.0, and fixed&lt;br /&gt;
on March 20th, 2006. &lt;br /&gt;
You can see the [https://bugs.freedesktop.org/show_bug.cgi?id=5071 primary bug report] here, and also reports on the [http://qa.mandriva.com/show_bug.cgi?id=21196 Mandriva] and [http://lists.debian.org/debian-x/2006/01/msg00249.html Debian] ([http://bugs.debian.org/346098 #346098], [http://bugs.debian.org/320136 #320136]) packages.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this bug is still present in Ubuntu Dapper Drake's xserver-xorg-input-mouse package (version 1.0.3.1+cvs.20060109-0ubuntu1)!&lt;br /&gt;
&lt;br /&gt;
{{HINT|xserver-xorg-input-mouse (version 1.0.3.1+cvs.20060109-0ubuntu1.1) is in dapper-updates since July 3rd, 2006. You don't need to patch it anymore.}}&lt;br /&gt;
&lt;br /&gt;
Use the following procedure to make it (middle button scrolling &amp;amp; middle button pasting) work:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|cd /desired/path &amp;amp;&amp;amp; mkdir tmp &amp;amp;&amp;amp; cd tmp}} (create temporary directory somewhere)&lt;br /&gt;
:{{cmduser|sudo nano /etc/apt/sources.list}} (insert/uncomment the deb-src lines, save and exit)&lt;br /&gt;
:{{cmduser|sudo apt-get update}}&lt;br /&gt;
:{{cmduser|apt-get source xserver-xorg-input-mice}} (in order to get the source code)&lt;br /&gt;
:{{cmduser|sudo aptitude install xserver-xorg-dev}} (this package and the packages it depends on are needed in order to compile the source code, use aptitude for easy removal later on)&lt;br /&gt;
:{{cmduser|cd xserver-xorg-input-mouse-1.0.3.1+cvs.20060109/}}&lt;br /&gt;
:{{cmduser|wget http://librarian.launchpad.net/2639933/xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2.debdiff}} (downloads the patch that fixes the bug)&lt;br /&gt;
:{{cmduser|patch -p1 &amp;lt; xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2.debdiff}} (applies the bug fix)&lt;br /&gt;
:{{cmduser|fakeroot dpkg-buildpackage}} (rebuilds the package... watch out for errors and install other missing packages)&lt;br /&gt;
:{{cmduser|sudo dpkg -i ../xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2_i386.deb}} (installs the rebuilt built package)&lt;br /&gt;
:{{cmduser|sudo aptitude remove xserver-xorg-dev}} (removes the packages needed to rebuild the package)&lt;br /&gt;
&lt;br /&gt;
Hope it works for you, it did work for me!&lt;br /&gt;
CrypTom&lt;br /&gt;
&lt;br /&gt;
===== Older versions of X.org =====&lt;br /&gt;
&lt;br /&gt;
For older versions of Xorg or for Xfree86 ({{path|/etc/X11/XF86Config}}) try this:&lt;br /&gt;
&lt;br /&gt;
       Option          &amp;quot;Emulate3Buttons&amp;quot;       &amp;quot;true&amp;quot;&lt;br /&gt;
       Option          &amp;quot;EmulateWheel&amp;quot;          &amp;quot;true&amp;quot;&lt;br /&gt;
       Option          &amp;quot;EmulateWheelButton&amp;quot;    &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now restart X and hold down button two and move the mouse for scrolling. To get a middle click, press buttons 1 and 3 simultaneously.&lt;br /&gt;
&lt;br /&gt;
==Soft Transparent Mode==&lt;br /&gt;
If you wish to connect a special device to the external PS/2 port, you should consider using &amp;quot;Soft Transparent Mode&amp;quot; so that the TrackPoint controller does not interpret any commands sent to the external PS/2 port. You can enable soft transparent mode by typing the following in to a terminal:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/transparent}}&lt;br /&gt;
&lt;br /&gt;
Disabling soft transparent mode is similar:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 0 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/transparent}}&lt;br /&gt;
&lt;br /&gt;
==Modify trackpoint parameter permanently in trackpoint.h==&lt;br /&gt;
If you do not want to run a script to reconfigure the trackpoint&lt;br /&gt;
you can change the default settings in the trackpoint header file that is located in&lt;br /&gt;
 /usr/src/&amp;lt;KERNEL_VERSION&amp;gt;/drivers/input/mouse/trackpoint.h.&lt;br /&gt;
&lt;br /&gt;
First you must convert the values (decimal numbers) you normaly echo to /sys/[...] to hex:&lt;br /&gt;
&lt;br /&gt;
'''echo -e 'obase=16;&amp;lt;DECIMAL_NUMBER&amp;gt;' | bc'''&lt;br /&gt;
&lt;br /&gt;
Then simply replace the default hex values in trackpoint.h, run 'make &amp;amp;&amp;amp; make modules_install' to recompile and install psmouse.ko (should be compiled as module)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example patch (speed=100, sensitivity=190, press_to_select=1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 --- trackpoint.h.orig   2006-01-17 16:18:30.000000000 +0100&lt;br /&gt;
+++ trackpoint.h        2006-01-17 16:25:47.000000000 +0100&lt;br /&gt;
@@ -108,9 +108,9 @@&lt;br /&gt;
 /*&lt;br /&gt;
  * Default power on values&lt;br /&gt;
  */&lt;br /&gt;
-#define TP_DEF_SENS            0x80&lt;br /&gt;
+#define TP_DEF_SENS            0xBE&lt;br /&gt;
 #define TP_DEF_INERTIA         0x06&lt;br /&gt;
-#define TP_DEF_SPEED           0x61&lt;br /&gt;
+#define TP_DEF_SPEED           0x64&lt;br /&gt;
 #define TP_DEF_REACH           0x0A&lt;br /&gt;
&lt;br /&gt;
 #define TP_DEF_DRAGHYS         0xFF&lt;br /&gt;
@@ -123,7 +123,7 @@&lt;br /&gt;
&lt;br /&gt;
 /* Toggles */&lt;br /&gt;
 #define TP_DEF_MB              0x00&lt;br /&gt;
-#define TP_DEF_PTSON           0x00&lt;br /&gt;
+#define TP_DEF_PTSON           0x01&lt;br /&gt;
 #define TP_DEF_SKIPBACK                0x00&lt;br /&gt;
 #define TP_DEF_EXT_DEV         0x01&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configure firefox for using trackpoint horizontal scrolling==&lt;br /&gt;
Vertical Scrolling seems to work out of the box in firefox if you followed the steps above.&lt;br /&gt;
Anyway, there is a problem when you don't scroll exactly vertical, because horizontal scrolling turns into&lt;br /&gt;
browser BACK/FORWARD commands. &lt;br /&gt;
You can avoid this by typing about:config + ENTER in the address bar of firefox.&lt;br /&gt;
You have to adjust the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mousewheel.horizscroll.withcontrolkey.action = 3;&lt;br /&gt;
mousewheel.horizscroll.withcontrolkey.numlines = 1; &lt;br /&gt;
mousewheel.horizscroll.withcontrolkey.sysnumlines = true;&lt;br /&gt;
&lt;br /&gt;
mousewheel.horizscroll.withnokey.action = 0;&lt;br /&gt;
mousewheel.horizscroll.withnokey.numlines = 1;&lt;br /&gt;
mousewheel.horizscroll.withnokey.sysnumlines = true;&lt;br /&gt;
&lt;br /&gt;
mousewheel.horizscroll.withshiftkey.action = 1;&lt;br /&gt;
mousewheel.horizscroll.withshiftkey.numlines = 1;&lt;br /&gt;
mousewheel.horizscroll.withshiftkey.sysnumlines = true;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FWIW, you can change only the following value to remove the browser BACK/FORWARD commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mousewheel.horizscroll.withnokey.action = 0;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With that, you can still go BACK/FORWARD by pressing together the shift or the alt key, while with the control key you increase or decrease the font size.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This appears to be fixed by default in Firefox 3.}}&lt;br /&gt;
&lt;br /&gt;
==Configure Opera for using trackpoint horizontal scrolling==&lt;br /&gt;
You'll experience the same annoying problem with the popular browser Opera. To fix this you need to edit the configfile &amp;lt;tt&amp;gt;standard_mouse.ini&amp;lt;/tt&amp;gt; in e.g. /usr/share/opera/ini/ (Debian) or /opt/opera/share/opera/ini/ (Gentoo) and comment out the following lines&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Button6                                                        = Back&lt;br /&gt;
Button7                                                        = Forward&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
so they look like that&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;Button6                                                        = Back&lt;br /&gt;
;Button7                                                        = Forward&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remember, Button6 and Button7 do not so coincidental correspond with our X configuration we know from above:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Option &amp;quot;YAxisMapping&amp;quot; &amp;quot;6 7&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After this change you will be able to scroll vertically and horizontally with your middle button.&lt;br /&gt;
&lt;br /&gt;
==Fixing trackpoint under Ubuntu 7.10 Gutsy Gibbon==&lt;br /&gt;
===Using trackpoint deamon===&lt;br /&gt;
My default Ubuntu Gutsy (running on an X61s) would give the following error messages when running the trackpoint daemon. Running&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     /etc/init.d/trackpoint restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
caused a bunch of error messages, as the wrong device was in&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        /etc/trackpoint/trackpoint.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I fixed this by changing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        echo -n  &amp;gt; /sys/devices/platform/i8042/serio0/serio2/sensitivity&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        echo -n  &amp;gt; /sys/devices/platform/i8042/serio1/sensitivity&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
in /etc/trackpoint/trackpoint.conf.&lt;br /&gt;
&lt;br /&gt;
In addition, Ubuntu ran the appropriate /etc/init.d/trackpoint script on booting, but would give a bunch of errors (which, oddly, I could never find in any of the log files).&lt;br /&gt;
&lt;br /&gt;
It seems that it was running the scripts too early in the boot sequence. The Gutsy package provided&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    /etc/rc2.d/S20trackpoint&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so I renamed this to S99trackpoint (and in all the other rc.? directories) and it now works on boot.&lt;br /&gt;
&lt;br /&gt;
===Editing the kernel config files===&lt;br /&gt;
Another way of configuring the trackpoint without using the trackpoint daemon is to edit the values of the trackpoint files which, BTW, are located in&lt;br /&gt;
 /sys/devices/platform/i8042/serio1/serio2.&lt;br /&gt;
&lt;br /&gt;
The script should be executed during boot. This can be done in an init script (e.g. /etc/bootmisc.sh in some distros)&lt;br /&gt;
&lt;br /&gt;
Script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# configuration du trackpoint&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# vitesse&lt;br /&gt;
echo -n 120 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/speed&lt;br /&gt;
&lt;br /&gt;
# sensibilité&lt;br /&gt;
echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/sensitivity &lt;br /&gt;
&lt;br /&gt;
# press to select&lt;br /&gt;
echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/press_to_select&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===An Ubuntu/Fedora example===&lt;br /&gt;
Another script that I've created seems to work with all versions of Ubuntu/Fedora that I've been able to try (comment out and uncomment the appropriate lines for fedora/ubuntu as necessary)&lt;br /&gt;
Place in /etc/rc.local or equivalent for your distro:&lt;br /&gt;
&lt;br /&gt;
Script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#*************************&lt;br /&gt;
## START TRACKPOINT CONFIG&lt;br /&gt;
#*************************&lt;br /&gt;
&lt;br /&gt;
# For fedora (the slash after &amp;quot;speed&amp;quot; is returned)&lt;br /&gt;
# TRACKPATH=$(find /sys -print0 | grep -FzZ &amp;quot;/serio2/speed&amp;quot; | sed s^speed/^^)&lt;br /&gt;
&lt;br /&gt;
# For ubuntu (the slash after &amp;quot;speed&amp;quot; is not returned)&lt;br /&gt;
TRACKPATH=$(find /sys -print0 | grep -FzZ &amp;quot;/serio2/speed&amp;quot; | sed s/speed//)&lt;br /&gt;
&lt;br /&gt;
## Select &amp;quot;press_to_select&amp;quot; on the trackpoint input device&lt;br /&gt;
## We need to specify the TRACKPATH above because the device under &amp;quot;serio#&amp;quot;&lt;br /&gt;
## changes between system boots. (We first test to see if the file we want&lt;br /&gt;
## to modify exists, if it does, we make the change&lt;br /&gt;
#[ -f $TRACKPATH/press_to_select ] &amp;amp;&amp;amp; echo -n 1 &amp;gt; $TRACKPATH/press_to_select&lt;br /&gt;
&lt;br /&gt;
## Adjust the speed setting of the trackpoint input device&lt;br /&gt;
[ -f $TRACKPATH/speed ] &amp;amp;&amp;amp; echo -n 120 &amp;gt; $TRACKPATH/speed &lt;br /&gt;
## Adjust the sensitivity setting of the trackpoint input device&lt;br /&gt;
[ -f $TRACKPATH/sensitivity ] &amp;amp;&amp;amp; echo -n 200 &amp;gt; $TRACKPATH/sensitivity&lt;br /&gt;
&lt;br /&gt;
#***********************&lt;br /&gt;
## END TRACKPOINT CONFIG&lt;br /&gt;
#***********************&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TrackPoint under Ubuntu 8.10 and Fedora 10 using HAL==&lt;br /&gt;
&lt;br /&gt;
Because Ubuntu 8.10 uses HAL you must do the following to get the scrolling working:&lt;br /&gt;
(see: http://forum.ubuntuusers.de/topic/mouse-wheel-emulation-in-xorg.conf/?highlight=hal+trackpoint#post-1558282 )&lt;br /&gt;
&lt;br /&gt;
Create the file '''/etc/hal/fdi/policy/mouse-wheel.fdi''' as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;match key=&amp;quot;info.product&amp;quot; string=&amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheelButton&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;2&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.YAxisMapping&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;4 5&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.XAxisMapping&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;6 7&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.Emulate3Buttons&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheelTimeout&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;200&amp;lt;/merge&amp;gt;&lt;br /&gt;
&amp;lt;/match&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Fedora 10, this fix also works, and with '''lshal''' you can see that the changes do indeed take effect.  However, you will need to update the evdev drivers ('''yum --enablerepo=rawhide update xorg-x11-drv-evdev''') before X will use these settings correctly.  I'm still not sure what the problem is with the drivers in vanilla Fedora 10, but with version 2.1.0 of these drivers, I have full functionality.&lt;br /&gt;
&lt;br /&gt;
Note: You must restart both hal and X to see these changes, so it's probably easiest to just reboot.&lt;br /&gt;
&lt;br /&gt;
Confirmed to work in Gentoo as well. You MUST upgrade to x11-drivers/xf86-input-evdev-2.1.0. As of today (12/8/08), this package is only found in the x11 overlay. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://wiki.ubuntu.com/X/Config&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: After setting this up, scrolling seems to fail once in a while after resuming from suspend. Re-suspending and then re-resuming causes it to work again. I don't know why this might be.&lt;/div&gt;</summary>
		<author><name>Craftyguy</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_ACPI_suspend-to-ram&amp;diff=39108</id>
		<title>Problems with ACPI suspend-to-ram</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problems_with_ACPI_suspend-to-ram&amp;diff=39108"/>
		<updated>2008-10-15T05:25:21Z</updated>

		<summary type="html">&lt;p&gt;Craftyguy: /* Troubles on suspend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following glitches may or may not occur in relation to suspending to RAM:&lt;br /&gt;
&lt;br /&gt;
==Troubles on suspend==&lt;br /&gt;
;Permissions:If your suspend is failing, and a {{cmdroot|tail /var/log/acpid}} shows &amp;quot;Permission denied&amp;quot; errors, be sure that your new ACPI event and action scripts have the appropriate permissions.&lt;br /&gt;
&lt;br /&gt;
;Write error:If {{cmdroot|echo mem &amp;gt; /sys/power/state}} shows &amp;quot;write error: Operation not permitted&amp;quot;, verify that CONFIG_HOTPLUG_CPU option is enabled in the kernel. [[Software_Suspend_2|Suspend2]] automatically selects this option. &lt;br /&gt;
&lt;br /&gt;
;Broken sysfs interface:You may experience problems when using {{cmdroot|echo standby &amp;gt; /sys/power/state}} or {{cmdroot|echo mem &amp;gt; /sys/power/state}} (machine goes to sleep and wakes up immediately). This can be avoided by using {{cmdroot|echo -n 3 &amp;gt;/proc/acpi/sleep}} to get it to sleep. This can be also happen if hotplug daemon is still running or if the usb hcd modules are still loaded.&lt;br /&gt;
&lt;br /&gt;
;Immediate Resume after Suspend:If a resume starts a few seconds after suspend a reason might be the USB modules. Unload the modules uhci_hcd and ehci_hcd before you suspend. Users of hibernate-scripts add &amp;quot;UnloadModules uhci_hcd ehci_hcd&amp;quot; to {{path|/etc/hibernate/common.conf}}.&lt;br /&gt;
&lt;br /&gt;
;Hangs on &amp;quot;switching to UP code&amp;quot;:You may be using a [[How to make use of Dynamic Frequency Scaling|frequency scaling governor]] such as &amp;quot;conservative&amp;quot; or &amp;quot;ondemand&amp;quot;, which sometimes have problems with suspending. Switching to a governor such as &amp;quot;powersave&amp;quot; or &amp;quot;performance&amp;quot; before suspending may solve this problem.&lt;br /&gt;
&lt;br /&gt;
;MySQL daemon running:If you're running MySQL, sleep may also not work, so stop MySQL first, then sleep. Remember to restart MySQL when you wakeup.&lt;br /&gt;
&lt;br /&gt;
;LCD backlight remains on during sleep:When your system is equiped with a Radeon Mobility graphic controller your [[Problem with LCD backlight remaining on during ACPI sleep|LCD backlight may not turn off automatically]]. Use [[radeontool]] to switch off your backlight prior suspend in your sleep action script.&lt;br /&gt;
&lt;br /&gt;
;High power drain during sleep:Also, you might want to take note of the [[Problem with high power drain in ACPI sleep]].&lt;br /&gt;
&lt;br /&gt;
;Built-in MMC reader:If you have an MMC reader, and the computer hangs when attempting suspend then remove sdhci, mmc_block, and mmc_core modules before suspending.&lt;br /&gt;
&lt;br /&gt;
;Could not power down device &amp;lt;NULL&amp;gt;: error -22:If you have the acpi_cpufreq kernel module loaded, this prevents suspension.&lt;br /&gt;
&lt;br /&gt;
;Immediate Resume, but Suspend &amp;quot;moon&amp;quot; light continues to flash:???&lt;br /&gt;
&lt;br /&gt;
;Hard system lock up:If you are using savagefb, make sure to [[Problem_with_unusable_console|disable the &amp;quot;Console Acceleration&amp;quot; option]] (CONFIG_FB_SAVAGE_ACCEL) in the kernel config.  Otherwise, susped-to-RAM may lock up your system such that you must remove the AC adapter and battery to get it to boot again.&lt;br /&gt;
&lt;br /&gt;
;Hard system lock up 2:  If you are using a Thinkpad G40 and Ubuntu (this problem experienced on 8.04), you may experience problems with ACPI when opening your laptop lid that freezes the system.  You can disable ACPI in your kernel parameters, or modify {{path|/etc/acpi/lid.sh}} to switch to a plain text console on close and back to Gnome/KDE on open (use {{path|/usr/bin/chvt 1}} and {{path|/usr/bin/chvt 7}}, respectively)&lt;br /&gt;
&lt;br /&gt;
;Solid 'moon' but fans still spinning: On a T61p with an nvidia quadro 570M, you might experience a near-complete suspend, with the backlight turned off, unresponsive usb, and a solid 'moon' lit, however system fans are still going. The proprietary nvidia module is to blame. On gentoo, appending &amp;quot;NVreg_Mobile=3&amp;quot; to the 'option' line in /etc/modules.d/nvidia fixed the issue for me. On other distros, look in your module autoloading conf file&lt;br /&gt;
&lt;br /&gt;
==Troubles on resume==&lt;br /&gt;
;Blank display on resume:&lt;br /&gt;
:When resuming from a suspend-to-ram the display might remain black (on {{X60}}) or might only show the pre-suspend output (the system is still rebootable via {{key|ctrl}}{{key|alt}}{{key|del}}). See [[Problem with display remaining black after resume]] for solutions. See also '''System hang on resume''' on this page - which may be potentially mismatched with this one.&lt;br /&gt;
&lt;br /&gt;
;No mouse cursor on resume:&lt;br /&gt;
:When resuming from a suspend-to-ram your X cursor might be invisible(on {{X40}}) when using {{path|/sys/power/state}} directly to suspend, they way to fix this is to rerun the post bios code after returning for suspending.&lt;br /&gt;
:{{cmdroot|FGCONSOLE&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;`fgconsole\`}}&lt;br /&gt;
:{{cmdroot|chvt 1 &amp;amp;&amp;amp; echo -n mem &amp;gt;/sys/power/state}}&lt;br /&gt;
:{{cmdroot|vbetool post &amp;amp;&amp;amp; chvt 7 &amp;amp;&amp;amp; chvt $FGCONSOLE}}&lt;br /&gt;
&lt;br /&gt;
;Garbage on text consoles on resume:When resuming from suspend-to-ram the text console displays may show garbage instead of actual text. The machine is otherwise still responsive and X displays fine. If all of this is true, then adding the kernel option {{bootparm|acpi_sleep|s3_bios,s3_mode}} in your menu.lst or lilo.conf may solve the problem.&lt;br /&gt;
&lt;br /&gt;
;Broken hardware support after resume:&lt;br /&gt;
:*The '''serial port''' of the port replicator might not work after resume.&lt;br /&gt;
:*The '''parallel port''' might not work after resume. A possible fix is to unload and reload the parallel port drivers: {{cmdroot|rmmod lp parport_pc parport; modprobe lp}}.&lt;br /&gt;
:*Problems with the '''CD-RW/DVD drive''' after wake up from ram have been experienced.&lt;br /&gt;
:*There is a known Problem regarding '''battery info''' after suspend to RAM. A [http://www.ussg.iu.edu/hypermail/linux/kernel/0511.0/2429.html small patch] exists for kernels 2.6.14/2.6.15.&lt;br /&gt;
:*On {{X20}} and {{X21}} (and possibly other) models, the '''sleep LED''' is not reset properly on resume and will keep blinking. If you have the [[ibm-acpi]] kernel module loaded with the {{bootparm|ibm-acpi.experimental|1}} option, you can switch it off on resume by appending the following line to your suspend script: {{cmdroot|echo 7 off &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
&lt;br /&gt;
;Crash on resume:&lt;br /&gt;
:*When using '''older ATI proprietary drivers''' a crash on resume can be solved by using [http://freshmeat.net/projects/vbetool/ vbetool]. See the example suspend script [[Problem with display remaining black after resume#Solution for ThinkPads with Intel I830 Chipset]]. This is no longer necessary with recent revisions of the ATI proprietary driver.&lt;br /&gt;
:*A crash could also be caused by having '''apic support''' enabled in the kernel config. Try disabling it (in the &amp;quot;Processor type and features&amp;quot; section).&lt;br /&gt;
:*On machines with Savage chipsets, the '''savagefb framebuffer driver''' might crash the machine on resume. Make sure it is disabled in your kernel config and use the standard vesafb driver instead.&lt;br /&gt;
:*SATA-based laptops utilize the '''libata layer for disk access''' which does not have fully-working power-management support before Linux kernel 2.6.16 (ata_piix) and 2.6.19 (ahci).  Suspend to RAM crashes these machines on resume.  See the [[Problems with SATA and Linux#Hang on resume from suspend to RAM|relevant section]] on the [[Problems with SATA and Linux]] page.&lt;br /&gt;
:*Using [[HDAPS]] as a module causes a crash on resume with the Linux kernel 2.6.19 (possibly even earlier versions). This was observed on a {{X41}}. Try unloading the module before suspending.&lt;br /&gt;
:*Gnome-power-manager might be using the wrong backend. If you are able to suspend from the commandline with a certain method, make sure the others are not available so that g-p-m doesn't choose the wrong one. For example, if you suspend with {{cmdroot|echo mem &amp;gt; /sys/power/state}}, make sure '''uswsusp''' and '''hibernate''' are uninstalled.&lt;br /&gt;
&lt;br /&gt;
;System hang on resume:&lt;br /&gt;
:System hangs immediately upon attempted resume if suspended with USB devices attached to dock.  Try using the laptop's own USB ports instead.  That fixed the problem for me.  Details: https://bugs.launchpad.net/ubuntu/+bug/218760 --[[User:Dave abrahams|Dave abrahams]] 17:45, 28 April 2008 (CEST)&lt;br /&gt;
:When system resumes it hangs right after restarting tasks. Strange thing is, that you may be even able to restart your ThinkPad using {{key|ctrl}}{{key|alt}}{{key|del}}, but if you try to blindly exec a command, it will not work, (eg. touch FILE) so it's not only the problem of videocard. This may be fixed by passing {{bootparm|ec_intr|0}} on kernel cmdline. Affected models: {{T20}}, {{T21}} (at least [[2648-46U]] (T20),[[2647-8AG]] (T21)).&lt;br /&gt;
:'''Note:''' ''this is resolved in kernel 2.6.20, there is no need to pass the {{bootparm|ec_intr|0}} bootparam anymore (moreover, you are discouraged to use it) See [http://bugzilla.kernel.org/show_bug.cgi?id=6749 revelant kernel bug report]''&lt;br /&gt;
:See also [https://bugs.launchpad.net/ubuntu/+source/acpi/+bug/73546 this bug report], I can confirm some strange problems on resume with Bluetooth enabled - my T61 may freeze in a couple of minutes after resuming. This problem is gone as soon as I disable Bluetooth (stop all bluetooth related services and `echo &amp;quot;disable&amp;quot; &amp;gt; /proc/acpi/ibm/bluetooth`).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Shutdown on resume:&lt;br /&gt;
:If your system immediately begins to shut down right after resume, make sure you don't have acpid running with the power button tied to shutdown. The system is simply sensing the power button event and shutting down.  This issue has been reported as a bug against the kernel ACPI subsystem, refer to [http://bugzilla.kernel.org/show_bug.cgi?id=6612 kernel.org bugzilla bug #6612].&lt;br /&gt;
&lt;br /&gt;
;Immediate suspend on resume:&lt;br /&gt;
:When running GNOME, sometimes gnome-power-manager will put the system back into suspend immediately after resuming.  This is caused by a known bug in HAL that causes some ACPI events to be reported incorrectly after a suspend-to-ram.  A simple workaround can be found [http://live.gnome.org/GnomePowerManager/Faq?action=recall&amp;amp;rev=28#head-b8b1280115b0a51c2cc27b13a57121130ebf36cb here].&lt;br /&gt;
:Note that suspend being triggered by unrelated ACPI events such as disconnecting the AC adapter may also be fixed by the above method.&lt;br /&gt;
&lt;br /&gt;
;Power Off when suspended laptop is docked&lt;br /&gt;
:When T60p is suspended, docking laptop into Advanced Dock immediately turns off laptop and crescent moon sleep indicator LED. Pressing power button initiates cold boot. Also reported by multiple people on thinkpads.com.&lt;br /&gt;
&lt;br /&gt;
;SectorIdNotFound disk errors when laptop is resumed&lt;br /&gt;
:The errors look like this:&lt;br /&gt;
 Oct 14 17:35:02 cacharro kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }&lt;br /&gt;
 Oct 14 17:35:02 cacharro kernel: hda: dma_intr: error=0x10 { SectorIdNotFound }, LBAsect=115896900, sector=115896900&lt;br /&gt;
 Oct 14 17:35:02 cacharro kernel: ide: failed opcode was: unknown&lt;br /&gt;
&lt;br /&gt;
:This happens when you have [[Hidden Protected Area]] (HPA) enabled on the hard drive.  There is a [http://bugzilla.kernel.org/show_bug.cgi?id=6840 kernel bug report with an unfinished patch] to fix this.  This is not fixed as of kernel 2.16.18. Adding {{bootparm|libata.ignore_hpa|1}} to the kernel command line might help.&lt;/div&gt;</summary>
		<author><name>Craftyguy</name></author>
		
	</entry>
</feed>