<?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=Fhackenberger</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=Fhackenberger"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Fhackenberger"/>
	<updated>2026-04-15T04:02:19Z</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=58051</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=58051"/>
		<updated>2017-03-21T10:22:49Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: /* Configuring other options (e.g. Press to select, Sensitivity and Speed) */&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; |Below are several ways of configuring the kernel psmouse driver for controlling extended TrackPoint features.&lt;br /&gt;
|}&lt;br /&gt;
On a '''Modern''' distribution (like Fedora, Ubuntu or OpenSUSE) you will want to use xinput or one of the graphical front ends. For distributions that are lagging a bit (e.g. Debian Lenny and PCLOS '09) you may still want to use the old xorg config method.&lt;br /&gt;
&lt;br /&gt;
=Configuration using xinput=&lt;br /&gt;
If you want to modify changes on the fly, you can do so with {{cmd|xinput|}} (part of the optional xorg-x11-apps rpm on Fedora).&lt;br /&gt;
Note that these changes are not saved when the xserver is restarted. However, you can add the lines e.g. in your  {{cmd|.xsessionrc|}} (depends on your distribution) so they are executed every time X starts.&lt;br /&gt;
&lt;br /&gt;
To query the available options&lt;br /&gt;
 xinput list-props &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
&lt;br /&gt;
More information can be found in the man-pages for evdev&lt;br /&gt;
 man evdev&lt;br /&gt;
&lt;br /&gt;
To enable vertical scrolling&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation&amp;quot; 1&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Button&amp;quot; 2&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 200&lt;br /&gt;
&lt;br /&gt;
To enable horizontal scrolling in addition to vertical scrolling&lt;br /&gt;
&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To enable middle button emulation (using left- and right-click simultaneously)&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Emulation&amp;quot; 1&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Timeout&amp;quot; 50&lt;br /&gt;
&lt;br /&gt;
== old method using xinput set-int-prop ==&lt;br /&gt;
&lt;br /&gt;
Note: xinput set-int-prop is deprecated according to the xinput manpage.&lt;br /&gt;
&lt;br /&gt;
To enable vertical scrolling&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
&lt;br /&gt;
To enable horizontal scrolling in addition to vertical scrolling&lt;br /&gt;
&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To enable middle button emulation (using left- and right-click simultaneously)&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Timeout&amp;quot; 8 50&lt;br /&gt;
&lt;br /&gt;
==Example: openSUSE 11.2 and ThinkPad USB Keyboard with TrackPoint ==&lt;br /&gt;
&lt;br /&gt;
 xinput list&lt;br /&gt;
will show two &amp;quot;Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint.&amp;quot; with two different ids. Use the id with Axis 0 and Axis 1 items.&lt;br /&gt;
&lt;br /&gt;
Suppose the id was 12. The following will enable the trackpoint scrolling:&lt;br /&gt;
&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
&lt;br /&gt;
The following will enable the horizontal scrolling&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To disable middle button click paste functionality, remap the middle button to something else:&lt;br /&gt;
 xmodmap -e &amp;quot;pointer = 1 9 3 4 5 6 7 8 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To do these automatically without worrying about id number, generate a bash script file:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 xinput list | sed -ne 's/^[^ ][^V].*id=\([0-9]*\).*/\1/p' | while read id&lt;br /&gt;
 do&lt;br /&gt;
         case `xinput list-props $id` in&lt;br /&gt;
         *&amp;quot;Middle Button Emulation&amp;quot;*)&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Middle Button Emulation&amp;quot; 8 0&lt;br /&gt;
                 ;;&lt;br /&gt;
         esac&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
 # disable middle button&lt;br /&gt;
 xmodmap -e &amp;quot;pointer = 1 9 3 4 5 6 7 8 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and save it with any name such as trackPointScrolling.sh, and make it executable:&lt;br /&gt;
 chmod +x trackPointScrolling.sh&lt;br /&gt;
&lt;br /&gt;
Next time you run it with $ ./trackPointScrolling.sh, it will enable the trackpoint scrolling and disable middle button paste.&lt;br /&gt;
{{Todo|some other examples}}&lt;br /&gt;
&lt;br /&gt;
= Graphical Frontends =&lt;br /&gt;
If you are using GNOME, you might want to use [http://live.gnome.org/GPointingDeviceSettings GPointing Device Settings] or [http://tpctl.sourceforge.net/configure-trackpoint.html configure-trackpoint] as a graphical frontends.&lt;br /&gt;
=== GPointing Device Settings ===&lt;br /&gt;
It is available for Fedora 12, Ubuntu 9.10 and Debian Squeeze in the standard package repositories&lt;br /&gt;
{{NOTE|Unfortunately it seems no longer maintained, and does not work properly with GNOME3 [[https://bugzilla.redhat.com/show_bug.cgi?id=710053 bug]]}}&lt;br /&gt;
&lt;br /&gt;
[[image:Screenshot-GPointing Device Settings-TrackPoint.png]]&lt;br /&gt;
&lt;br /&gt;
=== configure-trackpoint ===&lt;br /&gt;
To install it in Ubuntu run ...&lt;br /&gt;
 sudo apt-get install sysfsutils&lt;br /&gt;
...and then download and install the deb [http://sourceforge.net/projects/tpctl/ here]. Note that saved settings are not restored after reboot in Lucid Lynx. See methods below to make settings permanent.&lt;br /&gt;
&lt;br /&gt;
= Configuration using DevKit =&lt;br /&gt;
Most recent distributions like Ubuntu 9.10 switch from HAL (being deprecated) to DevKit. Hence, the HAL configurations explained underneath, fail to work.&lt;br /&gt;
&lt;br /&gt;
The easiest way to configure your touchpad and trackpoint with DevKit is by using the [http://live.gnome.org/GPointingDeviceSettings GPointingDeviceSettings] panel that fully supports the hardware. You can easily download the panel by installing {{cmd| gpointing-device-settings|}}. On Ubuntu open a terminal and execute the command {{cmduser| sudo apt-get install gpointing-device-settings}}&lt;br /&gt;
&lt;br /&gt;
Launch the UI through the {{cmduser| gpointing-device-settings}} command, but you can also add a menu entry to your System / Preferences menu for easier access to the UI panel.&lt;br /&gt;
&lt;br /&gt;
= Configuration using udev and HAL =&lt;br /&gt;
Modern distributions like Ubuntu 8.10 and Fedora 10 use udev and HAL to configure the input devices. You should no longer make changes to xorg.conf as by default Xorg (through the evdev driver) will let the kernel now handle input devices.&lt;br /&gt;
&lt;br /&gt;
But before you get started on this you should make sure you have all the updates applied from your distro vendor as both Ubuntu 8.10 and Fedora 10 require some additional fixes that you will need.&lt;br /&gt;
&lt;br /&gt;
=== Scrolling ===&lt;br /&gt;
&lt;br /&gt;
By default the middle mouse button is just that, a middle mouse button, which in Linux is used for the Paste operation.&lt;br /&gt;
&lt;br /&gt;
You may configure it to act in the same way as in Windows, such that you can use it for vertical scrolling: keep the button pressed and move the TrackPoint up and down to scroll. (In GPointing Device Settings, this is known as &amp;quot;Use wheel emulation&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This setting is not compatible with using Alt + Middle Mouse Button to resize windows. If you want to resize windows with the trackpad, disable wheel emulation. On Ubuntu 11.10, this setting resides in &amp;lt;tt&amp;gt;/usr/share/X11/xorg.conf.d/11-evdev-trackpoint.conf&amp;lt;/tt&amp;gt; (see below), although some touchpads use &amp;lt;tt&amp;gt;/usr/share/X11/xorg.conf.d/50-synaptics.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== xorg.conf.d ====&lt;br /&gt;
&lt;br /&gt;
Some distributions now support the new Xorg hotplug configuration method via xorg.conf.d directories (in Ubuntu 10.04 Lucid Lynx) instead of hal. In contrast to the udev method below, it should be around for some time, so it might be the best way to “statically” configure scrolling.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/usr/lib/X11/xorg.conf.d/20-thinkpad.conf}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
	Identifier	&amp;quot;Trackpoint Wheel Emulation&amp;quot;&lt;br /&gt;
	MatchProduct	&amp;quot;TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint&amp;quot;&lt;br /&gt;
	MatchDevicePath	&amp;quot;/dev/input/event*&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;
	Option		&amp;quot;Emulate3Buttons&amp;quot;	&amp;quot;false&amp;quot;&lt;br /&gt;
	Option		&amp;quot;XAxisMapping&amp;quot;		&amp;quot;6 7&amp;quot;&lt;br /&gt;
	Option		&amp;quot;YAxisMapping&amp;quot;		&amp;quot;4 5&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|For Ubuntu 10.10 Maverick Meerkat, the correct path is {{path|/usr/share/X11/xorg.conf.d}}}}&lt;br /&gt;
{{NOTE|For Arch Linux or Fedora or PCLinuxOS, the correct path is {{path|/etc/X11/xorg.conf.d}}}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If the above does not work for you, you may need to add a different MatchProduct string.  Use &amp;lt;pre&amp;gt;find /dev/input/event* -exec udevadm info --attribute-walk --name={} \; | grep -e product -e name | sort -u&amp;lt;/pre&amp;gt; to get a list of possibilities.}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If the above directory doesn't exist by default in your distribution, it probably doesn't support this method. In this case, please refer to the udev or xinput method below.}}&lt;br /&gt;
&lt;br /&gt;
==== udev ====&lt;br /&gt;
&lt;br /&gt;
Now that Xorg doesn't use the configuration from hal (in Debian unstable starting january 2010), the only way to “statically” configure scrolling in trackpoint is udev. (for other people, xinput method, works fine). This method will be gone (_again_) in not too long so it might be a better idea to use xinput way. YMMV.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/etc/udev/rules.d/99_trackpoint.rules}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
KERNEL!=&amp;quot;event*&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{ID_PATH}!=&amp;quot;platform-i8042-serio-1&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{x11_options.EmulateWheel}=&amp;quot;1&amp;quot;&lt;br /&gt;
ENV{x11_options.EmulateWheelButton}=&amp;quot;2&amp;quot;&lt;br /&gt;
ENV{x11_options.XAxisMapping}=&amp;quot;6 7&amp;quot;&lt;br /&gt;
ENV{x11_options.Emulate3Buttons}=&amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
LABEL=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart udev then Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The ID_PATH used in the example above is a typical value.  To determine the ID_PATH appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==== Hal (soon to be deprecated) ====&lt;br /&gt;
&lt;br /&gt;
To accomplish this create the file {{path|/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.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;
If you also want to have horizontal scrolling, simply add the following XAxisMapping option to the above&lt;br /&gt;
&amp;lt;pre&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;/pre&amp;gt;&lt;br /&gt;
After this reboot, or restart the hal service and Xorg. You can validate the settings with {{cmd|lshal|}}.&lt;br /&gt;
&lt;br /&gt;
In some models (eg: X301 and X200 since Jan 10 2010 on debian sid) you may have to use &amp;quot;PS/2 Generic Mouse&amp;quot; instead of &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;. Have a look to your input devices typing &amp;lt;code&amp;gt;lshal|grep input.product&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Alternatively it is also possible to use the &amp;quot;old&amp;quot; Xorg configuration by adding the following lines to the {{path|/etc/X11/xorg.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
	Option 	&amp;quot;AutoAddDevices&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using this entry HAL will not be used for the input devices.&lt;br /&gt;
&lt;br /&gt;
====Reactivate Scrolling after suspend/resume====&lt;br /&gt;
Scrolling may be disabled after a resume from suspend.&lt;br /&gt;
&lt;br /&gt;
You can manually reactivate the trackpoint by reloading the {{path|psmouse}} module as root:&lt;br /&gt;
:{{cmdroot|rmmod psmouse &amp;amp;&amp;amp; modprobe psmouse}}&lt;br /&gt;
&lt;br /&gt;
You can automatically force the pm-utils to reload this module.&lt;br /&gt;
Create a file {{path|/etc/pm/config.d/01reload_mouse}} as root with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# reload psmouse to reactivate trackpoint scrolling&lt;br /&gt;
SUSPEND_MODULES=&amp;quot;${SUSPEND_MODULES:+$SUSPEND_MODULES }psmouse&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuring other options (e.g. Press to select, Sensitivity and Speed)===&lt;br /&gt;
&amp;lt;!--HAL wasn't made to configure sysfs settings, so we'll use udev instead --&amp;gt;&lt;br /&gt;
Create a file {{path|/etc/udev/rules.d/10-trackpoint.rules}} and add a line to suit your needs&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, ATTRS{press_to_select}=&amp;quot;1&amp;quot;, ATTRS{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Testing udev  with {{cmdroot|udevadm test /sys/devices/platform/i8042/serio1}} should apply the new changes.  All of the settings listed [[How to configure the TrackPoint#Sysfs_Options_Reference|below]] can be specified here as part of a comma separated list.&lt;br /&gt;
The customized values should be loaded automatically when booting. However, due to a [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549379  kernel bug] (affecting Lucid Lynx), the attributes may not yet exist when the udev rule fires. As a work around, add a WAIT_FOR condition on the attribute. In order to make sure you are using the right constraints (SUBSYSTEM, DRIVERS, etc), you can run {{cmdroot|udevadm info --query all --attribute-walk --path /sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, WAIT_FOR=&amp;quot;/sys/devices/platform/i8042/serio1/serio2/sensitivity&amp;quot;, ATTRS{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On my system (Lucid Lynx), the above line did not work. I changed it to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, WAIT_FOR=&amp;quot;/sys/devices/platform/i8042/serio1/serio2/sensitivity&amp;quot;, ATTR{sensitivity}=&amp;quot;255&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and tested with {{cmdroot|udevadm test /sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
On trusty, the following works for me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;serio2&amp;quot;, SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, WAIT_FOR=&amp;quot;/sys/devices/platform/i8042/serio1/serio2/sensitivity&amp;quot;, ATTR{sensitivity}=&amp;quot;255&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On xenial (16.04) the following line works for me (WAIT_FOR is not supported anymore):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;serio2&amp;quot;, SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, ATTR{sensitivity}:=&amp;quot;255&amp;quot;, ATTR{speed}:=&amp;quot;255&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To avoid the wait you can also listen for the Trackpoint input device to appear and then run a script to set the parameters&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;input&amp;quot;, ATTR{name}==&amp;quot;*TrackPoint*&amp;quot;, RUN+=&amp;quot;/etc/conf.d/trackpoint&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example {{path|/etc/conf.d/trackpoint}} would be&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#! /bin/bash&lt;br /&gt;
&lt;br /&gt;
## Trackpoint settings&lt;br /&gt;
&lt;br /&gt;
# When run from a udev rule, DEVPATH should be set&lt;br /&gt;
if [ ! -z $DEVPATH ] ; then&lt;br /&gt;
    TPDEV=/sys/$( echo &amp;quot;$DEVPATH&amp;quot; | sed 's/\/input\/input[0-9]*//' )&lt;br /&gt;
else&lt;br /&gt;
# Otherwise just look in /sys/&lt;br /&gt;
    TPDEV=$(find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/input\/input[0-9]*\/name$//')&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# http://www.thinkwiki.org/wiki/How_to_configure_the_TrackPoint&lt;br /&gt;
# http://wwwcssrv.almaden.ibm.com/trackpoint/files/ykt3eext.pdf&lt;br /&gt;
#------------------------------------------------------------&lt;br /&gt;
if [ -d &amp;quot;$TPDEV&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Configuring Trackpoint&amp;quot;&lt;br /&gt;
    echo -n 255     &amp;gt; $TPDEV/sensitivity     # Integer  128   Sensitivity&lt;br /&gt;
    echo -n 110     &amp;gt; $TPDEV/speed           # Integer  97   Cursor speed&lt;br /&gt;
    echo -n 4       &amp;gt; $TPDEV/inertia         # Integer  6   Negative intertia&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;Couldn't find trackpoint device $TPDEV&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Configuration using sysfs=&lt;br /&gt;
Another way to modify changes on the fly, is echoing values directly into special files in sysfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|&lt;br /&gt;
The examples shown below are valid for ThinkPads with both TrackPoint and Touchpad, in which case the sysfs path is {{path|/sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
If however you have a ThinkPad without Touchpad, or with the Touchpad disabled in the BIOS, the sysfs path needs to be changed to {{path|/sys/devices/platform/i8042/serio1}} instead (notice the missing serio2 at the end).}}&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;
===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/serio1/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/serio1/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/serio1/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/serio1/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/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 8.10 to make Press to Select a permanent change:&lt;br /&gt;
&lt;br /&gt;
echo -n 1 | tee /sys/devices/platform/i8042/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
As root, append the above command above &amp;quot;exit 0&amp;quot; in /etc/gdm/Init/Default&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/serio1/serio2/speed}}&lt;br /&gt;
:{{cmdroot|echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/sensitivity}}&lt;br /&gt;
&lt;br /&gt;
Alternatively, on my ThinkPad T420s, the correct commands are:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 120 &amp;gt; /sys/devices/platform/i8042/serio1/speed}}&lt;br /&gt;
:{{cmdroot|echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio1/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.  In Ubuntu 9.10, add the lines to /etc/rc.local to avoid this.&lt;br /&gt;
&lt;br /&gt;
===Vertical Scrolling===&lt;br /&gt;
No sysfs entry exists for vertical scrolling in kernels after 2.6.11.&lt;br /&gt;
&lt;br /&gt;
The feature was removed as it was not a hardware feature, but rather emulating a scroll action in software and as such did not belong in the kernel.&lt;br /&gt;
Instead the scroll feature of the Xserver should be used, which can be activated with HAL or xinput as described above.&lt;br /&gt;
&lt;br /&gt;
=Configuration using the X server (xorg.conf)=&lt;br /&gt;
==Using the &amp;quot;evdev&amp;quot; driver (preferred, especially for recent Xorg versions)==&lt;br /&gt;
Extract from /etc/X11/xorg.conf on an X31:&lt;br /&gt;
&lt;br /&gt;
    Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
        Driver     &amp;quot;evdev&amp;quot;&lt;br /&gt;
        Option     &amp;quot;Device&amp;quot; &amp;quot;/dev/input/by-path/platform-i8042-serio-1-event-mouse&amp;quot;&lt;br /&gt;
        Option     &amp;quot;GrabDevice&amp;quot; &amp;quot;False&amp;quot;&lt;br /&gt;
        Option     &amp;quot;EmulateWheel&amp;quot; &amp;quot;true&amp;quot; #Enable wheel emulation for the Trackpoint&lt;br /&gt;
        Option     &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot; #Use the middle button for the emulation&lt;br /&gt;
        Option     &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot; #Map trackpoint X axis to X axis of emulated wheel&lt;br /&gt;
        Option     &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot; #Map trackpoint Y axis to Y axis of emulated wheel&lt;br /&gt;
    EndSection&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The device path used in the example above is a typical value.  To determine the device path appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==Using the &amp;quot;mouse&amp;quot; driver (deprecated, only for old Xorg versions)==&lt;br /&gt;
{{NOTE|This only applies to old distributions with Xorg versions that did not yet use evdev. For modern distributions use one of the other methods}}&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;
=Application specific tweaks=&lt;br /&gt;
===Configure Opera for using trackpoint horizontal scrolling===&lt;br /&gt;
To fix horizontal scrolling in Opera, 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/ui/ (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;
===Firefox 3 tweaks===&lt;br /&gt;
These settings make Firefox on Linux behave more like the Windows version. They were tested on an out of the box Fedora 10 system on a Thinkpad T61.  Go into about:config, and set the following:&lt;br /&gt;
&lt;br /&gt;
 middlemouse.paste = false&lt;br /&gt;
 middlemouse.contentLoadURL = false&lt;br /&gt;
 general.autoScroll = true&lt;br /&gt;
&lt;br /&gt;
=Sysfs Options Reference=&lt;br /&gt;
{{NOTE|These options are current as of kernel version 2.6.29, 3 May 2009}}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Type&lt;br /&gt;
! Default&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| sensitivity&lt;br /&gt;
| Integer&lt;br /&gt;
| 128&lt;br /&gt;
| Sensitivity&lt;br /&gt;
|-&lt;br /&gt;
| speed&lt;br /&gt;
| Integer&lt;br /&gt;
| 97&lt;br /&gt;
| Cursor speed&lt;br /&gt;
|-&lt;br /&gt;
| inertia&lt;br /&gt;
| Integer&lt;br /&gt;
| 6&lt;br /&gt;
| Described as &amp;quot;negative inertia.&amp;quot;  It acts more like friction.  High values cause the cursor to snap backward when the Trackpoint is released&lt;br /&gt;
|-&lt;br /&gt;
| reach&lt;br /&gt;
| Integer&lt;br /&gt;
| 10&lt;br /&gt;
| Backup for Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| draghys&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Drag hysteresis (how hard it is to drag with Z-axis pressed)&lt;br /&gt;
|-&lt;br /&gt;
| mindrag&lt;br /&gt;
| Integer&lt;br /&gt;
| 20&lt;br /&gt;
| Minimum amount of force needed to trigger dragging&lt;br /&gt;
|-&lt;br /&gt;
| thresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 8&lt;br /&gt;
| Minimum value for a Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| upthresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Used to generate a 'click' on Z-axis&lt;br /&gt;
|-&lt;br /&gt;
| ztime&lt;br /&gt;
| Integer&lt;br /&gt;
| 38&lt;br /&gt;
| How sharp of a press&lt;br /&gt;
|-&lt;br /&gt;
| jenks&lt;br /&gt;
| Integer&lt;br /&gt;
| 135&lt;br /&gt;
| Minimum curvature for double click&lt;br /&gt;
|-&lt;br /&gt;
| press_to_select&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Press to select&lt;br /&gt;
|-&lt;br /&gt;
| skipback&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Supress movement after drag release&lt;br /&gt;
|-&lt;br /&gt;
| ext_dev&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Disable external device&lt;br /&gt;
|}&lt;br /&gt;
Table info taken from [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/mouse/trackpoint.h;hb=HEAD here].  The given link will always point to the current version of the driver.  If the notes seem sparse, that's because the code is sparse.  On the other hand, the [http://wwwcssrv.almaden.ibm.com/trackpoint/files/ykt3eext.pdf Trackpoint Engineering Specification Version 4.0] &amp;lt;!--if this link breaks, I recommend a quick Google search for &amp;quot;trackpoint version 4 engineering specifications&amp;quot; --&amp;gt; contains more documentation information than anyone ever desired.&lt;br /&gt;
&lt;br /&gt;
=Determining TrackPoint Path ID=&lt;br /&gt;
Both the [[#udev|udev]] and [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration methods require knowledge of the Path ID of the TrackPoint.  In the [[#udev|udev]] configuration method, the Path ID is used to match the ID_PATH environmental variable, in the [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration method it is the prefix for the device file name inside the {{path|/dev/input/by-id}} directory.  The path ID can vary between ThinkPad models, distributions (with varying kernel patches), and between kernel versions.  One way to find the path ID for the TrackPoint is to use udev's path_id utility on the sysfs device path for the TrackPoint.  This device path can be found using the {{path|name}} file which describes the TrackPoint.  The process can be automated using the following shell command:&lt;br /&gt;
 /lib/udev/path_id $(find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/sys\(.*\)\/name/\1/')&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_CPU_frequency_scaling&amp;diff=57318</id>
		<title>Problem with CPU frequency scaling</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_CPU_frequency_scaling&amp;diff=57318"/>
		<updated>2016-09-21T11:28:59Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: /* Nothing else works and you know what you are doing? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
{{WARN|CPU frequency limitation is a safety feature of your ThinkPad, do not work around it!  If you have set the BIOS to performance mode and it is still limiting maximum CPU frequency, there is almost always a good reason for it.}}&lt;br /&gt;
&lt;br /&gt;
==Symptom==&lt;br /&gt;
If the battery pack is removed and the laptop is powered by a 65W AC adapter only, the CPU downclocks to the lowest multiplier and remains locked in low speed. This happens irrespective of the scaling method in use (kernelspace or userspace) and of the frequency governor selected (ondemand, performance, etc.).&lt;br /&gt;
&lt;br /&gt;
Output of {{cmduser|cpupower frequency-info}} (on AC power without battery):&lt;br /&gt;
&lt;br /&gt;
  analyzing CPU 0:&lt;br /&gt;
  driver: centrino&lt;br /&gt;
  CPUs which need to switch frequency at the same time: 0 1&lt;br /&gt;
  hardware limits: 1000 MHz - 1.83 GHz&lt;br /&gt;
  available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz&lt;br /&gt;
  available cpufreq governors: ondemand, userspace, powersave, performance&lt;br /&gt;
  '''current policy: frequency should be within 1000 MHz and 1000 MHz.'''&lt;br /&gt;
                  The governor &amp;quot;ondemand&amp;quot; may decide which speed to use&lt;br /&gt;
                  within this range.&lt;br /&gt;
  current CPU frequency is 1000 MHz (asserted by call to hardware).&lt;br /&gt;
  &lt;br /&gt;
  analyzing CPU 1:&lt;br /&gt;
  driver: centrino&lt;br /&gt;
  CPUs which need to switch frequency at the same time: 0 1&lt;br /&gt;
  hardware limits: 1000 MHz - 1.83 GHz&lt;br /&gt;
  available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz&lt;br /&gt;
  available cpufreq governors: ondemand, userspace, powersave, performance&lt;br /&gt;
  '''current policy: frequency should be within 1000 MHz and 1000 MHz.'''&lt;br /&gt;
                  The governor &amp;quot;ondemand&amp;quot; may decide which speed to use&lt;br /&gt;
                  within this range.&lt;br /&gt;
  current CPU frequency is 1000 MHz (asserted by call to hardware).&lt;br /&gt;
&lt;br /&gt;
Output of {{cmduser|cpupower frequency-info}} (on AC power with battery plugged in):&lt;br /&gt;
&lt;br /&gt;
  analyzing CPU 0:&lt;br /&gt;
  driver: centrino&lt;br /&gt;
  CPUs which need to switch frequency at the same time: 0 1&lt;br /&gt;
  hardware limits: 1000 MHz - 1.83 GHz&lt;br /&gt;
  available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz&lt;br /&gt;
  available cpufreq governors: ondemand, userspace, powersave, performance&lt;br /&gt;
  '''current policy: frequency should be within 1000 MHz and 1.83 GHz.'''&lt;br /&gt;
                  The governor &amp;quot;ondemand&amp;quot; may decide which speed to use&lt;br /&gt;
                  within this range.&lt;br /&gt;
  current CPU frequency is 1000 MHz (asserted by call to hardware).&lt;br /&gt;
  &lt;br /&gt;
  analyzing CPU 1:&lt;br /&gt;
  driver: centrino&lt;br /&gt;
  CPUs which need to switch frequency at the same time: 0 1&lt;br /&gt;
  hardware limits: 1000 MHz - 1.83 GHz&lt;br /&gt;
  available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz&lt;br /&gt;
  available cpufreq governors: ondemand, userspace, powersave, performance&lt;br /&gt;
  '''current policy: frequency should be within 1000 MHz and 1.83 GHz.'''&lt;br /&gt;
                  The governor &amp;quot;ondemand&amp;quot; may decide which speed to use&lt;br /&gt;
                  within this range.&lt;br /&gt;
  current CPU frequency is 1000 MHz (asserted by call to hardware).&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
&lt;br /&gt;
The 65W AC adaptor does not supply enough power to handle peak power draws from the CPU/disk/GPU on the later ThinkPads.  The battery is required to supply the peak demand and ensure correct system operation.&lt;br /&gt;
&lt;br /&gt;
Messing with this can cause data loss, data corruption, and hardware damage.&lt;br /&gt;
&lt;br /&gt;
==Solution==&lt;br /&gt;
&lt;br /&gt;
=== Is thermal mangament limiting the speed? ===&lt;br /&gt;
* Make sure no BIOS setting is limiting the CPU frequency range (e.g., thermal management = &amp;quot;BALANCED&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Is the ThinkPad running on a 65W power adapter? ===&lt;br /&gt;
* Either replace the 65W AC adapter with a 90W AC adapter, or&lt;br /&gt;
* Install a battery&lt;br /&gt;
&lt;br /&gt;
=== Nothing else works and you know what you are doing? ===&lt;br /&gt;
* Add &amp;quot;processor.ignore_ppc=1&amp;quot; to kernel boot command line or run {{cmduser|echo 1 &amp;amp;#124; sudo tee /sys/module/processor/parameters/ignore_ppc}}. This allows to disable BIOS frequency limit, but can be cause the computer to malfunction if its power consumption is higher than 65W and you are running off a 65W AC power adapter with no battery installed.&lt;br /&gt;
&lt;br /&gt;
== Affected Models ==&lt;br /&gt;
&lt;br /&gt;
Confirmed for these models&lt;br /&gt;
* {{T410}}&lt;br /&gt;
* {{T410s}}&lt;br /&gt;
* {{T43p}}&lt;br /&gt;
* {{T60p}}&lt;br /&gt;
* {{T61}}&lt;br /&gt;
* {{X201}}&lt;br /&gt;
* {{X61}}&lt;br /&gt;
* {{Z61m}}&lt;br /&gt;
&lt;br /&gt;
but it is probably true of all Lenovo ThinkPads.  One can actually track this through the DSDT, but it is not worth the effort.&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_CPU_frequency_scaling&amp;diff=57317</id>
		<title>Problem with CPU frequency scaling</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_CPU_frequency_scaling&amp;diff=57317"/>
		<updated>2016-09-21T11:27:58Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: /* Nothing else works and you know what you are doing? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
{{WARN|CPU frequency limitation is a safety feature of your ThinkPad, do not work around it!  If you have set the BIOS to performance mode and it is still limiting maximum CPU frequency, there is almost always a good reason for it.}}&lt;br /&gt;
&lt;br /&gt;
==Symptom==&lt;br /&gt;
If the battery pack is removed and the laptop is powered by a 65W AC adapter only, the CPU downclocks to the lowest multiplier and remains locked in low speed. This happens irrespective of the scaling method in use (kernelspace or userspace) and of the frequency governor selected (ondemand, performance, etc.).&lt;br /&gt;
&lt;br /&gt;
Output of {{cmduser|cpupower frequency-info}} (on AC power without battery):&lt;br /&gt;
&lt;br /&gt;
  analyzing CPU 0:&lt;br /&gt;
  driver: centrino&lt;br /&gt;
  CPUs which need to switch frequency at the same time: 0 1&lt;br /&gt;
  hardware limits: 1000 MHz - 1.83 GHz&lt;br /&gt;
  available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz&lt;br /&gt;
  available cpufreq governors: ondemand, userspace, powersave, performance&lt;br /&gt;
  '''current policy: frequency should be within 1000 MHz and 1000 MHz.'''&lt;br /&gt;
                  The governor &amp;quot;ondemand&amp;quot; may decide which speed to use&lt;br /&gt;
                  within this range.&lt;br /&gt;
  current CPU frequency is 1000 MHz (asserted by call to hardware).&lt;br /&gt;
  &lt;br /&gt;
  analyzing CPU 1:&lt;br /&gt;
  driver: centrino&lt;br /&gt;
  CPUs which need to switch frequency at the same time: 0 1&lt;br /&gt;
  hardware limits: 1000 MHz - 1.83 GHz&lt;br /&gt;
  available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz&lt;br /&gt;
  available cpufreq governors: ondemand, userspace, powersave, performance&lt;br /&gt;
  '''current policy: frequency should be within 1000 MHz and 1000 MHz.'''&lt;br /&gt;
                  The governor &amp;quot;ondemand&amp;quot; may decide which speed to use&lt;br /&gt;
                  within this range.&lt;br /&gt;
  current CPU frequency is 1000 MHz (asserted by call to hardware).&lt;br /&gt;
&lt;br /&gt;
Output of {{cmduser|cpupower frequency-info}} (on AC power with battery plugged in):&lt;br /&gt;
&lt;br /&gt;
  analyzing CPU 0:&lt;br /&gt;
  driver: centrino&lt;br /&gt;
  CPUs which need to switch frequency at the same time: 0 1&lt;br /&gt;
  hardware limits: 1000 MHz - 1.83 GHz&lt;br /&gt;
  available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz&lt;br /&gt;
  available cpufreq governors: ondemand, userspace, powersave, performance&lt;br /&gt;
  '''current policy: frequency should be within 1000 MHz and 1.83 GHz.'''&lt;br /&gt;
                  The governor &amp;quot;ondemand&amp;quot; may decide which speed to use&lt;br /&gt;
                  within this range.&lt;br /&gt;
  current CPU frequency is 1000 MHz (asserted by call to hardware).&lt;br /&gt;
  &lt;br /&gt;
  analyzing CPU 1:&lt;br /&gt;
  driver: centrino&lt;br /&gt;
  CPUs which need to switch frequency at the same time: 0 1&lt;br /&gt;
  hardware limits: 1000 MHz - 1.83 GHz&lt;br /&gt;
  available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz&lt;br /&gt;
  available cpufreq governors: ondemand, userspace, powersave, performance&lt;br /&gt;
  '''current policy: frequency should be within 1000 MHz and 1.83 GHz.'''&lt;br /&gt;
                  The governor &amp;quot;ondemand&amp;quot; may decide which speed to use&lt;br /&gt;
                  within this range.&lt;br /&gt;
  current CPU frequency is 1000 MHz (asserted by call to hardware).&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
&lt;br /&gt;
The 65W AC adaptor does not supply enough power to handle peak power draws from the CPU/disk/GPU on the later ThinkPads.  The battery is required to supply the peak demand and ensure correct system operation.&lt;br /&gt;
&lt;br /&gt;
Messing with this can cause data loss, data corruption, and hardware damage.&lt;br /&gt;
&lt;br /&gt;
==Solution==&lt;br /&gt;
&lt;br /&gt;
=== Is thermal mangament limiting the speed? ===&lt;br /&gt;
* Make sure no BIOS setting is limiting the CPU frequency range (e.g., thermal management = &amp;quot;BALANCED&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Is the ThinkPad running on a 65W power adapter? ===&lt;br /&gt;
* Either replace the 65W AC adapter with a 90W AC adapter, or&lt;br /&gt;
* Install a battery&lt;br /&gt;
&lt;br /&gt;
=== Nothing else works and you know what you are doing? ===&lt;br /&gt;
* Add &amp;quot;processor.ignore_ppc=1&amp;quot; to kernel boot command line or run {{cmduser|echo 1 | sudo tee /sys/module/processor/parameters/ignore_ppc}}. This allows to disable BIOS frequency limit, but can be cause the computer to malfunction if its power consumption is higher than 65W and you are running off a 65W AC power adapter with no battery installed.&lt;br /&gt;
&lt;br /&gt;
== Affected Models ==&lt;br /&gt;
&lt;br /&gt;
Confirmed for these models&lt;br /&gt;
* {{T410}}&lt;br /&gt;
* {{T410s}}&lt;br /&gt;
* {{T43p}}&lt;br /&gt;
* {{T60p}}&lt;br /&gt;
* {{T61}}&lt;br /&gt;
* {{X201}}&lt;br /&gt;
* {{X61}}&lt;br /&gt;
* {{Z61m}}&lt;br /&gt;
&lt;br /&gt;
but it is probably true of all Lenovo ThinkPads.  One can actually track this through the DSDT, but it is not worth the effort.&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_CPU_frequency_scaling&amp;diff=57316</id>
		<title>Problem with CPU frequency scaling</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_CPU_frequency_scaling&amp;diff=57316"/>
		<updated>2016-09-21T11:27:24Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: /* Nothing else works and you know what you are doing? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
{{WARN|CPU frequency limitation is a safety feature of your ThinkPad, do not work around it!  If you have set the BIOS to performance mode and it is still limiting maximum CPU frequency, there is almost always a good reason for it.}}&lt;br /&gt;
&lt;br /&gt;
==Symptom==&lt;br /&gt;
If the battery pack is removed and the laptop is powered by a 65W AC adapter only, the CPU downclocks to the lowest multiplier and remains locked in low speed. This happens irrespective of the scaling method in use (kernelspace or userspace) and of the frequency governor selected (ondemand, performance, etc.).&lt;br /&gt;
&lt;br /&gt;
Output of {{cmduser|cpupower frequency-info}} (on AC power without battery):&lt;br /&gt;
&lt;br /&gt;
  analyzing CPU 0:&lt;br /&gt;
  driver: centrino&lt;br /&gt;
  CPUs which need to switch frequency at the same time: 0 1&lt;br /&gt;
  hardware limits: 1000 MHz - 1.83 GHz&lt;br /&gt;
  available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz&lt;br /&gt;
  available cpufreq governors: ondemand, userspace, powersave, performance&lt;br /&gt;
  '''current policy: frequency should be within 1000 MHz and 1000 MHz.'''&lt;br /&gt;
                  The governor &amp;quot;ondemand&amp;quot; may decide which speed to use&lt;br /&gt;
                  within this range.&lt;br /&gt;
  current CPU frequency is 1000 MHz (asserted by call to hardware).&lt;br /&gt;
  &lt;br /&gt;
  analyzing CPU 1:&lt;br /&gt;
  driver: centrino&lt;br /&gt;
  CPUs which need to switch frequency at the same time: 0 1&lt;br /&gt;
  hardware limits: 1000 MHz - 1.83 GHz&lt;br /&gt;
  available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz&lt;br /&gt;
  available cpufreq governors: ondemand, userspace, powersave, performance&lt;br /&gt;
  '''current policy: frequency should be within 1000 MHz and 1000 MHz.'''&lt;br /&gt;
                  The governor &amp;quot;ondemand&amp;quot; may decide which speed to use&lt;br /&gt;
                  within this range.&lt;br /&gt;
  current CPU frequency is 1000 MHz (asserted by call to hardware).&lt;br /&gt;
&lt;br /&gt;
Output of {{cmduser|cpupower frequency-info}} (on AC power with battery plugged in):&lt;br /&gt;
&lt;br /&gt;
  analyzing CPU 0:&lt;br /&gt;
  driver: centrino&lt;br /&gt;
  CPUs which need to switch frequency at the same time: 0 1&lt;br /&gt;
  hardware limits: 1000 MHz - 1.83 GHz&lt;br /&gt;
  available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz&lt;br /&gt;
  available cpufreq governors: ondemand, userspace, powersave, performance&lt;br /&gt;
  '''current policy: frequency should be within 1000 MHz and 1.83 GHz.'''&lt;br /&gt;
                  The governor &amp;quot;ondemand&amp;quot; may decide which speed to use&lt;br /&gt;
                  within this range.&lt;br /&gt;
  current CPU frequency is 1000 MHz (asserted by call to hardware).&lt;br /&gt;
  &lt;br /&gt;
  analyzing CPU 1:&lt;br /&gt;
  driver: centrino&lt;br /&gt;
  CPUs which need to switch frequency at the same time: 0 1&lt;br /&gt;
  hardware limits: 1000 MHz - 1.83 GHz&lt;br /&gt;
  available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz&lt;br /&gt;
  available cpufreq governors: ondemand, userspace, powersave, performance&lt;br /&gt;
  '''current policy: frequency should be within 1000 MHz and 1.83 GHz.'''&lt;br /&gt;
                  The governor &amp;quot;ondemand&amp;quot; may decide which speed to use&lt;br /&gt;
                  within this range.&lt;br /&gt;
  current CPU frequency is 1000 MHz (asserted by call to hardware).&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
&lt;br /&gt;
The 65W AC adaptor does not supply enough power to handle peak power draws from the CPU/disk/GPU on the later ThinkPads.  The battery is required to supply the peak demand and ensure correct system operation.&lt;br /&gt;
&lt;br /&gt;
Messing with this can cause data loss, data corruption, and hardware damage.&lt;br /&gt;
&lt;br /&gt;
==Solution==&lt;br /&gt;
&lt;br /&gt;
=== Is thermal mangament limiting the speed? ===&lt;br /&gt;
* Make sure no BIOS setting is limiting the CPU frequency range (e.g., thermal management = &amp;quot;BALANCED&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Is the ThinkPad running on a 65W power adapter? ===&lt;br /&gt;
* Either replace the 65W AC adapter with a 90W AC adapter, or&lt;br /&gt;
* Install a battery&lt;br /&gt;
&lt;br /&gt;
=== Nothing else works and you know what you are doing? ===&lt;br /&gt;
* Add &amp;quot;processor.ignore_ppc=1&amp;quot; to kernel boot command line or run &amp;quot;echo 1 | sudo tee /sys/module/processor/parameters/ignore_ppc&amp;quot;. This allows to disable BIOS frequency limit, but can be cause the computer to malfunction if its power consumption is higher than 65W and you are running off a 65W AC power adapter with no battery installed.&lt;br /&gt;
&lt;br /&gt;
== Affected Models ==&lt;br /&gt;
&lt;br /&gt;
Confirmed for these models&lt;br /&gt;
* {{T410}}&lt;br /&gt;
* {{T410s}}&lt;br /&gt;
* {{T43p}}&lt;br /&gt;
* {{T60p}}&lt;br /&gt;
* {{T61}}&lt;br /&gt;
* {{X201}}&lt;br /&gt;
* {{X61}}&lt;br /&gt;
* {{Z61m}}&lt;br /&gt;
&lt;br /&gt;
but it is probably true of all Lenovo ThinkPads.  One can actually track this through the DSDT, but it is not worth the effort.&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&amp;diff=56726</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=56726"/>
		<updated>2016-03-18T11:22:05Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: Fixed cmdroot display&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; |Below are several ways of configuring the kernel psmouse driver for controlling extended TrackPoint features.&lt;br /&gt;
|}&lt;br /&gt;
On a '''Modern''' distribution (like Fedora, Ubuntu or OpenSUSE) you will want to use xinput or one of the graphical front ends. For distributions that are lagging a bit (e.g. Debian Lenny and PCLOS '09) you may still want to use the old xorg config method.&lt;br /&gt;
&lt;br /&gt;
=Configuration using xinput=&lt;br /&gt;
If you want to modify changes on the fly, you can do so with {{cmd|xinput|}} (part of the optional xorg-x11-apps rpm on Fedora).&lt;br /&gt;
Note that these changes are not saved when the xserver is restarted. However, you can add the lines e.g. in your  {{cmd|.xsessionrc|}} (depends on your distribution) so they are executed every time X starts.&lt;br /&gt;
&lt;br /&gt;
To query the available options&lt;br /&gt;
 xinput list-props &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
&lt;br /&gt;
More information can be found in the man-pages for evdev&lt;br /&gt;
 man evdev&lt;br /&gt;
&lt;br /&gt;
To enable vertical scrolling&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation&amp;quot; 1&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Button&amp;quot; 2&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 200&lt;br /&gt;
&lt;br /&gt;
To enable horizontal scrolling in addition to vertical scrolling&lt;br /&gt;
&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To enable middle button emulation (using left- and right-click simultaneously)&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Emulation&amp;quot; 1&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Timeout&amp;quot; 50&lt;br /&gt;
&lt;br /&gt;
== old method using xinput set-int-prop ==&lt;br /&gt;
&lt;br /&gt;
Note: xinput set-int-prop is deprecated according to the xinput manpage.&lt;br /&gt;
&lt;br /&gt;
To enable vertical scrolling&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
&lt;br /&gt;
To enable horizontal scrolling in addition to vertical scrolling&lt;br /&gt;
&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To enable middle button emulation (using left- and right-click simultaneously)&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Timeout&amp;quot; 8 50&lt;br /&gt;
&lt;br /&gt;
==Example: openSUSE 11.2 and ThinkPad USB Keyboard with TrackPoint ==&lt;br /&gt;
&lt;br /&gt;
 xinput list&lt;br /&gt;
will show two &amp;quot;Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint.&amp;quot; with two different ids. Use the id with Axis 0 and Axis 1 items.&lt;br /&gt;
&lt;br /&gt;
Suppose the id was 12. The following will enable the trackpoint scrolling:&lt;br /&gt;
&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
&lt;br /&gt;
The following will enable the horizontal scrolling&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To disable middle button click paste functionality, remap the middle button to something else:&lt;br /&gt;
 xmodmap -e &amp;quot;pointer = 1 9 3 4 5 6 7 8 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To do these automatically without worrying about id number, generate a bash script file:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 xinput list | sed -ne 's/^[^ ][^V].*id=\([0-9]*\).*/\1/p' | while read id&lt;br /&gt;
 do&lt;br /&gt;
         case `xinput list-props $id` in&lt;br /&gt;
         *&amp;quot;Middle Button Emulation&amp;quot;*)&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Middle Button Emulation&amp;quot; 8 0&lt;br /&gt;
                 ;;&lt;br /&gt;
         esac&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
 # disable middle button&lt;br /&gt;
 xmodmap -e &amp;quot;pointer = 1 9 3 4 5 6 7 8 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and save it with any name such as trackPointScrolling.sh, and make it executable:&lt;br /&gt;
 chmod +x trackPointScrolling.sh&lt;br /&gt;
&lt;br /&gt;
Next time you run it with $ ./trackPointScrolling.sh, it will enable the trackpoint scrolling and disable middle button paste.&lt;br /&gt;
{{Todo|some other examples}}&lt;br /&gt;
&lt;br /&gt;
= Graphical Frontends =&lt;br /&gt;
If you are using GNOME, you might want to use [http://live.gnome.org/GPointingDeviceSettings GPointing Device Settings] or [http://tpctl.sourceforge.net/configure-trackpoint.html configure-trackpoint] as a graphical frontends.&lt;br /&gt;
=== GPointing Device Settings ===&lt;br /&gt;
It is available for Fedora 12, Ubuntu 9.10 and Debian Squeeze in the standard package repositories&lt;br /&gt;
{{NOTE|Unfortunately it seems no longer maintained, and does not work properly with GNOME3 [[https://bugzilla.redhat.com/show_bug.cgi?id=710053 bug]]}}&lt;br /&gt;
&lt;br /&gt;
[[image:Screenshot-GPointing Device Settings-TrackPoint.png]]&lt;br /&gt;
&lt;br /&gt;
=== configure-trackpoint ===&lt;br /&gt;
To install it in Ubuntu run ...&lt;br /&gt;
 sudo apt-get install sysfsutils&lt;br /&gt;
...and then download and install the deb [http://sourceforge.net/projects/tpctl/ here]. Note that saved settings are not restored after reboot in Lucid Lynx. See methods below to make settings permanent.&lt;br /&gt;
&lt;br /&gt;
= Configuration using DevKit =&lt;br /&gt;
Most recent distributions like Ubuntu 9.10 switch from HAL (being deprecated) to DevKit. Hence, the HAL configurations explained underneath, fail to work.&lt;br /&gt;
&lt;br /&gt;
The easiest way to configure your touchpad and trackpoint with DevKit is by using the [http://live.gnome.org/GPointingDeviceSettings GPointingDeviceSettings] panel that fully supports the hardware. You can easily download the panel by installing {{cmd| gpointing-device-settings|}}. On Ubuntu open a terminal and execute the command {{cmduser| sudo apt-get install gpointing-device-settings}}&lt;br /&gt;
&lt;br /&gt;
Launch the UI through the {{cmduser| gpointing-device-settings}} command, but you can also add a menu entry to your System / Preferences menu for easier access to the UI panel.&lt;br /&gt;
&lt;br /&gt;
= Configuration using udev and HAL =&lt;br /&gt;
Modern distributions like Ubuntu 8.10 and Fedora 10 use udev and HAL to configure the input devices. You should no longer make changes to xorg.conf as by default Xorg (through the evdev driver) will let the kernel now handle input devices.&lt;br /&gt;
&lt;br /&gt;
But before you get started on this you should make sure you have all the updates applied from your distro vendor as both Ubuntu 8.10 and Fedora 10 require some additional fixes that you will need.&lt;br /&gt;
&lt;br /&gt;
=== Scrolling ===&lt;br /&gt;
&lt;br /&gt;
By default the middle mouse button is just that, a middle mouse button, which in Linux is used for the Paste operation.&lt;br /&gt;
&lt;br /&gt;
You may configure it to act in the same way as in Windows, such that you can use it for vertical scrolling: keep the button pressed and move the TrackPoint up and down to scroll. (In GPointing Device Settings, this is known as &amp;quot;Use wheel emulation&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This setting is not compatible with using Alt + Middle Mouse Button to resize windows. If you want to resize windows with the trackpad, disable wheel emulation. On Ubuntu 11.10, this setting resides in &amp;lt;tt&amp;gt;/usr/share/X11/xorg.conf.d/11-evdev-trackpoint.conf&amp;lt;/tt&amp;gt; (see below), although some touchpads use &amp;lt;tt&amp;gt;/usr/share/X11/xorg.conf.d/50-synaptics.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== xorg.conf.d ====&lt;br /&gt;
&lt;br /&gt;
Some distributions now support the new Xorg hotplug configuration method via xorg.conf.d directories (in Ubuntu 10.04 Lucid Lynx) instead of hal. In contrast to the udev method below, it should be around for some time, so it might be the best way to “statically” configure scrolling.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/usr/lib/X11/xorg.conf.d/20-thinkpad.conf}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
	Identifier	&amp;quot;Trackpoint Wheel Emulation&amp;quot;&lt;br /&gt;
	MatchProduct	&amp;quot;TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint&amp;quot;&lt;br /&gt;
	MatchDevicePath	&amp;quot;/dev/input/event*&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;
	Option		&amp;quot;Emulate3Buttons&amp;quot;	&amp;quot;false&amp;quot;&lt;br /&gt;
	Option		&amp;quot;XAxisMapping&amp;quot;		&amp;quot;6 7&amp;quot;&lt;br /&gt;
	Option		&amp;quot;YAxisMapping&amp;quot;		&amp;quot;4 5&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|For Ubuntu 10.10 Maverick Meerkat, the correct path is {{path|/usr/share/X11/xorg.conf.d}}}}&lt;br /&gt;
{{NOTE|For Arch Linux or Fedora or PCLinuxOS, the correct path is {{path|/etc/X11/xorg.conf.d}}}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If the above does not work for you, you may need to add a different MatchProduct string.  Use &amp;lt;pre&amp;gt;find /dev/input/event* -exec udevadm info --attribute-walk --name={} \; | grep -e product -e name | sort -u&amp;lt;/pre&amp;gt; to get a list of possibilities.}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If the above directory doesn't exist by default in your distribution, it probably doesn't support this method. In this case, please refer to the udev or xinput method below.}}&lt;br /&gt;
&lt;br /&gt;
==== udev ====&lt;br /&gt;
&lt;br /&gt;
Now that Xorg doesn't use the configuration from hal (in Debian unstable starting january 2010), the only way to “statically” configure scrolling in trackpoint is udev. (for other people, xinput method, works fine). This method will be gone (_again_) in not too long so it might be a better idea to use xinput way. YMMV.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/etc/udev/rules.d/99_trackpoint.rules}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
KERNEL!=&amp;quot;event*&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{ID_PATH}!=&amp;quot;platform-i8042-serio-1&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{x11_options.EmulateWheel}=&amp;quot;1&amp;quot;&lt;br /&gt;
ENV{x11_options.EmulateWheelButton}=&amp;quot;2&amp;quot;&lt;br /&gt;
ENV{x11_options.XAxisMapping}=&amp;quot;6 7&amp;quot;&lt;br /&gt;
ENV{x11_options.Emulate3Buttons}=&amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
LABEL=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart udev then Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The ID_PATH used in the example above is a typical value.  To determine the ID_PATH appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==== Hal (soon to be deprecated) ====&lt;br /&gt;
&lt;br /&gt;
To accomplish this create the file {{path|/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.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;
If you also want to have horizontal scrolling, simply add the following XAxisMapping option to the above&lt;br /&gt;
&amp;lt;pre&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;/pre&amp;gt;&lt;br /&gt;
After this reboot, or restart the hal service and Xorg. You can validate the settings with {{cmd|lshal|}}.&lt;br /&gt;
&lt;br /&gt;
In some models (eg: X301 and X200 since Jan 10 2010 on debian sid) you may have to use &amp;quot;PS/2 Generic Mouse&amp;quot; instead of &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;. Have a look to your input devices typing &amp;lt;code&amp;gt;lshal|grep input.product&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Alternatively it is also possible to use the &amp;quot;old&amp;quot; Xorg configuration by adding the following lines to the {{path|/etc/X11/xorg.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
	Option 	&amp;quot;AutoAddDevices&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using this entry HAL will not be used for the input devices.&lt;br /&gt;
&lt;br /&gt;
====Reactivate Scrolling after suspend/resume====&lt;br /&gt;
Scrolling may be disabled after a resume from suspend.&lt;br /&gt;
&lt;br /&gt;
You can manually reactivate the trackpoint by reloading the {{path|psmouse}} module as root:&lt;br /&gt;
:{{cmdroot|rmmod psmouse &amp;amp;&amp;amp; modprobe psmouse}}&lt;br /&gt;
&lt;br /&gt;
You can automatically force the pm-utils to reload this module.&lt;br /&gt;
Create a file {{path|/etc/pm/config.d/01reload_mouse}} as root with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# reload psmouse to reactivate trackpoint scrolling&lt;br /&gt;
SUSPEND_MODULES=&amp;quot;${SUSPEND_MODULES:+$SUSPEND_MODULES }psmouse&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuring other options (e.g. Press to select, Sensitivity and Speed)===&lt;br /&gt;
&amp;lt;!--HAL wasn't made to configure sysfs settings, so we'll use udev instead --&amp;gt;&lt;br /&gt;
Create a file {{path|/etc/udev/rules.d/10-trackpoint.rules}} and add a line to suit your needs&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, ATTRS{press_to_select}=&amp;quot;1&amp;quot;, ATTRS{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Testing udev  with {{cmdroot|udevadm test /sys/devices/platform/i8042/serio1}} should apply the new changes.  All of the settings listed [[How to configure the TrackPoint#Sysfs_Options_Reference|below]] can be specified here as part of a comma separated list.&lt;br /&gt;
The customized values should be loaded automatically when booting. However, due to a [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549379  kernel bug] (affecting Lucid Lynx), the attributes may not yet exist when the udev rule fires. As a work around, add a WAIT_FOR condition on the attribute. In order to make sure you are using the right constraints (SUBSYSTEM, DRIVERS, etc), you can run {{cmdroot|udevadm info --query all --attribute-walk --path /sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, WAIT_FOR=&amp;quot;/sys/devices/platform/i8042/serio1/serio2/sensitivity&amp;quot;, ATTRS{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On my system (Lucid Lynx), the above line did not work. I changed it to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, WAIT_FOR=&amp;quot;/sys/devices/platform/i8042/serio1/serio2/sensitivity&amp;quot;, ATTR{sensitivity}=&amp;quot;255&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and tested with {{cmdroot|udevadm test /sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
On trusty, the following works for me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;serio2&amp;quot;, SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, WAIT_FOR=&amp;quot;/sys/devices/platform/i8042/serio1/serio2/sensitivity&amp;quot;, ATTR{sensitivity}=&amp;quot;255&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To avoid the wait you can also listen for the Trackpoint input device to appear and then run a script to set the parameters&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;input&amp;quot;, ATTR{name}==&amp;quot;*TrackPoint*&amp;quot;, RUN+=&amp;quot;/etc/conf.d/trackpoint&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example {{path|/etc/conf.d/trackpoint}} would be&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#! /bin/bash&lt;br /&gt;
&lt;br /&gt;
## Trackpoint settings&lt;br /&gt;
&lt;br /&gt;
# When run from a udev rule, DEVPATH should be set&lt;br /&gt;
if [ ! -z $DEVPATH ] ; then&lt;br /&gt;
    TPDEV=/sys/$( echo &amp;quot;$DEVPATH&amp;quot; | sed 's/\/input\/input[0-9]*//' )&lt;br /&gt;
else&lt;br /&gt;
# Otherwise just look in /sys/&lt;br /&gt;
    TPDEV=$(find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/input\/input[0-9]*\/name$//')&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# http://www.thinkwiki.org/wiki/How_to_configure_the_TrackPoint&lt;br /&gt;
# http://wwwcssrv.almaden.ibm.com/trackpoint/files/ykt3eext.pdf&lt;br /&gt;
#------------------------------------------------------------&lt;br /&gt;
if [ -d &amp;quot;$TPDEV&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Configuring Trackpoint&amp;quot;&lt;br /&gt;
    echo -n 255     &amp;gt; $TPDEV/sensitivity     # Integer  128   Sensitivity&lt;br /&gt;
    echo -n 110     &amp;gt; $TPDEV/speed           # Integer  97   Cursor speed&lt;br /&gt;
    echo -n 4       &amp;gt; $TPDEV/inertia         # Integer  6   Negative intertia&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;Couldn't find trackpoint device $TPDEV&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Configuration using sysfs=&lt;br /&gt;
Another way to modify changes on the fly, is echoing values directly into special files in sysfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|&lt;br /&gt;
The examples shown below are valid for ThinkPads with both TrackPoint and Touchpad, in which case the sysfs path is {{path|/sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
If however you have a ThinkPad without Touchpad, or with the Touchpad disabled in the BIOS, the sysfs path needs to be changed to {{path|/sys/devices/platform/i8042/serio1}} instead (notice the missing serio2 at the end).}}&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;
===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/serio1/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/serio1/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/serio1/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/serio1/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/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 8.10 to make Press to Select a permanent change:&lt;br /&gt;
&lt;br /&gt;
echo -n 1 | tee /sys/devices/platform/i8042/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
As root, append the above command above &amp;quot;exit 0&amp;quot; in /etc/gdm/Init/Default&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/serio1/serio2/speed}}&lt;br /&gt;
:{{cmdroot|echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/sensitivity}}&lt;br /&gt;
&lt;br /&gt;
Alternatively, on my ThinkPad T420s, the correct commands are:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 120 &amp;gt; /sys/devices/platform/i8042/serio1/speed}}&lt;br /&gt;
:{{cmdroot|echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio1/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.  In Ubuntu 9.10, add the lines to /etc/rc.local to avoid this.&lt;br /&gt;
&lt;br /&gt;
===Vertical Scrolling===&lt;br /&gt;
No sysfs entry exists for vertical scrolling in kernels after 2.6.11.&lt;br /&gt;
&lt;br /&gt;
The feature was removed as it was not a hardware feature, but rather emulating a scroll action in software and as such did not belong in the kernel.&lt;br /&gt;
Instead the scroll feature of the Xserver should be used, which can be activated with HAL or xinput as described above.&lt;br /&gt;
&lt;br /&gt;
=Configuration using the X server (xorg.conf)=&lt;br /&gt;
==Using the &amp;quot;evdev&amp;quot; driver (preferred, especially for recent Xorg versions)==&lt;br /&gt;
Extract from /etc/X11/xorg.conf on an X31:&lt;br /&gt;
&lt;br /&gt;
    Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
        Driver     &amp;quot;evdev&amp;quot;&lt;br /&gt;
        Option     &amp;quot;Device&amp;quot; &amp;quot;/dev/input/by-path/platform-i8042-serio-1-event-mouse&amp;quot;&lt;br /&gt;
        Option     &amp;quot;GrabDevice&amp;quot; &amp;quot;False&amp;quot;&lt;br /&gt;
        Option     &amp;quot;EmulateWheel&amp;quot; &amp;quot;true&amp;quot; #Enable wheel emulation for the Trackpoint&lt;br /&gt;
        Option     &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot; #Use the middle button for the emulation&lt;br /&gt;
        Option     &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot; #Map trackpoint X axis to X axis of emulated wheel&lt;br /&gt;
        Option     &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot; #Map trackpoint Y axis to Y axis of emulated wheel&lt;br /&gt;
    EndSection&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The device path used in the example above is a typical value.  To determine the device path appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==Using the &amp;quot;mouse&amp;quot; driver (deprecated, only for old Xorg versions)==&lt;br /&gt;
{{NOTE|This only applies to old distributions with Xorg versions that did not yet use evdev. For modern distributions use one of the other methods}}&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;
=Application specific tweaks=&lt;br /&gt;
===Configure Opera for using trackpoint horizontal scrolling===&lt;br /&gt;
To fix horizontal scrolling in Opera, 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/ui/ (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;
===Firefox 3 tweaks===&lt;br /&gt;
These settings make Firefox on Linux behave more like the Windows version. They were tested on an out of the box Fedora 10 system on a Thinkpad T61.  Go into about:config, and set the following:&lt;br /&gt;
&lt;br /&gt;
 middlemouse.paste = false&lt;br /&gt;
 middlemouse.contentLoadURL = false&lt;br /&gt;
 general.autoScroll = true&lt;br /&gt;
&lt;br /&gt;
=Sysfs Options Reference=&lt;br /&gt;
{{NOTE|These options are current as of kernel version 2.6.29, 3 May 2009}}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Type&lt;br /&gt;
! Default&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| sensitivity&lt;br /&gt;
| Integer&lt;br /&gt;
| 128&lt;br /&gt;
| Sensitivity&lt;br /&gt;
|-&lt;br /&gt;
| speed&lt;br /&gt;
| Integer&lt;br /&gt;
| 97&lt;br /&gt;
| Cursor speed&lt;br /&gt;
|-&lt;br /&gt;
| inertia&lt;br /&gt;
| Integer&lt;br /&gt;
| 6&lt;br /&gt;
| Described as &amp;quot;negative inertia.&amp;quot;  It acts more like friction.  High values cause the cursor to snap backward when the Trackpoint is released&lt;br /&gt;
|-&lt;br /&gt;
| reach&lt;br /&gt;
| Integer&lt;br /&gt;
| 10&lt;br /&gt;
| Backup for Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| draghys&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Drag hysteresis (how hard it is to drag with Z-axis pressed)&lt;br /&gt;
|-&lt;br /&gt;
| mindrag&lt;br /&gt;
| Integer&lt;br /&gt;
| 20&lt;br /&gt;
| Minimum amount of force needed to trigger dragging&lt;br /&gt;
|-&lt;br /&gt;
| thresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 8&lt;br /&gt;
| Minimum value for a Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| upthresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Used to generate a 'click' on Z-axis&lt;br /&gt;
|-&lt;br /&gt;
| ztime&lt;br /&gt;
| Integer&lt;br /&gt;
| 38&lt;br /&gt;
| How sharp of a press&lt;br /&gt;
|-&lt;br /&gt;
| jenks&lt;br /&gt;
| Integer&lt;br /&gt;
| 135&lt;br /&gt;
| Minimum curvature for double click&lt;br /&gt;
|-&lt;br /&gt;
| press_to_select&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Press to select&lt;br /&gt;
|-&lt;br /&gt;
| skipback&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Supress movement after drag release&lt;br /&gt;
|-&lt;br /&gt;
| ext_dev&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Disable external device&lt;br /&gt;
|}&lt;br /&gt;
Table info taken from [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/mouse/trackpoint.h;hb=HEAD here].  The given link will always point to the current version of the driver.  If the notes seem sparse, that's because the code is sparse.  On the other hand, the [http://wwwcssrv.almaden.ibm.com/trackpoint/files/ykt3eext.pdf Trackpoint Engineering Specification Version 4.0] &amp;lt;!--if this link breaks, I recommend a quick Google search for &amp;quot;trackpoint version 4 engineering specifications&amp;quot; --&amp;gt; contains more documentation information than anyone ever desired.&lt;br /&gt;
&lt;br /&gt;
=Determining TrackPoint Path ID=&lt;br /&gt;
Both the [[#udev|udev]] and [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration methods require knowledge of the Path ID of the TrackPoint.  In the [[#udev|udev]] configuration method, the Path ID is used to match the ID_PATH environmental variable, in the [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration method it is the prefix for the device file name inside the {{path|/dev/input/by-id}} directory.  The path ID can vary between ThinkPad models, distributions (with varying kernel patches), and between kernel versions.  One way to find the path ID for the TrackPoint is to use udev's path_id utility on the sysfs device path for the TrackPoint.  This device path can be found using the {{path|name}} file which describes the TrackPoint.  The process can be automated using the following shell command:&lt;br /&gt;
 /lib/udev/path_id $(find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/sys\(.*\)\/name/\1/')&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&amp;diff=56725</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=56725"/>
		<updated>2016-03-18T11:18:57Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: Fix for udev rule on trusty&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; |Below are several ways of configuring the kernel psmouse driver for controlling extended TrackPoint features.&lt;br /&gt;
|}&lt;br /&gt;
On a '''Modern''' distribution (like Fedora, Ubuntu or OpenSUSE) you will want to use xinput or one of the graphical front ends. For distributions that are lagging a bit (e.g. Debian Lenny and PCLOS '09) you may still want to use the old xorg config method.&lt;br /&gt;
&lt;br /&gt;
=Configuration using xinput=&lt;br /&gt;
If you want to modify changes on the fly, you can do so with {{cmd|xinput|}} (part of the optional xorg-x11-apps rpm on Fedora).&lt;br /&gt;
Note that these changes are not saved when the xserver is restarted. However, you can add the lines e.g. in your  {{cmd|.xsessionrc|}} (depends on your distribution) so they are executed every time X starts.&lt;br /&gt;
&lt;br /&gt;
To query the available options&lt;br /&gt;
 xinput list-props &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
&lt;br /&gt;
More information can be found in the man-pages for evdev&lt;br /&gt;
 man evdev&lt;br /&gt;
&lt;br /&gt;
To enable vertical scrolling&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation&amp;quot; 1&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Button&amp;quot; 2&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 200&lt;br /&gt;
&lt;br /&gt;
To enable horizontal scrolling in addition to vertical scrolling&lt;br /&gt;
&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To enable middle button emulation (using left- and right-click simultaneously)&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Emulation&amp;quot; 1&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Timeout&amp;quot; 50&lt;br /&gt;
&lt;br /&gt;
== old method using xinput set-int-prop ==&lt;br /&gt;
&lt;br /&gt;
Note: xinput set-int-prop is deprecated according to the xinput manpage.&lt;br /&gt;
&lt;br /&gt;
To enable vertical scrolling&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
&lt;br /&gt;
To enable horizontal scrolling in addition to vertical scrolling&lt;br /&gt;
&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To enable middle button emulation (using left- and right-click simultaneously)&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Timeout&amp;quot; 8 50&lt;br /&gt;
&lt;br /&gt;
==Example: openSUSE 11.2 and ThinkPad USB Keyboard with TrackPoint ==&lt;br /&gt;
&lt;br /&gt;
 xinput list&lt;br /&gt;
will show two &amp;quot;Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint.&amp;quot; with two different ids. Use the id with Axis 0 and Axis 1 items.&lt;br /&gt;
&lt;br /&gt;
Suppose the id was 12. The following will enable the trackpoint scrolling:&lt;br /&gt;
&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
&lt;br /&gt;
The following will enable the horizontal scrolling&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To disable middle button click paste functionality, remap the middle button to something else:&lt;br /&gt;
 xmodmap -e &amp;quot;pointer = 1 9 3 4 5 6 7 8 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To do these automatically without worrying about id number, generate a bash script file:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 xinput list | sed -ne 's/^[^ ][^V].*id=\([0-9]*\).*/\1/p' | while read id&lt;br /&gt;
 do&lt;br /&gt;
         case `xinput list-props $id` in&lt;br /&gt;
         *&amp;quot;Middle Button Emulation&amp;quot;*)&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Middle Button Emulation&amp;quot; 8 0&lt;br /&gt;
                 ;;&lt;br /&gt;
         esac&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
 # disable middle button&lt;br /&gt;
 xmodmap -e &amp;quot;pointer = 1 9 3 4 5 6 7 8 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and save it with any name such as trackPointScrolling.sh, and make it executable:&lt;br /&gt;
 chmod +x trackPointScrolling.sh&lt;br /&gt;
&lt;br /&gt;
Next time you run it with $ ./trackPointScrolling.sh, it will enable the trackpoint scrolling and disable middle button paste.&lt;br /&gt;
{{Todo|some other examples}}&lt;br /&gt;
&lt;br /&gt;
= Graphical Frontends =&lt;br /&gt;
If you are using GNOME, you might want to use [http://live.gnome.org/GPointingDeviceSettings GPointing Device Settings] or [http://tpctl.sourceforge.net/configure-trackpoint.html configure-trackpoint] as a graphical frontends.&lt;br /&gt;
=== GPointing Device Settings ===&lt;br /&gt;
It is available for Fedora 12, Ubuntu 9.10 and Debian Squeeze in the standard package repositories&lt;br /&gt;
{{NOTE|Unfortunately it seems no longer maintained, and does not work properly with GNOME3 [[https://bugzilla.redhat.com/show_bug.cgi?id=710053 bug]]}}&lt;br /&gt;
&lt;br /&gt;
[[image:Screenshot-GPointing Device Settings-TrackPoint.png]]&lt;br /&gt;
&lt;br /&gt;
=== configure-trackpoint ===&lt;br /&gt;
To install it in Ubuntu run ...&lt;br /&gt;
 sudo apt-get install sysfsutils&lt;br /&gt;
...and then download and install the deb [http://sourceforge.net/projects/tpctl/ here]. Note that saved settings are not restored after reboot in Lucid Lynx. See methods below to make settings permanent.&lt;br /&gt;
&lt;br /&gt;
= Configuration using DevKit =&lt;br /&gt;
Most recent distributions like Ubuntu 9.10 switch from HAL (being deprecated) to DevKit. Hence, the HAL configurations explained underneath, fail to work.&lt;br /&gt;
&lt;br /&gt;
The easiest way to configure your touchpad and trackpoint with DevKit is by using the [http://live.gnome.org/GPointingDeviceSettings GPointingDeviceSettings] panel that fully supports the hardware. You can easily download the panel by installing {{cmd| gpointing-device-settings|}}. On Ubuntu open a terminal and execute the command {{cmduser| sudo apt-get install gpointing-device-settings}}&lt;br /&gt;
&lt;br /&gt;
Launch the UI through the {{cmduser| gpointing-device-settings}} command, but you can also add a menu entry to your System / Preferences menu for easier access to the UI panel.&lt;br /&gt;
&lt;br /&gt;
= Configuration using udev and HAL =&lt;br /&gt;
Modern distributions like Ubuntu 8.10 and Fedora 10 use udev and HAL to configure the input devices. You should no longer make changes to xorg.conf as by default Xorg (through the evdev driver) will let the kernel now handle input devices.&lt;br /&gt;
&lt;br /&gt;
But before you get started on this you should make sure you have all the updates applied from your distro vendor as both Ubuntu 8.10 and Fedora 10 require some additional fixes that you will need.&lt;br /&gt;
&lt;br /&gt;
=== Scrolling ===&lt;br /&gt;
&lt;br /&gt;
By default the middle mouse button is just that, a middle mouse button, which in Linux is used for the Paste operation.&lt;br /&gt;
&lt;br /&gt;
You may configure it to act in the same way as in Windows, such that you can use it for vertical scrolling: keep the button pressed and move the TrackPoint up and down to scroll. (In GPointing Device Settings, this is known as &amp;quot;Use wheel emulation&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This setting is not compatible with using Alt + Middle Mouse Button to resize windows. If you want to resize windows with the trackpad, disable wheel emulation. On Ubuntu 11.10, this setting resides in &amp;lt;tt&amp;gt;/usr/share/X11/xorg.conf.d/11-evdev-trackpoint.conf&amp;lt;/tt&amp;gt; (see below), although some touchpads use &amp;lt;tt&amp;gt;/usr/share/X11/xorg.conf.d/50-synaptics.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== xorg.conf.d ====&lt;br /&gt;
&lt;br /&gt;
Some distributions now support the new Xorg hotplug configuration method via xorg.conf.d directories (in Ubuntu 10.04 Lucid Lynx) instead of hal. In contrast to the udev method below, it should be around for some time, so it might be the best way to “statically” configure scrolling.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/usr/lib/X11/xorg.conf.d/20-thinkpad.conf}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
	Identifier	&amp;quot;Trackpoint Wheel Emulation&amp;quot;&lt;br /&gt;
	MatchProduct	&amp;quot;TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint&amp;quot;&lt;br /&gt;
	MatchDevicePath	&amp;quot;/dev/input/event*&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;
	Option		&amp;quot;Emulate3Buttons&amp;quot;	&amp;quot;false&amp;quot;&lt;br /&gt;
	Option		&amp;quot;XAxisMapping&amp;quot;		&amp;quot;6 7&amp;quot;&lt;br /&gt;
	Option		&amp;quot;YAxisMapping&amp;quot;		&amp;quot;4 5&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|For Ubuntu 10.10 Maverick Meerkat, the correct path is {{path|/usr/share/X11/xorg.conf.d}}}}&lt;br /&gt;
{{NOTE|For Arch Linux or Fedora or PCLinuxOS, the correct path is {{path|/etc/X11/xorg.conf.d}}}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If the above does not work for you, you may need to add a different MatchProduct string.  Use &amp;lt;pre&amp;gt;find /dev/input/event* -exec udevadm info --attribute-walk --name={} \; | grep -e product -e name | sort -u&amp;lt;/pre&amp;gt; to get a list of possibilities.}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If the above directory doesn't exist by default in your distribution, it probably doesn't support this method. In this case, please refer to the udev or xinput method below.}}&lt;br /&gt;
&lt;br /&gt;
==== udev ====&lt;br /&gt;
&lt;br /&gt;
Now that Xorg doesn't use the configuration from hal (in Debian unstable starting january 2010), the only way to “statically” configure scrolling in trackpoint is udev. (for other people, xinput method, works fine). This method will be gone (_again_) in not too long so it might be a better idea to use xinput way. YMMV.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/etc/udev/rules.d/99_trackpoint.rules}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
KERNEL!=&amp;quot;event*&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{ID_PATH}!=&amp;quot;platform-i8042-serio-1&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{x11_options.EmulateWheel}=&amp;quot;1&amp;quot;&lt;br /&gt;
ENV{x11_options.EmulateWheelButton}=&amp;quot;2&amp;quot;&lt;br /&gt;
ENV{x11_options.XAxisMapping}=&amp;quot;6 7&amp;quot;&lt;br /&gt;
ENV{x11_options.Emulate3Buttons}=&amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
LABEL=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart udev then Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The ID_PATH used in the example above is a typical value.  To determine the ID_PATH appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==== Hal (soon to be deprecated) ====&lt;br /&gt;
&lt;br /&gt;
To accomplish this create the file {{path|/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.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;
If you also want to have horizontal scrolling, simply add the following XAxisMapping option to the above&lt;br /&gt;
&amp;lt;pre&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;/pre&amp;gt;&lt;br /&gt;
After this reboot, or restart the hal service and Xorg. You can validate the settings with {{cmd|lshal|}}.&lt;br /&gt;
&lt;br /&gt;
In some models (eg: X301 and X200 since Jan 10 2010 on debian sid) you may have to use &amp;quot;PS/2 Generic Mouse&amp;quot; instead of &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;. Have a look to your input devices typing &amp;lt;code&amp;gt;lshal|grep input.product&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Alternatively it is also possible to use the &amp;quot;old&amp;quot; Xorg configuration by adding the following lines to the {{path|/etc/X11/xorg.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
	Option 	&amp;quot;AutoAddDevices&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using this entry HAL will not be used for the input devices.&lt;br /&gt;
&lt;br /&gt;
====Reactivate Scrolling after suspend/resume====&lt;br /&gt;
Scrolling may be disabled after a resume from suspend.&lt;br /&gt;
&lt;br /&gt;
You can manually reactivate the trackpoint by reloading the {{path|psmouse}} module as root:&lt;br /&gt;
:{{cmdroot|rmmod psmouse &amp;amp;&amp;amp; modprobe psmouse}}&lt;br /&gt;
&lt;br /&gt;
You can automatically force the pm-utils to reload this module.&lt;br /&gt;
Create a file {{path|/etc/pm/config.d/01reload_mouse}} as root with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# reload psmouse to reactivate trackpoint scrolling&lt;br /&gt;
SUSPEND_MODULES=&amp;quot;${SUSPEND_MODULES:+$SUSPEND_MODULES }psmouse&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuring other options (e.g. Press to select, Sensitivity and Speed)===&lt;br /&gt;
&amp;lt;!--HAL wasn't made to configure sysfs settings, so we'll use udev instead --&amp;gt;&lt;br /&gt;
Create a file {{path|/etc/udev/rules.d/10-trackpoint.rules}} and add a line to suit your needs&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, ATTRS{press_to_select}=&amp;quot;1&amp;quot;, ATTRS{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Testing udev  with {{cmdroot|udevadm test /sys/devices/platform/i8042/serio1}} should apply the new changes.  All of the settings listed [[How to configure the TrackPoint#Sysfs_Options_Reference|below]] can be specified here as part of a comma separated list.&lt;br /&gt;
The customized values should be loaded automatically when booting. However, due to a [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549379  kernel bug] (affecting Lucid Lynx), the attributes may not yet exist when the udev rule fires. As a work around, add a WAIT_FOR condition on the attribute. In order to make sure you are using the right constraints (SUBSYSTEM, DRIVERS, etc), you can run {{cmdroot|udevadm info --query=all --attribute-walk --path=/sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, WAIT_FOR=&amp;quot;/sys/devices/platform/i8042/serio1/serio2/sensitivity&amp;quot;, ATTRS{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On my system (Lucid Lynx), the above line did not work. I changed it to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, WAIT_FOR=&amp;quot;/sys/devices/platform/i8042/serio1/serio2/sensitivity&amp;quot;, ATTR{sensitivity}=&amp;quot;255&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and tested with {{cmdroot|udevadm test /sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
On trusty, the following works for me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;serio2&amp;quot;, SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, WAIT_FOR=&amp;quot;/sys/devices/platform/i8042/serio1/serio2/sensitivity&amp;quot;, ATTR{sensitivity}=&amp;quot;255&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To avoid the wait you can also listen for the Trackpoint input device to appear and then run a script to set the parameters&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;input&amp;quot;, ATTR{name}==&amp;quot;*TrackPoint*&amp;quot;, RUN+=&amp;quot;/etc/conf.d/trackpoint&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example {{path|/etc/conf.d/trackpoint}} would be&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#! /bin/bash&lt;br /&gt;
&lt;br /&gt;
## Trackpoint settings&lt;br /&gt;
&lt;br /&gt;
# When run from a udev rule, DEVPATH should be set&lt;br /&gt;
if [ ! -z $DEVPATH ] ; then&lt;br /&gt;
    TPDEV=/sys/$( echo &amp;quot;$DEVPATH&amp;quot; | sed 's/\/input\/input[0-9]*//' )&lt;br /&gt;
else&lt;br /&gt;
# Otherwise just look in /sys/&lt;br /&gt;
    TPDEV=$(find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/input\/input[0-9]*\/name$//')&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# http://www.thinkwiki.org/wiki/How_to_configure_the_TrackPoint&lt;br /&gt;
# http://wwwcssrv.almaden.ibm.com/trackpoint/files/ykt3eext.pdf&lt;br /&gt;
#------------------------------------------------------------&lt;br /&gt;
if [ -d &amp;quot;$TPDEV&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Configuring Trackpoint&amp;quot;&lt;br /&gt;
    echo -n 255     &amp;gt; $TPDEV/sensitivity     # Integer  128   Sensitivity&lt;br /&gt;
    echo -n 110     &amp;gt; $TPDEV/speed           # Integer  97   Cursor speed&lt;br /&gt;
    echo -n 4       &amp;gt; $TPDEV/inertia         # Integer  6   Negative intertia&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;Couldn't find trackpoint device $TPDEV&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Configuration using sysfs=&lt;br /&gt;
Another way to modify changes on the fly, is echoing values directly into special files in sysfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|&lt;br /&gt;
The examples shown below are valid for ThinkPads with both TrackPoint and Touchpad, in which case the sysfs path is {{path|/sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
If however you have a ThinkPad without Touchpad, or with the Touchpad disabled in the BIOS, the sysfs path needs to be changed to {{path|/sys/devices/platform/i8042/serio1}} instead (notice the missing serio2 at the end).}}&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;
===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/serio1/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/serio1/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/serio1/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/serio1/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/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 8.10 to make Press to Select a permanent change:&lt;br /&gt;
&lt;br /&gt;
echo -n 1 | tee /sys/devices/platform/i8042/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
As root, append the above command above &amp;quot;exit 0&amp;quot; in /etc/gdm/Init/Default&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/serio1/serio2/speed}}&lt;br /&gt;
:{{cmdroot|echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/sensitivity}}&lt;br /&gt;
&lt;br /&gt;
Alternatively, on my ThinkPad T420s, the correct commands are:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 120 &amp;gt; /sys/devices/platform/i8042/serio1/speed}}&lt;br /&gt;
:{{cmdroot|echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio1/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.  In Ubuntu 9.10, add the lines to /etc/rc.local to avoid this.&lt;br /&gt;
&lt;br /&gt;
===Vertical Scrolling===&lt;br /&gt;
No sysfs entry exists for vertical scrolling in kernels after 2.6.11.&lt;br /&gt;
&lt;br /&gt;
The feature was removed as it was not a hardware feature, but rather emulating a scroll action in software and as such did not belong in the kernel.&lt;br /&gt;
Instead the scroll feature of the Xserver should be used, which can be activated with HAL or xinput as described above.&lt;br /&gt;
&lt;br /&gt;
=Configuration using the X server (xorg.conf)=&lt;br /&gt;
==Using the &amp;quot;evdev&amp;quot; driver (preferred, especially for recent Xorg versions)==&lt;br /&gt;
Extract from /etc/X11/xorg.conf on an X31:&lt;br /&gt;
&lt;br /&gt;
    Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
        Driver     &amp;quot;evdev&amp;quot;&lt;br /&gt;
        Option     &amp;quot;Device&amp;quot; &amp;quot;/dev/input/by-path/platform-i8042-serio-1-event-mouse&amp;quot;&lt;br /&gt;
        Option     &amp;quot;GrabDevice&amp;quot; &amp;quot;False&amp;quot;&lt;br /&gt;
        Option     &amp;quot;EmulateWheel&amp;quot; &amp;quot;true&amp;quot; #Enable wheel emulation for the Trackpoint&lt;br /&gt;
        Option     &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot; #Use the middle button for the emulation&lt;br /&gt;
        Option     &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot; #Map trackpoint X axis to X axis of emulated wheel&lt;br /&gt;
        Option     &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot; #Map trackpoint Y axis to Y axis of emulated wheel&lt;br /&gt;
    EndSection&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The device path used in the example above is a typical value.  To determine the device path appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==Using the &amp;quot;mouse&amp;quot; driver (deprecated, only for old Xorg versions)==&lt;br /&gt;
{{NOTE|This only applies to old distributions with Xorg versions that did not yet use evdev. For modern distributions use one of the other methods}}&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;
=Application specific tweaks=&lt;br /&gt;
===Configure Opera for using trackpoint horizontal scrolling===&lt;br /&gt;
To fix horizontal scrolling in Opera, 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/ui/ (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;
===Firefox 3 tweaks===&lt;br /&gt;
These settings make Firefox on Linux behave more like the Windows version. They were tested on an out of the box Fedora 10 system on a Thinkpad T61.  Go into about:config, and set the following:&lt;br /&gt;
&lt;br /&gt;
 middlemouse.paste = false&lt;br /&gt;
 middlemouse.contentLoadURL = false&lt;br /&gt;
 general.autoScroll = true&lt;br /&gt;
&lt;br /&gt;
=Sysfs Options Reference=&lt;br /&gt;
{{NOTE|These options are current as of kernel version 2.6.29, 3 May 2009}}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Type&lt;br /&gt;
! Default&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| sensitivity&lt;br /&gt;
| Integer&lt;br /&gt;
| 128&lt;br /&gt;
| Sensitivity&lt;br /&gt;
|-&lt;br /&gt;
| speed&lt;br /&gt;
| Integer&lt;br /&gt;
| 97&lt;br /&gt;
| Cursor speed&lt;br /&gt;
|-&lt;br /&gt;
| inertia&lt;br /&gt;
| Integer&lt;br /&gt;
| 6&lt;br /&gt;
| Described as &amp;quot;negative inertia.&amp;quot;  It acts more like friction.  High values cause the cursor to snap backward when the Trackpoint is released&lt;br /&gt;
|-&lt;br /&gt;
| reach&lt;br /&gt;
| Integer&lt;br /&gt;
| 10&lt;br /&gt;
| Backup for Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| draghys&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Drag hysteresis (how hard it is to drag with Z-axis pressed)&lt;br /&gt;
|-&lt;br /&gt;
| mindrag&lt;br /&gt;
| Integer&lt;br /&gt;
| 20&lt;br /&gt;
| Minimum amount of force needed to trigger dragging&lt;br /&gt;
|-&lt;br /&gt;
| thresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 8&lt;br /&gt;
| Minimum value for a Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| upthresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Used to generate a 'click' on Z-axis&lt;br /&gt;
|-&lt;br /&gt;
| ztime&lt;br /&gt;
| Integer&lt;br /&gt;
| 38&lt;br /&gt;
| How sharp of a press&lt;br /&gt;
|-&lt;br /&gt;
| jenks&lt;br /&gt;
| Integer&lt;br /&gt;
| 135&lt;br /&gt;
| Minimum curvature for double click&lt;br /&gt;
|-&lt;br /&gt;
| press_to_select&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Press to select&lt;br /&gt;
|-&lt;br /&gt;
| skipback&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Supress movement after drag release&lt;br /&gt;
|-&lt;br /&gt;
| ext_dev&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Disable external device&lt;br /&gt;
|}&lt;br /&gt;
Table info taken from [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/mouse/trackpoint.h;hb=HEAD here].  The given link will always point to the current version of the driver.  If the notes seem sparse, that's because the code is sparse.  On the other hand, the [http://wwwcssrv.almaden.ibm.com/trackpoint/files/ykt3eext.pdf Trackpoint Engineering Specification Version 4.0] &amp;lt;!--if this link breaks, I recommend a quick Google search for &amp;quot;trackpoint version 4 engineering specifications&amp;quot; --&amp;gt; contains more documentation information than anyone ever desired.&lt;br /&gt;
&lt;br /&gt;
=Determining TrackPoint Path ID=&lt;br /&gt;
Both the [[#udev|udev]] and [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration methods require knowledge of the Path ID of the TrackPoint.  In the [[#udev|udev]] configuration method, the Path ID is used to match the ID_PATH environmental variable, in the [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration method it is the prefix for the device file name inside the {{path|/dev/input/by-id}} directory.  The path ID can vary between ThinkPad models, distributions (with varying kernel patches), and between kernel versions.  One way to find the path ID for the TrackPoint is to use udev's path_id utility on the sysfs device path for the TrackPoint.  This device path can be found using the {{path|name}} file which describes the TrackPoint.  The process can be automated using the following shell command:&lt;br /&gt;
 /lib/udev/path_id $(find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/sys\(.*\)\/name/\1/')&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51685</id>
		<title>Installing Ubuntu 10.04 (Lucid Lynx) on a ThinkPad X220</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51685"/>
		<updated>2011-06-03T10:16:53Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kernel &amp;amp; Graphics ==&lt;br /&gt;
In order to get an intel video driver to recognise the new Sandybridge, you have to add the [https://launchpad.net/~kernel-ppa/+archive/ppa Ubuntu kernel PPA] and the [https://launchpad.net/~glasen/+archive/intel-driver intel-driver PPA from glasen] and optionally [https://launchpad.net/~f-hackenberger/+archive/x220-intel-mesa x220 intel mesa PPA from fhackenberger] (for 3D and desktop effects), update all package (this pulls in a new xorg version) and then install '''linux-image-generic-pae-lts-backport-natty''' (linux-image-generic-lts-backport-natty is an alternative if you don't have &amp;gt; 4GB memory). That pulls in a 2.6.38 kernel backported from Natty, which is required for the updated intel video driver (version 2.15) to work. It also contains an updated e1000e driver for your network card, which does not work with the Lucid kernels. Make sure you install the kernel AFTER upgrading libdrm (which is provided by [https://launchpad.net/~glasen/+archive/intel-driver intel-driver PPA from glasen], or run ''update-initramfs -u -k all''). Otherwise the new libdrm will not be loaded and the xorg driver will not work.&lt;br /&gt;
&lt;br /&gt;
You have to reboot to load the new kernel. Suspend works, even with USB 3.0 and 3D.&lt;br /&gt;
&lt;br /&gt;
Just for reference here are the versions of the critical packages I have tested:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux-image-generic-pae-lts-backport-natty 2.6.38.8.18&lt;br /&gt;
xserver-xorg-video-intel 2:2.15.0~lucid~ppa4&lt;br /&gt;
libdrm-intel1 2.4.25~glasen~lucid~ppa1&lt;br /&gt;
libdrm2 2.4.25~glasen~lucid~ppa1&lt;br /&gt;
libgl1-mesa-dri 7.10.2-0ubuntu3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have compiz enabled, you might experience a hanging machine after logging in. If you are running Gnome, you can disable compiz on the terminal (before logging in using the GUI) by editing ''~/.gconf/desktop/gnome/session/required_components/%gconf.xml'' and replacing compiz with ''metacity''.&lt;br /&gt;
&lt;br /&gt;
== Wireless Lucid Kernel ==&lt;br /&gt;
In order to get wireless to work with the Lucid kernel (it did not connect to any AP on my {{X220}} machine and could not upgrade because the Ethernet did not work either), you have to pass the parameter ''11n_disable=0'' to the iwlagn module. Simply do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As an alternative you can create the file ''/etc/modprobe.d/intel-5300-iwlagn-disable11n.conf'' with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then reload the wireless driver:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I had to do that a few times, before it worked.&lt;br /&gt;
[[Category:Ubuntu 10.04]]&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51684</id>
		<title>Installing Ubuntu 10.04 (Lucid Lynx) on a ThinkPad X220</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51684"/>
		<updated>2011-06-03T10:16:15Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kernel &amp;amp; Graphics ==&lt;br /&gt;
In order to get an intel video driver to recognise the new Sandybridge, you have to add the [https://launchpad.net/~kernel-ppa/+archive/ppa Ubuntu kernel PPA] and the [https://launchpad.net/~glasen/+archive/intel-driver intel-driver PPA from glasen] and optionally [https://launchpad.net/~f-hackenberger/+archive/x220-intel-mesa x220 intel mesa PPA from fhackenberger] (for 3D and desktop effects), update all package (this pulls in a new xorg version) and then install '''linux-image-generic-pae-lts-backport-natty''' (linux-image-generic-lts-backport-natty is an alternative if you don't have &amp;gt; 4GB memory). That pulls in a 2.6.38 kernel backported from Natty, which is required for the updated intel video driver (version 2.15) to work. It also contains an updated e1000e driver for your network card, which does not work with the Lucid kernels. Make sure you install the kernel AFTER upgrading libdrm (which is provided by [https://launchpad.net/~glasen/+archive/intel-driver intel-driver PPA from glasen], or run ''update-initramfs -u -k all''). Otherwise the new libdrm will not be loaded and the xorg driver will not work.&lt;br /&gt;
&lt;br /&gt;
You have to reboot to load the new kernel. Suspend works, even with USB 3.0 and 3D.&lt;br /&gt;
&lt;br /&gt;
Just for reference here are the version of the critical packages I have tested:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux-image-generic-pae-lts-backport-natty 2.6.38.8.18&lt;br /&gt;
xserver-xorg-video-intel 2:2.15.0~lucid~ppa4&lt;br /&gt;
libdrm-intel1 2.4.25~glasen~lucid~ppa1&lt;br /&gt;
libdrm2 2.4.25~glasen~lucid~ppa1&lt;br /&gt;
libgl1-mesa-dri 7.10.2-0ubuntu3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have compiz enabled, you might experience a hanging machine after logging in. If you are running Gnome, you can disable compiz on the terminal (before logging in using the GUI) by editing ''~/.gconf/desktop/gnome/session/required_components/%gconf.xml'' and replacing compiz with ''metacity''.&lt;br /&gt;
&lt;br /&gt;
== Wireless Lucid Kernel ==&lt;br /&gt;
In order to get wireless to work with the Lucid kernel (it did not connect to any AP on my {{X220}} machine and could not upgrade because the Ethernet did not work either), you have to pass the parameter ''11n_disable=0'' to the iwlagn module. Simply do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As an alternative you can create the file ''/etc/modprobe.d/intel-5300-iwlagn-disable11n.conf'' with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then reload the wireless driver:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I had to do that a few times, before it worked.&lt;br /&gt;
[[Category:Ubuntu 10.04]]&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51683</id>
		<title>Installing Ubuntu 10.04 (Lucid Lynx) on a ThinkPad X220</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51683"/>
		<updated>2011-06-03T10:15:29Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kernel &amp;amp; Graphics ==&lt;br /&gt;
In order to get an intel video driver to recognise the new Sandybridge, you have to add the [https://launchpad.net/~kernel-ppa/+archive/ppa Ubuntu kernel PPA] and the [https://launchpad.net/~glasen/+archive/intel-driver intel-driver PPA from glasen] and optionally [https://launchpad.net/~f-hackenberger/+archive/x220-intel-mesa x220 intel mesa PPA from fhackenberger] (for 3D and desktop effects), update all package (this pulls in a new xorg version) and then install '''linux-image-generic-pae-lts-backport-natty''' (linux-image-generic-lts-backport-natty is an alternative if you don't have &amp;gt; 4GB memory). That pulls in a 2.6.38 kernel backported from Natty, which is required for the updated intel video driver (version 2.15) to work. It also contains an updated e1000e driver for your network card, which does not work with the Lucid kernels. Make sure you install the kernel AFTER upgrading libdrm (which is provided by [https://launchpad.net/~glasen/+archive/intel-driver intel-driver PPA from glasen], or run ''update-initramfs -u -k all''). Otherwise the new libdrm will not be loaded and the xorg driver will not work.&lt;br /&gt;
&lt;br /&gt;
You have to reboot to load the new kernel. Suspend works, even with USB 3.0 and 3D.&lt;br /&gt;
&lt;br /&gt;
Just for reference here are the version of the critical packages I have tested:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux-image-generic-pae-lts-backport-natty 2.6.38.8.18&lt;br /&gt;
xserver-xorg-video-intel 2:2.15.0~lucid~ppa4&lt;br /&gt;
libdrm-intel1 2.4.25~glasen~lucid~ppa1&lt;br /&gt;
libdrm2 2.4.25~glasen~lucid~ppa1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have compiz enabled, you might experience a hanging machine after logging in. If you are running Gnome, you can disable compiz on the terminal (before logging in using the GUI) by editing ''~/.gconf/desktop/gnome/session/required_components/%gconf.xml'' and replacing compiz with ''metacity''.&lt;br /&gt;
&lt;br /&gt;
== Wireless Lucid Kernel ==&lt;br /&gt;
In order to get wireless to work with the Lucid kernel (it did not connect to any AP on my {{X220}} machine and could not upgrade because the Ethernet did not work either), you have to pass the parameter ''11n_disable=0'' to the iwlagn module. Simply do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As an alternative you can create the file ''/etc/modprobe.d/intel-5300-iwlagn-disable11n.conf'' with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then reload the wireless driver:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I had to do that a few times, before it worked.&lt;br /&gt;
[[Category:Ubuntu 10.04]]&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51682</id>
		<title>Installing Ubuntu 10.04 (Lucid Lynx) on a ThinkPad X220</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51682"/>
		<updated>2011-06-03T10:13:50Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: Added info regarding 3D&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kernel &amp;amp; Graphics ==&lt;br /&gt;
In order to get an intel video driver to recognise the new Sandybridge, you have to add the [https://launchpad.net/~kernel-ppa/+archive/ppa Ubuntu kernel PPA] and the [https://launchpad.net/~glasen/+archive/intel-driver intel-driver PPA from glasen], update all package (this pulls in a new xorg version) and then install '''linux-image-generic-pae-lts-backport-natty''' (linux-image-generic-lts-backport-natty is an alternative if you don't have &amp;gt; 4GB memory). That pulls in a 2.6.38 kernel backported from Natty, which is required for the updated intel video driver (version 2.15) to work. It also contains an updated e1000e driver for your network card, which does not work with the Lucid kernels. Make sure you install the kernel AFTER upgrading libdrm (which is provided by [https://launchpad.net/~glasen/+archive/intel-driver intel-driver PPA from glasen], or run ''update-initramfs -u -k all''). Otherwise the new libdrm will not be loaded and the xorg driver will not work.&lt;br /&gt;
&lt;br /&gt;
If you would like to have 3D (Desktop effects), you can also add the [https://launchpad.net/~f-hackenberger/+archive/x220-intel-mesa x220 intel mesa PPA from fhackenberger].&lt;br /&gt;
&lt;br /&gt;
You have to reboot to load the new kernel. Suspend works, even with USB 3.0.&lt;br /&gt;
&lt;br /&gt;
Just for reference here are the version of the critical packages I have tested:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux-image-generic-pae-lts-backport-natty 2.6.38.8.18&lt;br /&gt;
xserver-xorg-video-intel 2:2.15.0~lucid~ppa4&lt;br /&gt;
libdrm-intel1 2.4.25~glasen~lucid~ppa1&lt;br /&gt;
libdrm2 2.4.25~glasen~lucid~ppa1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have compiz enabled, you might experience a hanging machine after logging in. If you are running Gnome, you can disable compiz on the terminal (before logging in using the GUI) by editing ''~/.gconf/desktop/gnome/session/required_components/%gconf.xml'' and replacing compiz with ''metacity''.&lt;br /&gt;
&lt;br /&gt;
== Wireless Lucid Kernel ==&lt;br /&gt;
In order to get wireless to work with the Lucid kernel (it did not connect to any AP on my {{X220}} machine and could not upgrade because the Ethernet did not work either), you have to pass the parameter ''11n_disable=0'' to the iwlagn module. Simply do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As an alternative you can create the file ''/etc/modprobe.d/intel-5300-iwlagn-disable11n.conf'' with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then reload the wireless driver:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I had to do that a few times, before it worked.&lt;br /&gt;
[[Category:Ubuntu 10.04]]&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51681</id>
		<title>Installing Ubuntu 10.04 (Lucid Lynx) on a ThinkPad X220</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51681"/>
		<updated>2011-06-03T09:37:31Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kernel &amp;amp; Graphics ==&lt;br /&gt;
In order to get an intel video driver to recognise the new Sandybridge, you have to add the [https://launchpad.net/~kernel-ppa/+archive/ppa Ubuntu kernel PPA] and the [https://launchpad.net/~glasen/+archive/intel-driver intel-driver PPA from glasen], update all package (this pulls in a new xorg version) and then install '''linux-image-generic-pae-lts-backport-natty''' (linux-image-generic-lts-backport-natty is an alternative if you don't have &amp;gt; 4GB memory). That pulls in a 2.6.38 kernel backported from Natty, which is required for the updated intel video driver (version 2.15) to work. It also contains an updated e1000e driver for your network card, which does not work with the Lucid kernels. Make sure you install the kernel AFTER upgrading libdrm (which is provided by [https://launchpad.net/~glasen/+archive/intel-driver intel-driver PPA from glasen], or run ''update-initramfs -u -k all''). Otherwise the new libdrm will not be loaded and the xorg driver will not work.&lt;br /&gt;
&lt;br /&gt;
You have to reboot to load the new kernel. Suspend works, even with USB 3.0. Compiz does not yet work, as the Sandybridge GPU 3D mesa driver is not yet available as a PPA for lucid and the card is [https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/644372 blacklisted]. Using the compiz packages from [https://launchpad.net/~compiz/+archive/ppa compiz-ppa] did not help, as they do not seem to contain the fix.&lt;br /&gt;
&lt;br /&gt;
Just for reference here are the version of the critical packages I have tested:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux-image-generic-pae-lts-backport-natty 2.6.38.8.18&lt;br /&gt;
xserver-xorg-video-intel 2:2.15.0~lucid~ppa4&lt;br /&gt;
libdrm-intel1 2.4.25~glasen~lucid~ppa1&lt;br /&gt;
libdrm2 2.4.25~glasen~lucid~ppa1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have compiz enabled, you might experience a hanging machine after logging in. If you are running Gnome, you can disable compiz on the terminal (before logging in using the GUI) by editing ''~/.gconf/desktop/gnome/session/required_components/%gconf.xml'' and replacing compiz with ''metacity''.&lt;br /&gt;
&lt;br /&gt;
== Wireless Lucid Kernel ==&lt;br /&gt;
In order to get wireless to work with the Lucid kernel (it did not connect to any AP on my {{X220}} machine and could not upgrade because the Ethernet did not work either), you have to pass the parameter ''11n_disable=0'' to the iwlagn module. Simply do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As an alternative you can create the file ''/etc/modprobe.d/intel-5300-iwlagn-disable11n.conf'' with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then reload the wireless driver:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I had to do that a few times, before it worked.&lt;br /&gt;
[[Category:Ubuntu 10.04]]&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&amp;diff=51679</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=51679"/>
		<updated>2011-06-02T10:18:16Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: /* Configuring other options (e.g. Press to select, Sensitivity and Speed) */&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; |Below are several ways of configuring the kernel psmouse driver for controlling extended TrackPoint features.&lt;br /&gt;
|}&lt;br /&gt;
On a '''Modern''' distribution (like Fedora, Ubuntu or OpenSUSE) you will want to use xinput or one of the graphical front ends. For distributions that are lagging a bit (e.g. Debian Lenny and PCLOS '09) you may still want to use the old xorg config method.&lt;br /&gt;
&lt;br /&gt;
=Configuration using xinput=&lt;br /&gt;
If you want to modify changes on the fly, you can do so with {{cmd|xinput|}} (part of the optional xorg-x11-apps rpm on Fedora).&lt;br /&gt;
Note that these changes are not saved when the xserver is restarted. However, you can add the lines e.g. in your  {{cmd|.xsessionrc|}} (depends on your distribution) so they are executed every time X starts.&lt;br /&gt;
&lt;br /&gt;
To query the available options&lt;br /&gt;
 xinput list-props &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
&lt;br /&gt;
More information can be found in the man-pages for evdev&lt;br /&gt;
 man evdev&lt;br /&gt;
&lt;br /&gt;
To enable vertical scrolling&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
&lt;br /&gt;
To enable horizontal scrolling in addition to vertical scrolling&lt;br /&gt;
&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To enable middle button emulation (using left- and right-click simultaneously)&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Timeout&amp;quot; 8 50&lt;br /&gt;
&lt;br /&gt;
==Example: openSUSE 11.2 and ThinkPad USB Keyboard with TrackPoint ==&lt;br /&gt;
&lt;br /&gt;
 xinput list &lt;br /&gt;
will show two &amp;quot;Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint.&amp;quot; with two different ids. Use the id with Axis 0 and Axis 1 items.&lt;br /&gt;
&lt;br /&gt;
Suppose the id was 12. The following will enable the trackpoint scrolling:&lt;br /&gt;
&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
&lt;br /&gt;
The following will enable the horizontal scrolling&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To disable middle button click paste functionality, remap the middle button to something else:&lt;br /&gt;
 xmodmap -e &amp;quot;pointer = 1 9 3 4 5 6 7 8 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To do these automatically without worrying about id number, generate a bash script file:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 xinput list | sed -ne 's/^[^ ][^V].*id=\([0-9]*\).*/\1/p' | while read id&lt;br /&gt;
 do&lt;br /&gt;
         case `xinput list-props $id` in&lt;br /&gt;
         *&amp;quot;Middle Button Emulation&amp;quot;*)&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Middle Button Emulation&amp;quot; 8 0&lt;br /&gt;
                 ;;&lt;br /&gt;
         esac&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # disable middle button &lt;br /&gt;
 xmodmap -e &amp;quot;pointer = 1 9 3 4 5 6 7 8 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and save it with any name such as trackPointScrolling.sh, and make it executable:&lt;br /&gt;
 chmod +x trackPointScrolling.sh&lt;br /&gt;
&lt;br /&gt;
Next time you run it with $ ./trackPointScrolling.sh, it will enable the trackpoint scrolling and disable middle button paste.&lt;br /&gt;
{{Todo|some other examples}}&lt;br /&gt;
&lt;br /&gt;
= Graphical Frontends =&lt;br /&gt;
If you are using GNOME, you might want to use [http://live.gnome.org/GPointingDeviceSettings GPointing Device Settings] or [http://tpctl.sourceforge.net/configure-trackpoint.html configure-trackpoint] as a graphical frontends.&lt;br /&gt;
=== GPointing Device Settings ===&lt;br /&gt;
It is available for Fedora 12, Ubuntu 9.10 and Debian Squeeze in the standard package repositories&lt;br /&gt;
&lt;br /&gt;
[[image:Screenshot-GPointing Device Settings-TrackPoint.png]]&lt;br /&gt;
&lt;br /&gt;
=== configure-trackpoint ===&lt;br /&gt;
To install it in Ubuntu run ...&lt;br /&gt;
 sudo apt-get install sysfsutils&lt;br /&gt;
...and then download and install the deb [http://sourceforge.net/projects/tpctl/ here]. Note that saved settings are not restored after reboot in Lucid Lynx. See methods below to make settings permanent.&lt;br /&gt;
&lt;br /&gt;
= Configuration using DevKit =&lt;br /&gt;
Most recent distributions like Ubuntu 9.10 switch from HAL (being deprecated) to DevKit. Hence, the HAL configurations explained underneath, fail to work. &lt;br /&gt;
&lt;br /&gt;
The easiest way to configure your touchpad and trackpoint with DevKit is by using the [http://live.gnome.org/GPointingDeviceSettings GPointingDeviceSettings] panel that fully supports the hardware. You can easily download the panel by installing {{cmd| gpointing-device-settings|}}. On Ubuntu open a terminal and execute the command {{cmduser| sudo apt-get install gpointing-device-settings}}&lt;br /&gt;
&lt;br /&gt;
Launch the UI through the {{cmduser| gpointing-device-settings}} command, but you can also add a menu entry to your System / Preferences menu for easier access to the UI panel.&lt;br /&gt;
&lt;br /&gt;
= Configuration using udev and HAL =&lt;br /&gt;
Modern distributions like Ubuntu 8.10 and Fedora 10 use udev and HAL to configure the input devices. You should no longer make changes to xorg.conf as by default Xorg (through the evdev driver) will let the kernel now handle input devices.&lt;br /&gt;
&lt;br /&gt;
But before you get started on this you should make sure you have all the updates applied from your distro vendor as both Ubuntu 8.10 and Fedora 10 require some additional fixes that you will need.&lt;br /&gt;
&lt;br /&gt;
=== Scrolling ===&lt;br /&gt;
By default the middle mouse button is that, a middle mouse button, which in Linux is used for the Paste operation.&lt;br /&gt;
&lt;br /&gt;
But you can configure it to act in the same way as in Windows, such that you can use it for vertical scrolling (keep the button pressed and move the TrackPoint up and down to scroll). &lt;br /&gt;
&lt;br /&gt;
==== xorg.conf.d ====&lt;br /&gt;
&lt;br /&gt;
Some distributions now support the new Xorg hotplug configuration method via xorg.conf.d directories (in Ubuntu 10.04 Lucid Lynx) instead of hal. In contrast to the udev method below, it should be around for some time, so it might be the best way to “statically” configure scrolling.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/usr/lib/X11/xorg.conf.d/20-thinkpad.conf}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
	Identifier	&amp;quot;Trackpoint Wheel Emulation&amp;quot;&lt;br /&gt;
	MatchProduct	&amp;quot;TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint&amp;quot;&lt;br /&gt;
	MatchDevicePath	&amp;quot;/dev/input/event*&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;
	Option		&amp;quot;Emulate3Buttons&amp;quot;	&amp;quot;false&amp;quot;&lt;br /&gt;
	Option		&amp;quot;XAxisMapping&amp;quot;		&amp;quot;6 7&amp;quot;&lt;br /&gt;
	Option		&amp;quot;YAxisMapping&amp;quot;		&amp;quot;4 5&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|For Ubuntu 10.10 Maverick Meerkat, the correct path is {{path|/usr/share/X11/xorg.conf.d}}}}&lt;br /&gt;
{{NOTE|For Arch Linux or Fedora, the correct path is {{path|/etc/X11/xorg.conf.d}}}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If the above does not work for you, you may need to add a different MatchProduct string.  Use &amp;lt;pre&amp;gt;find /dev/input/event* -exec udevadm info --attribute-walk --name={} \; | grep -e product -e name | sort -u&amp;lt;/pre&amp;gt; to get a list of possibilities.}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If the above directory doesn't exist by default in your distribution, it probably doesn't support this method. In this case, please refer to the udev or xinput method below.}}&lt;br /&gt;
&lt;br /&gt;
==== udev ====&lt;br /&gt;
&lt;br /&gt;
Now that Xorg doesn't use the configuration from hal (in Debian unstable starting january 2010), the only way to “statically” configure scrolling in trackpoint is udev. (for other people, xinput method, works fine). This method will be gone (_again_) in not too long so it might be a better idea to use xinput way. YMMV.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/etc/udev/rules.d/99_trackpoint.rules}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
KERNEL!=&amp;quot;event*&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{ID_PATH}!=&amp;quot;platform-i8042-serio-1&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{x11_options.EmulateWheel}=&amp;quot;1&amp;quot;&lt;br /&gt;
ENV{x11_options.EmulateWheelButton}=&amp;quot;2&amp;quot;&lt;br /&gt;
ENV{x11_options.XAxisMapping}=&amp;quot;6 7&amp;quot;&lt;br /&gt;
ENV{x11_options.Emulate3Buttons}=&amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
LABEL=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart udev then Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The ID_PATH used in the example above is a typical value.  To determine the ID_PATH appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==== Hal (soon to be deprecated) ====&lt;br /&gt;
&lt;br /&gt;
To accomplish this create the file {{path|/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.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;
If you also want to have horizontal scrolling, simply add the following XAxisMapping option to the above&lt;br /&gt;
&amp;lt;pre&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;/pre&amp;gt;&lt;br /&gt;
After this reboot, or restart the hal service and Xorg. You can validate the settings with {{cmd|lshal|}}.&lt;br /&gt;
&lt;br /&gt;
In some models (eg: X301 and X200 since Jan 10 2010 on debian sid) you may have to use &amp;quot;PS/2 Generic Mouse&amp;quot; instead of &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;. Have a look to your input devices typing &amp;lt;code&amp;gt;lshal|grep input.product&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Alternatively it is also possible to use the &amp;quot;old&amp;quot; Xorg configuration by adding the following lines to the {{path|/etc/X11/xorg.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
	Option 	&amp;quot;AutoAddDevices&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using this entry HAL will not be used for the input devices.&lt;br /&gt;
&lt;br /&gt;
====Reactivate Scrolling after suspend/resume====&lt;br /&gt;
Scrolling may be disabled after a resume from suspend. &lt;br /&gt;
&lt;br /&gt;
You can manually reactivate the trackpoint by reloading the {{path|psmouse}} module as root:&lt;br /&gt;
:{{cmdroot|rmmod psmouse &amp;amp;&amp;amp; modprobe psmouse}}&lt;br /&gt;
&lt;br /&gt;
You can automatically force the pm-utils to reload this module.&lt;br /&gt;
Create a file {{path|/etc/pm/config.d/01reload_mouse}} as root with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# reload psmouse to reactivate trackpoint scrolling&lt;br /&gt;
SUSPEND_MODULES=&amp;quot;${SUSPEND_MODULES:+$SUSPEND_MODULES }psmouse&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuring other options (e.g. Press to select, Sensitivity and Speed)===&lt;br /&gt;
&amp;lt;!--HAL wasn't made to configure sysfs settings, so we'll use udev instead --&amp;gt;&lt;br /&gt;
Create a file {{path|/etc/udev/rules.d/10-trackpoint.rules}} and add a line to suit your needs&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, ATTRS{press_to_select}=&amp;quot;1&amp;quot;, ATTRS{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Testing udev  with {{cmdroot|udevadm test /sys/devices/platform/i8042/serio1}} should apply the new changes.  All of the settings listed [[How to configure the TrackPoint#Sysfs_Options_Reference|below]] can be specified here as part of a comma separated list.&lt;br /&gt;
The customized values should be loaded automatically when booting. However, due to a [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549379  kernel bug] (affecting Lucid Lynx), the attributes may not yet exist when the udev rule fires. As a work around, add a WAIT_FOR condition on the attribute&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, WAIT_FOR=&amp;quot;/sys/devices/platform/i8042/serio1/serio2/sensitivity&amp;quot;, ATTRS{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On my system (Lucid Lynx), the above line did not work. I changed it to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, WAIT_FOR=&amp;quot;/sys/devices/platform/i8042/serio1/serio2/sensitivity&amp;quot;, ATTR{sensitivity}=&amp;quot;255&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and tested with {{cmdroot|udevadm test /sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
To avoid the wait you can also listen for the Trackpoint input device to appear and then run a script to set the parameters&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;input&amp;quot;, ATTR{name}==&amp;quot;*TrackPoint*&amp;quot;, RUN+=&amp;quot;/etc/conf.d/trackpoint&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example {{path|/etc/conf.d/trackpoint}} would be&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#! /bin/bash&lt;br /&gt;
&lt;br /&gt;
## Trackpoint settings&lt;br /&gt;
&lt;br /&gt;
# When run from a udev rule, DEVPATH should be set&lt;br /&gt;
if [ ! -z $DEVPATH ] ; then&lt;br /&gt;
    TPDEV=/sys/$( echo &amp;quot;$DEVPATH&amp;quot; | sed 's/\/input\/input[0-9]*//' )&lt;br /&gt;
else&lt;br /&gt;
# Otherwise just look in /sys/&lt;br /&gt;
    TPDEV=$(find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/input\/input[0-9]*\/name$//')&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# http://www.thinkwiki.org/wiki/How_to_configure_the_TrackPoint&lt;br /&gt;
# http://wwwcssrv.almaden.ibm.com/trackpoint/files/ykt3eext.pdf&lt;br /&gt;
#------------------------------------------------------------&lt;br /&gt;
if [ -d &amp;quot;$TPDEV&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Configuring Trackpoint&amp;quot;&lt;br /&gt;
    echo -n 255     &amp;gt; $TPDEV/sensitivity     # Integer  128   Sensitivity                    &lt;br /&gt;
    echo -n 110     &amp;gt; $TPDEV/speed           # Integer  97   Cursor speed                            &lt;br /&gt;
    echo -n 4       &amp;gt; $TPDEV/inertia         # Integer  6   Negative intertia        &lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;Couldn't find trackpoint device $TPDEV&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Configuration using sysfs=&lt;br /&gt;
Another way to modify changes on the fly, is echoing values directly into special files in sysfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|&lt;br /&gt;
The examples shown below are valid for ThinkPads with both TrackPoint and Touchpad, in which case the sysfs path is {{path|/sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
If however you have a ThinkPad without Touchpad, or with the Touchpad disabled in the BIOS, the sysfs path needs to be changed to {{path|/sys/devices/platform/i8042/serio1}} instead (notice the missing serio2 at the end).}}&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;
===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/serio1/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/serio1/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/serio1/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/serio1/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/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 8.10 to make Press to Select a permanent change:&lt;br /&gt;
&lt;br /&gt;
echo -n 1 | tee /sys/devices/platform/i8042/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
As root, append the above command above &amp;quot;exit 0&amp;quot; in /etc/gdm/Init/Default&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/serio1/serio2/speed}}&lt;br /&gt;
:{{cmdroot|echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio1/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.  In Ubuntu 9.10, add the lines to /etc/rc.local to avoid this.&lt;br /&gt;
&lt;br /&gt;
===Vertical Scrolling===&lt;br /&gt;
No sysfs entry exists for vertical scrolling in kernels after 2.6.11.&lt;br /&gt;
&lt;br /&gt;
The feature was removed as it was not a hardware feature, but rather emulating a scroll action in software and as such did not belong in the kernel.&lt;br /&gt;
Instead the scroll feature of the Xserver should be used, which can be activated with HAL or xinput as described above.&lt;br /&gt;
&lt;br /&gt;
=Configuration using the X server (xorg.conf)=&lt;br /&gt;
==Using the &amp;quot;evdev&amp;quot; driver (preferred, especially for recent Xorg versions)==&lt;br /&gt;
Extract from /etc/X11/xorg.conf on an X31:&lt;br /&gt;
&lt;br /&gt;
    Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
        Driver     &amp;quot;evdev&amp;quot;&lt;br /&gt;
        Option     &amp;quot;Device&amp;quot; &amp;quot;/dev/input/by-path/platform-i8042-serio-1-event-mouse&amp;quot;&lt;br /&gt;
        Option     &amp;quot;GrabDevice&amp;quot; &amp;quot;False&amp;quot;&lt;br /&gt;
        Option     &amp;quot;EmulateWheel&amp;quot; &amp;quot;true&amp;quot; #Enable wheel emulation for the Trackpoint&lt;br /&gt;
        Option     &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot; #Use the middle button for the emulation&lt;br /&gt;
        Option     &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot; #Map trackpoint X axis to X axis of emulated wheel&lt;br /&gt;
        Option     &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot; #Map trackpoint Y axis to Y axis of emulated wheel&lt;br /&gt;
    EndSection&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The device path used in the example above is a typical value.  To determine the device path appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==Using the &amp;quot;mouse&amp;quot; driver (deprecated, only for old Xorg versions)==&lt;br /&gt;
{{NOTE|This only applies to old distributions with Xorg versions that did not yet use evdev. For modern distributions use one of the other methods}}&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;
=Application specific tweaks=&lt;br /&gt;
===Configure Opera for using trackpoint horizontal scrolling===&lt;br /&gt;
To fix horizontal scrolling in Opera, 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/ui/ (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;
===Firefox 3 tweaks===&lt;br /&gt;
These settings make Firefox on Linux behave more like the Windows version. They were tested on an out of the box Fedora 10 system on a Thinkpad T61.  Go into about:config, and set the following:&lt;br /&gt;
&lt;br /&gt;
 middlemouse.paste = false&lt;br /&gt;
 middlemouse.contentLoadURL = false&lt;br /&gt;
 general.autoScroll = true&lt;br /&gt;
&lt;br /&gt;
=Sysfs Options Reference=&lt;br /&gt;
{{NOTE|These options are current as of kernel version 2.6.29, 3 May 2009}}&lt;br /&gt;
{| &lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Type&lt;br /&gt;
! Default&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| sensitivity&lt;br /&gt;
| Integer&lt;br /&gt;
| 128&lt;br /&gt;
| Sensitivity&lt;br /&gt;
|-&lt;br /&gt;
| speed&lt;br /&gt;
| Integer&lt;br /&gt;
| 97&lt;br /&gt;
| Cursor speed&lt;br /&gt;
|-&lt;br /&gt;
| inertia&lt;br /&gt;
| Integer&lt;br /&gt;
| 6&lt;br /&gt;
| Described as &amp;quot;negative inertia.&amp;quot;  It acts more like friction.  High values cause the cursor to snap backward when the Trackpoint is released&lt;br /&gt;
|-&lt;br /&gt;
| reach&lt;br /&gt;
| Integer&lt;br /&gt;
| 10&lt;br /&gt;
| Backup for Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| draghys&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Drag hysteresis (how hard it is to drag with Z-axis pressed)&lt;br /&gt;
|-&lt;br /&gt;
| mindrag&lt;br /&gt;
| Integer&lt;br /&gt;
| 20&lt;br /&gt;
| Minimum amount of force needed to trigger dragging&lt;br /&gt;
|-&lt;br /&gt;
| thresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 8&lt;br /&gt;
| Minimum value for a Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| upthresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Used to generate a 'click' on Z-axis&lt;br /&gt;
|-&lt;br /&gt;
| ztime&lt;br /&gt;
| Integer&lt;br /&gt;
| 38&lt;br /&gt;
| How sharp of a press&lt;br /&gt;
|-&lt;br /&gt;
| jenks&lt;br /&gt;
| Integer&lt;br /&gt;
| 135&lt;br /&gt;
| Minimum curvature for double click&lt;br /&gt;
|-&lt;br /&gt;
| press_to_select&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Press to select&lt;br /&gt;
|-&lt;br /&gt;
| skipback&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Supress movement after drag release &lt;br /&gt;
|-&lt;br /&gt;
| ext_dev&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Disable external device&lt;br /&gt;
|}&lt;br /&gt;
Table info taken from [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/mouse/trackpoint.h;hb=HEAD here].  The given link will always point to the current version of the driver.  If the notes seem sparse, that's because the code is sparse.  On the other hand, the [http://wwwcssrv.almaden.ibm.com/trackpoint/files/ykt3eext.pdf Trackpoint Engineering Specification Version 4.0] &amp;lt;!--if this link breaks, I recommend a quick Google search for &amp;quot;trackpoint version 4 engineering specifications&amp;quot; --&amp;gt; contains more documentation information than anyone ever desired.&lt;br /&gt;
&lt;br /&gt;
=Determining TrackPoint Path ID=&lt;br /&gt;
Both the [[#udev|udev]] and [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration methods require knowledge of the Path ID of the TrackPoint.  In the [[#udev|udev]] configuration method, the Path ID is used to match the ID_PATH environmental variable, in the [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration method it is the prefix for the device file name inside the {{path|/dev/input/by-id}} directory.  The path ID can vary between ThinkPad models, distributions (with varying kernel patches), and between kernel versions.  One way to find the path ID for the TrackPoint is to use udev's path_id utility on the sysfs device path for the TrackPoint.  This device path can be found using the {{path|name}} file which describes the TrackPoint.  The process can be automated using the following shell command:&lt;br /&gt;
 /lib/udev/path_id $(find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/sys\(.*\)\/name/\1/')&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51677</id>
		<title>Installing Ubuntu 10.04 (Lucid Lynx) on a ThinkPad X220</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51677"/>
		<updated>2011-06-01T13:16:48Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kernel &amp;amp; Graphics ==&lt;br /&gt;
In order to get an intel video driver to recognise the new Sandybridge, you have to add the [https://launchpad.net/~kernel-ppa/+archive/ppa Ubuntu kernel PPA] and the [https://launchpad.net/~glasen/+archive/intel-driver intel-driver PPA from glasen], update all package (this pulls in a new xorg version) and then install '''linux-image-generic-pae-lts-backport-natty''' (linux-image-generic-lts-backport-natty is an alternative if you don't have &amp;gt; 4GB memory). That pulls in a 2.6.38 kernel backported from Natty, which is required for the updated intel video driver (version 2.15) to work. It also contains an updated e1000e driver for your network card, which does not work with the Lucid kernels. Make sure you install the kernel AFTER upgrading libdrm (which is provided by [https://launchpad.net/~glasen/+archive/intel-driver intel-driver PPA from glasen], or run ''update-initramfs -u -k all''). Otherwise the new libdrm will not be loaded and the xorg driver will not work.&lt;br /&gt;
&lt;br /&gt;
You have to reboot to load the new kernel. Suspend works, even with USB 3.0. Compiz does not yet work, as the Sandybridge GPU is [https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/644372 blacklisted]. Using the compiz packages from [https://launchpad.net/~compiz/+archive/ppa compiz-ppa] did not help, as they do not seem to contain the fix.&lt;br /&gt;
&lt;br /&gt;
Just for reference here are the version of the critical packages I have tested:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux-image-generic-pae-lts-backport-natty 2.6.38.8.18&lt;br /&gt;
xserver-xorg-video-intel 2:2.15.0~lucid~ppa4&lt;br /&gt;
libdrm-intel1 2.4.25~glasen~lucid~ppa1&lt;br /&gt;
libdrm2 2.4.25~glasen~lucid~ppa1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have compiz enabled, you might experience a hanging machine after logging in. If you are running Gnome, you can disable compiz on the terminal (before logging in using the GUI) by editing ''~/.gconf/desktop/gnome/session/required_components/%gconf.xml'' and replacing compiz with ''metacity''.&lt;br /&gt;
&lt;br /&gt;
== Wireless Lucid Kernel ==&lt;br /&gt;
In order to get wireless to work with the Lucid kernel (it did not connect to any AP on my {{X220}} machine and could not upgrade because the Ethernet did not work either), you have to pass the parameter ''11n_disable=0'' to the iwlagn module. Simply do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As an alternative you can create the file ''/etc/modprobe.d/intel-5300-iwlagn-disable11n.conf'' with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then reload the wireless driver:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I had to do that a few times, before it worked.&lt;br /&gt;
[[Category:Ubuntu 10.04]]&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51676</id>
		<title>Installing Ubuntu 10.04 (Lucid Lynx) on a ThinkPad X220</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51676"/>
		<updated>2011-06-01T13:06:46Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kernel &amp;amp; Graphics ==&lt;br /&gt;
In order to get an intel video driver to recognise the new Sandybridge, you have to add the [https://launchpad.net/~kernel-ppa/+archive/ppa Ubuntu kernel PPA] and the [https://launchpad.net/~glasen/+archive/intel-driver intel-driver PPA from glasen], update all package (this pulls in a new xorg version) and then install '''linux-image-generic-pae-lts-backport-natty''' (linux-image-generic-lts-backport-natty is an alternative if you don't have &amp;gt; 4GB memory). That pulls in a 2.6.38 kernel backported from Natty, which is required for the updated intel video driver (version 2.15) to work. It also contains an updated e1000e driver for your network card, which does not work with the Lucid kernels. Make sure you install the kernel AFTER upgrading libdrm (which is provided by [https://launchpad.net/~glasen/+archive/intel-driver intel-driver PPA from glasen], or run ''update-initramfs -u -k all''). Otherwise the new libdrm will not be loaded and the xorg driver will not work.&lt;br /&gt;
&lt;br /&gt;
You have to reboot to load the new kernel. Suspend works, even with USB 3.0. Compiz does not yet work, as the Sandybridge GPU is [https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/644372 blacklisted].&lt;br /&gt;
&lt;br /&gt;
Just for reference here are the version of the critical packages I have tested:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux-image-generic-pae-lts-backport-natty 2.6.38.8.18&lt;br /&gt;
xserver-xorg-video-intel 2:2.15.0~lucid~ppa4&lt;br /&gt;
libdrm-intel1 2.4.25~glasen~lucid~ppa1&lt;br /&gt;
libdrm2 2.4.25~glasen~lucid~ppa1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have compiz enabled, you might experience a hanging machine after logging in. If you are running Gnome, you can disable compiz on the terminal (before logging in using the GUI) by editing ''~/.gconf/desktop/gnome/session/required_components/%gconf.xml'' and replacing compiz with ''metacity''.&lt;br /&gt;
&lt;br /&gt;
== Wireless Lucid Kernel ==&lt;br /&gt;
In order to get wireless to work with the Lucid kernel (it did not connect to any AP on my {{X220}} machine and could not upgrade because the Ethernet did not work either), you have to pass the parameter ''11n_disable=0'' to the iwlagn module. Simply do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As an alternative you can create the file ''/etc/modprobe.d/intel-5300-iwlagn-disable11n.conf'' with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then reload the wireless driver:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I had to do that a few times, before it worked.&lt;br /&gt;
[[Category:Ubuntu 10.04]]&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51675</id>
		<title>Installing Ubuntu 10.04 (Lucid Lynx) on a ThinkPad X220</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51675"/>
		<updated>2011-06-01T12:57:34Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kernel &amp;amp; Graphics ==&lt;br /&gt;
In order to get an intel video driver to recognise the new Sandybridge, you have to add the [https://launchpad.net/~kernel-ppa/+archive/ppa Ubuntu kernel PPA] and the [https://launchpad.net/~glasen/+archive/intel-driver intel-driver PPA from glasen], update all package (this pulls in a new xorg version) and then install '''linux-image-generic-pae-lts-backport-natty''' (linux-image-generic-lts-backport-natty is an alternative if you don't have &amp;gt; 4GB memory). That pulls in a 2.6.38 kernel backported from Natty, which is required for the updated intel video driver (version 2.15) to work. It also contains an updated e1000e driver for your network card, which does not work with the Lucid kernels. Make sure you install the kernel AFTER upgrading libdrm (which is provided by [https://launchpad.net/~glasen/+archive/intel-driver intel-driver PPA from glasen], or run ''update-initramfs -u -k all''). Otherwise the new libdrm will not be loaded and the xorg driver will not work.&lt;br /&gt;
&lt;br /&gt;
You have to reboot to load the new kernel. Suspend works, even with USB 3.0.&lt;br /&gt;
&lt;br /&gt;
Just for reference here are the version of the critical packages I have tested:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux-image-generic-pae-lts-backport-natty 2.6.38.8.18&lt;br /&gt;
xserver-xorg-video-intel 2:2.15.0~lucid~ppa4&lt;br /&gt;
libdrm-intel1 2.4.25~glasen~lucid~ppa1&lt;br /&gt;
libdrm2 2.4.25~glasen~lucid~ppa1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have compiz enabled, you might experience a hanging machine after logging in. If you are running Gnome, you can disable compiz on the terminal (before logging in using the GUI) by editing ''~/.gconf/desktop/gnome/session/required_components/%gconf.xml'' and replacing compiz with ''metacity''.&lt;br /&gt;
&lt;br /&gt;
== Wireless Lucid Kernel ==&lt;br /&gt;
In order to get wireless to work with the Lucid kernel (it did not connect to any AP on my {{X220}} machine and could not upgrade because the Ethernet did not work either), you have to pass the parameter ''11n_disable=0'' to the iwlagn module. Simply do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As an alternative you can create the file ''/etc/modprobe.d/intel-5300-iwlagn-disable11n.conf'' with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then reload the wireless driver:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I had to do that a few times, before it worked.&lt;br /&gt;
[[Category:Ubuntu 10.04]]&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51674</id>
		<title>Installing Ubuntu 10.04 (Lucid Lynx) on a ThinkPad X220</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51674"/>
		<updated>2011-06-01T12:56:23Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kernel &amp;amp; Graphics ==&lt;br /&gt;
In order to get an intel video driver to recognise the new Sandybridge, you have to add the [https://launchpad.net/~kernel-ppa/+archive/ppa Ubuntu kernel PPA] and the [https://launchpad.net/~glasen/+archive/intel-driver intel-driver PPA from glasen], update all package (this pulls in a new xorg version) and then install '''linux-image-generic-pae-lts-backport-natty''' (linux-image-generic-lts-backport-natty is an alternative if you don't have &amp;gt; 4GB memory). That pulls in a 2.6.38 kernel backported from Natty, which is required for the updated intel video driver (version 2.15) to work. It also contains an updated e1000e driver for your network card, which does not work with the Lucid kernels. Make sure you install the kernel AFTER upgrading libdrm (which is provided by [https://launchpad.net/~glasen/+archive/intel-driver intel-driver PPA from glasen], or run ''update-initramfs -u -k all''). Otherwise the new libdrm will not be loaded and the xorg driver will not work.&lt;br /&gt;
&lt;br /&gt;
You have to reboot to load the new kernel.&lt;br /&gt;
&lt;br /&gt;
Just for reference here are the version of the critical packages I have tested:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux-image-generic-pae-lts-backport-natty 2.6.38.8.18&lt;br /&gt;
xserver-xorg-video-intel 2:2.15.0~lucid~ppa4&lt;br /&gt;
libdrm-intel1 2.4.25~glasen~lucid~ppa1&lt;br /&gt;
libdrm2 2.4.25~glasen~lucid~ppa1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have compiz enabled, you might experience a hanging machine after logging in. If you are running Gnome, you can disable compiz on the terminal (before logging in using the GUI) by editing ''~/.gconf/desktop/gnome/session/required_components/%gconf.xml'' and replacing compiz with ''metacity''.&lt;br /&gt;
&lt;br /&gt;
== Wireless Lucid Kernel ==&lt;br /&gt;
In order to get wireless to work with the Lucid kernel (it did not connect to any AP on my {{X220}} machine and could not upgrade because the Ethernet did not work either), you have to pass the parameter ''11n_disable=0'' to the iwlagn module. Simply do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As an alternative you can create the file ''/etc/modprobe.d/intel-5300-iwlagn-disable11n.conf'' with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then reload the wireless driver:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I had to do that a few times, before it worked.&lt;br /&gt;
[[Category:Ubuntu 10.04]]&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51673</id>
		<title>Installing Ubuntu 10.04 (Lucid Lynx) on a ThinkPad X220</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51673"/>
		<updated>2011-06-01T11:46:33Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: /* Kernel &amp;amp; Graphics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kernel &amp;amp; Graphics ==&lt;br /&gt;
In order to get an intel video driver to recognise the new Sandybridge, you have to add the [https://launchpad.net/~xorg-edgers/+archive/ppa edgers ppa], update all package (this pulls in a new xorg version) and then install '''linux-image-generic-pae-lts-backport-maverick''' (exchange ''generic-pae'' for your preferred flavour/architecture). That pulls in a 2.6.35 kernel backported from Maverick, which is required for the updated intel video driver to work. It also contains an updated e1000e driver for your network card, which does not work with the Lucid kernels.&lt;br /&gt;
&lt;br /&gt;
You have to reboot to load the new kernel.&lt;br /&gt;
&lt;br /&gt;
If you have compiz enabled, you might experience a hanging machine after logging in. If you are running Gnome, you can disable compiz on the terminal (before logging in using the GUI) by editing ''~/.gconf/desktop/gnome/session/required_components/%gconf.xml'' and replacing compiz with ''metacity''.&lt;br /&gt;
&lt;br /&gt;
== Wireless Lucid Kernel ==&lt;br /&gt;
In order to get wireless to work with the Lucid kernel (it did not connect to any AP on my {{X220}} machine and could not upgrade because the Ethernet did not work either), you have to pass the parameter ''11n_disable=0'' to the iwlagn module. Simply do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As an alternative you can create the file ''/etc/modprobe.d/intel-5300-iwlagn-disable11n.conf'' with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then reload the wireless driver:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I had to do that a few times, before it worked.&lt;br /&gt;
[[Category:Ubuntu 10.04]]&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51672</id>
		<title>Installing Ubuntu 10.04 (Lucid Lynx) on a ThinkPad X220</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51672"/>
		<updated>2011-06-01T11:45:51Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kernel &amp;amp; Graphics ==&lt;br /&gt;
In order to get an intel video driver to recognise the new Sandybridge, you have to add the [https://launchpad.net/~xorg-edgers/+archive/ppa edgers ppa], update all package (this pulls in a new xorg version) and then install '''linux-image-generic-pae-lts-backport-maverick''' (exchange ''generic-pae'' for your preferred flavour/architecture). That pulls in a 2.6.35 kernel backported from Maverick, which is required for the updated intel video driver to work. It also contains an updated e1000e driver for your network card, which does not work with the Lucid kernels.&lt;br /&gt;
&lt;br /&gt;
You have to reboot to load the new kernel.&lt;br /&gt;
&lt;br /&gt;
If you have compiz enabled, you might experience a hanging machine after logging in. If you are running Gnome, you can disable compiz by editing ''~/.gconf/desktop/gnome/session/required_components/%gconf.xml'' and replacing compiz with ''metacity''.&lt;br /&gt;
&lt;br /&gt;
== Wireless Lucid Kernel ==&lt;br /&gt;
In order to get wireless to work with the Lucid kernel (it did not connect to any AP on my {{X220}} machine and could not upgrade because the Ethernet did not work either), you have to pass the parameter ''11n_disable=0'' to the iwlagn module. Simply do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As an alternative you can create the file ''/etc/modprobe.d/intel-5300-iwlagn-disable11n.conf'' with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then reload the wireless driver:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I had to do that a few times, before it worked.&lt;br /&gt;
[[Category:Ubuntu 10.04]]&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51671</id>
		<title>Installing Ubuntu 10.04 (Lucid Lynx) on a ThinkPad X220</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51671"/>
		<updated>2011-06-01T10:28:10Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wireless ==&lt;br /&gt;
In order to get wireless to work (it did not connect to any AP on my {{X220}} machine), you have to create the file ''/etc/modprobe.d/intel-5300-iwlagn-disable11n.conf'' with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then reload the wireless driver:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:Ubuntu 10.04]]&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51670</id>
		<title>Installing Ubuntu 10.04 (Lucid Lynx) on a ThinkPad X220</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51670"/>
		<updated>2011-06-01T10:27:14Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wireless ==&lt;br /&gt;
In order to get wireless to work (it did not connect to any AP on my machine), you have to create the file ''/etc/modprobe.d/intel-5300-iwlagn-disable11n.conf'' with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then reload the wireless driver:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:X220]]&lt;br /&gt;
[[Category:Ubuntu 10.04]]&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51669</id>
		<title>Installing Ubuntu 10.04 (Lucid Lynx) on a ThinkPad X220</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_X220&amp;diff=51669"/>
		<updated>2011-06-01T10:26:16Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: â†Created page with '== Wireless == In order to get wireless to work (it did not connect to any AP on my machine), you have to create the file ''/etc/modprobe.d/intel-5300-iwlagn-disable11n.co...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wireless ==&lt;br /&gt;
In order to get wireless to work (it did not connect to any AP on my machine), you have to create the file ''/etc/modprobe.d/intel-5300-iwlagn-disable11n.conf'' with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options iwlagn 11n_disable=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then reload the wireless driver:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe -r iwlagn&lt;br /&gt;
sudo modprobe iwlagn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:X220]]&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&amp;diff=49346</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=49346"/>
		<updated>2010-08-11T18:41:22Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: On ubuntu 10.04 grepping for product does not work, it's ATTRS{name} in that case&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; |Below are several ways of configuring the kernel psmouse driver for controlling extended TrackPoint features.&lt;br /&gt;
|}&lt;br /&gt;
On a '''Modern''' distribution (like Fedora, Ubuntu or OpenSUSE) you will want to use xinput or one of the graphical front ends. For distributions that are lagging a bit (e.g. Debian Lenny and PCLOS '09) you may still want to use the old xorg config method.&lt;br /&gt;
&lt;br /&gt;
=Configuration using xinput=&lt;br /&gt;
If you want to modify changes on the fly, you can do so with {{cmd|xinput|}} (part of the optional xorg-x11-apps rpm on Fedora).&lt;br /&gt;
Note that these changes are not saved when the xserver is restarted. However, you can add the lines e.g. in your  {{cmd|.xsessionrc|}} (depends on your distribution) so they are executed every time X starts.&lt;br /&gt;
&lt;br /&gt;
To query the available options&lt;br /&gt;
 xinput list-props &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
&lt;br /&gt;
More information can be found in the man-pages for evdev&lt;br /&gt;
 man evdev&lt;br /&gt;
&lt;br /&gt;
To enable vertical scrolling&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
&lt;br /&gt;
To enable horizontal scrolling in addition to vertical scrolling&lt;br /&gt;
&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To enable middle button emulation (using left- and right-click simultaneously)&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Timeout&amp;quot; 8 50&lt;br /&gt;
&lt;br /&gt;
==Example: openSUSE 11.2 and ThinkPad USB Keyboard with TrackPoint ==&lt;br /&gt;
&lt;br /&gt;
 xinput list &lt;br /&gt;
will show two &amp;quot;Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint.&amp;quot; with two different ids. Use the id with Axis 0 and Axis 1 items.&lt;br /&gt;
&lt;br /&gt;
Suppose the id was 12. The following will enable the trackpoint scrolling:&lt;br /&gt;
&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
&lt;br /&gt;
The following will enable the horizontal scrolling&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To disable middle button click paste functionality, remap the middle button to something else:&lt;br /&gt;
 xmodmap -e &amp;quot;pointer = 1 9 3 4 5 6 7 8 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To do these automatically without worrying about id number, generate a bash script file:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 xinput list | sed -ne 's/^[^ ][^V].*id=\([0-9]*\).*/\1/p' | while read id&lt;br /&gt;
 do&lt;br /&gt;
         case `xinput list-props $id` in&lt;br /&gt;
         *&amp;quot;Middle Button Emulation&amp;quot;*)&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Middle Button Emulation&amp;quot; 8 0&lt;br /&gt;
                 ;;&lt;br /&gt;
         esac&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # disable middle button &lt;br /&gt;
 xmodmap -e &amp;quot;pointer = 1 9 3 4 5 6 7 8 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and save it with any name such as trackPointScrolling.sh, and make it executable:&lt;br /&gt;
 chmod +x trackPointScrolling.sh&lt;br /&gt;
&lt;br /&gt;
Next time you run it with $ ./trackPointScrolling.sh, it will enable the trackpoint scrolling and disable middle button paste.&lt;br /&gt;
{{Todo|some other examples}}&lt;br /&gt;
&lt;br /&gt;
= Graphical Frontends =&lt;br /&gt;
If you are using GNOME, you might want to use [http://live.gnome.org/GPointingDeviceSettings GPointing Device Settings] or [http://tpctl.sourceforge.net/configure-trackpoint.html configure-trackpoint] as a graphical frontends.&lt;br /&gt;
=== GPointing Device Settings ===&lt;br /&gt;
It is available for Fedora 12, Ubuntu 9.10 and Debian Squeeze in the standard package repositories&lt;br /&gt;
&lt;br /&gt;
[[image:Screenshot-GPointing Device Settings-TrackPoint.png]]&lt;br /&gt;
&lt;br /&gt;
=== configure-trackpoint ===&lt;br /&gt;
To install it in Ubuntu run ...&lt;br /&gt;
 sudo apt-get install sysfsutils&lt;br /&gt;
...and then download and install the deb [http://sourceforge.net/projects/tpctl/ here]. Note that saved settings are not restored after reboot in Lucid Lynx. See methods below to make settings permanent.&lt;br /&gt;
&lt;br /&gt;
= Configuration using DevKit =&lt;br /&gt;
Most recent distributions like Ubuntu 9.10 switch from HAL (being deprecated) to DevKit. Hence, the HAL configurations explained underneath, fail to work. &lt;br /&gt;
&lt;br /&gt;
The easiest way to configure your touchpad and trackpoint with DevKit is by using the [http://live.gnome.org/GPointingDeviceSettings GPointingDeviceSettings] panel that fully supports the hardware. You can easily download the panel by installing {{cmd| gpointing-device-settings|}}. On Ubuntu open a terminal and execute the command {{cmduser| sudo apt-get install gpointing-device-settings}}&lt;br /&gt;
&lt;br /&gt;
Launch the UI through the {{cmduser| gpointing-device-settings}} command, but you can also add a menu entry to your System / Preferences menu for easier access to the UI panel.&lt;br /&gt;
&lt;br /&gt;
= Configuration using udev and HAL =&lt;br /&gt;
Modern distributions like Ubuntu 8.10 and Fedora 10 use udev and HAL to configure the input devices. You should no longer make changes to xorg.conf as by default Xorg (through the evdev driver) will let the kernel now handle input devices.&lt;br /&gt;
&lt;br /&gt;
But before you get started on this you should make sure you have all the updates applied from your distro vendor as both Ubuntu 8.10 and Fedora 10 require some additional fixes that you will need.&lt;br /&gt;
&lt;br /&gt;
=== Scrolling ===&lt;br /&gt;
By default the middle mouse button is that, a middle mouse button, which in Linux is used for the Paste operation.&lt;br /&gt;
&lt;br /&gt;
But you can configure it to act in the same way as in Windows, such that you can use it for vertical scrolling (keep the button pressed and move the TrackPoint up and down to scroll). &lt;br /&gt;
&lt;br /&gt;
==== xorg.conf.d ====&lt;br /&gt;
&lt;br /&gt;
Some distributions now support the new Xorg hotplug configuration method via xorg.conf.d directories (in Ubuntu 10.04 Lucid Lynx) instead of hal. In contrast to the udev method below, it should be around for some time, so it might be the best way to “statically” configure scrolling.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/usr/lib/X11/xorg.conf.d/20-thinkpad.conf}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
	Identifier	&amp;quot;Trackpoint Wheel Emulation&amp;quot;&lt;br /&gt;
	MatchProduct	&amp;quot;TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint&amp;quot;&lt;br /&gt;
	MatchDevicePath	&amp;quot;/dev/input/event*&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;
	Option		&amp;quot;Emulate3Buttons&amp;quot;	&amp;quot;false&amp;quot;&lt;br /&gt;
	Option		&amp;quot;XAxisMapping&amp;quot;		&amp;quot;6 7&amp;quot;&lt;br /&gt;
	Option		&amp;quot;YAxisMapping&amp;quot;		&amp;quot;4 5&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If the above does not work for you, you may need to add a different MatchProduct string.  Use &amp;lt;pre&amp;gt;find /dev/input/event* -exec udevadm info --attribute-walk --name={} \; | grep -e product -e name | sort -u&amp;lt;/pre&amp;gt; to get a list of possibilities.}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If the above directory doesn't exist by default in your distribution, it probably doesn't support this method. In this case, please refer to the udev or xinput method below.}}&lt;br /&gt;
&lt;br /&gt;
==== udev ====&lt;br /&gt;
&lt;br /&gt;
Now that Xorg doesn't use the configuration from hal (in Debian unstable starting january 2010), the only way to “statically” configure scrolling in trackpoint is udev. (for other people, xinput method, works fine). This method will be gone (_again_) in not too long so it might be a better idea to use xinput way. YMMV.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/etc/udev/rules.d/99_trackpoint.rules}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
KERNEL!=&amp;quot;event*&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{ID_PATH}!=&amp;quot;platform-i8042-serio-1&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{x11_options.EmulateWheel}=&amp;quot;1&amp;quot;&lt;br /&gt;
ENV{x11_options.EmulateWheelButton}=&amp;quot;2&amp;quot;&lt;br /&gt;
ENV{x11_options.XAxisMapping}=&amp;quot;6 7&amp;quot;&lt;br /&gt;
ENV{x11_options.Emulate3Buttons}=&amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
LABEL=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart udev then Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The ID_PATH used in the example above is a typical value.  To determine the ID_PATH appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==== Hal (soon to be deprecated) ====&lt;br /&gt;
&lt;br /&gt;
To accomplish this create the file {{path|/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.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;
If you also want to have horizontal scrolling, simply add the following XAxisMapping option to the above&lt;br /&gt;
&amp;lt;pre&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;/pre&amp;gt;&lt;br /&gt;
After this reboot, or restart the hal service and Xorg. You can validate the settings with {{cmd|lshal|}}.&lt;br /&gt;
&lt;br /&gt;
In some models (eg: X301 and X200 since Jan 10 2010 on debian sid) you may have to use &amp;quot;PS/2 Generic Mouse&amp;quot; instead of &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;. Have a look to your input devices typing &amp;lt;code&amp;gt;lshal|grep input.product&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Alternatively it is also possible to use the &amp;quot;old&amp;quot; Xorg configuration by adding the following lines to the {{path|/etc/X11/xorg.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
	Option 	&amp;quot;AutoAddDevices&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using this entry HAL will not be used for the input devices.&lt;br /&gt;
&lt;br /&gt;
====Reactivate Scrolling after suspend/resume====&lt;br /&gt;
Scrolling may be disabled after a resume from suspend. &lt;br /&gt;
&lt;br /&gt;
You can manually reactivate the trackpoint by reloading the {{path|psmouse}} module as root:&lt;br /&gt;
:{{cmdroot|rmmod psmouse &amp;amp;&amp;amp; modprobe psmouse}}&lt;br /&gt;
&lt;br /&gt;
You can automatically force the pm-utils to reload this module.&lt;br /&gt;
Create a file {{path|/etc/pm/config.d/01reload_mouse}} as root with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# reload psmouse to reactivate trackpoint scrolling&lt;br /&gt;
SUSPEND_MODULES=&amp;quot;${SUSPEND_MODULES:+$SUSPEND_MODULES }psmouse&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuring other options (e.g. Press to select, Sensitivity and Speed)===&lt;br /&gt;
&amp;lt;!--HAL wasn't made to configure sysfs settings, so we'll use udev instead --&amp;gt;&lt;br /&gt;
Create a file {{path|/etc/udev/rules.d/10-trackpoint.rules}} and add a line to suit your needs&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, ATTR{press_to_select}=&amp;quot;1&amp;quot;, ATTR{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Testing udev  with {{cmdroot|udevadm test /sys/devices/platform/i8042/serio1}} should apply the new changes.  All of the settings listed [[How to configure the TrackPoint#Sysfs_Options_Reference|below]] can be specified here as part of a comma separated list.&lt;br /&gt;
The customized values should be loaded automatically when booting. However, due to a [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549379  kernel bug] (affecting Lucid Lynx), the attributes may not yet exist when the udev rule fires. As a work around, add a WAIT_FOR condition on the attribute&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, WAIT_FOR=&amp;quot;/sys/devices/platform/i8042/serio1/serio2/sensitivity&amp;quot;, ATTR{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Configuration using sysfs=&lt;br /&gt;
Another way to modify changes on the fly, is echoing values directly into special files in sysfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|&lt;br /&gt;
The examples shown below are valid for ThinkPads with both TrackPoint and Touchpad, in which case the sysfs path is {{path|/sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
If however you have a ThinkPad without Touchpad, or with the Touchpad disabled in the BIOS, the sysfs path needs to be changed to {{path|/sys/devices/platform/i8042/serio1}} instead (notice the missing serio2 at the end).}}&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;
===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/serio1/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/serio1/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/serio1/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/serio1/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/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 8.10 to make Press to Select a permanent change:&lt;br /&gt;
&lt;br /&gt;
echo -n 1 | tee /sys/devices/platform/i8042/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
As root, append the above command above &amp;quot;exit 0&amp;quot; in /etc/gdm/Init/Default&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/serio1/serio2/speed}}&lt;br /&gt;
:{{cmdroot|echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio1/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.  In Ubuntu 9.10, add the lines to /etc/rc.local to avoid this.&lt;br /&gt;
&lt;br /&gt;
===Vertical Scrolling===&lt;br /&gt;
No sysfs entry exists for vertical scrolling in kernels after 2.6.11.&lt;br /&gt;
&lt;br /&gt;
The feature was removed as it was not a hardware feature, but rather emulating a scroll action in software and as such did not belong in the kernel.&lt;br /&gt;
Instead the scroll feature of the Xserver should be used, which can be activated with HAL or xinput as described above.&lt;br /&gt;
&lt;br /&gt;
=Configuration using the X server (xorg.conf)=&lt;br /&gt;
==Using the &amp;quot;evdev&amp;quot; driver (preferred, especially for recent Xorg versions)==&lt;br /&gt;
Extract from /etc/X11/xorg.conf on an X31:&lt;br /&gt;
&lt;br /&gt;
    Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
        Driver     &amp;quot;evdev&amp;quot;&lt;br /&gt;
        Option     &amp;quot;Device&amp;quot; &amp;quot;/dev/input/by-path/platform-i8042-serio-1-event-mouse&amp;quot;&lt;br /&gt;
        Option     &amp;quot;GrabDevice&amp;quot; &amp;quot;False&amp;quot;&lt;br /&gt;
        Option     &amp;quot;EmulateWheel&amp;quot; &amp;quot;true&amp;quot; #Enable wheel emulation for the Trackpoint&lt;br /&gt;
        Option     &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot; #Use the middle button for the emulation&lt;br /&gt;
        Option     &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot; #Map trackpoint X axis to X axis of emulated wheel&lt;br /&gt;
        Option     &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot; #Map trackpoint Y axis to Y axis of emulated wheel&lt;br /&gt;
    EndSection&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The device path used in the example above is a typical value.  To determine the device path appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==Using the &amp;quot;mouse&amp;quot; driver (deprecated, only for old Xorg versions)==&lt;br /&gt;
{{NOTE|This only applies to old distributions with Xorg versions that did not yet use evdev. For modern distributions use one of the other methods}}&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;
=Application specific tweaks=&lt;br /&gt;
===Configure Opera for using trackpoint horizontal scrolling===&lt;br /&gt;
To fix horizontal scrolling in Opera, 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/ui/ (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;
===Firefox 3 tweaks===&lt;br /&gt;
These settings make Firefox on Linux behave more like the Windows version. They were tested on an out of the box Fedora 10 system on a Thinkpad T61.  Go into about:config, and set the following:&lt;br /&gt;
&lt;br /&gt;
 middlemouse.paste = false&lt;br /&gt;
 middlemouse.contentLoadURL = false&lt;br /&gt;
 general.autoScroll = true&lt;br /&gt;
&lt;br /&gt;
=Sysfs Options Reference=&lt;br /&gt;
{{NOTE|These options are current as of kernel version 2.6.29, 3 May 2009}}&lt;br /&gt;
{| &lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Type&lt;br /&gt;
! Default&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| sensitivity&lt;br /&gt;
| Integer&lt;br /&gt;
| 128&lt;br /&gt;
| Sensitivity&lt;br /&gt;
|-&lt;br /&gt;
| speed&lt;br /&gt;
| Integer&lt;br /&gt;
| 97&lt;br /&gt;
| Cursor speed&lt;br /&gt;
|-&lt;br /&gt;
| inertia&lt;br /&gt;
| Integer&lt;br /&gt;
| 6&lt;br /&gt;
| Described as &amp;quot;negative inertia.&amp;quot;  It acts more like friction.  High values cause the cursor to snap backward when the Trackpoint is released&lt;br /&gt;
|-&lt;br /&gt;
| reach&lt;br /&gt;
| Integer&lt;br /&gt;
| 10&lt;br /&gt;
| Backup for Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| draghys&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Drag hysteresis (how hard it is to drag with Z-axis pressed)&lt;br /&gt;
|-&lt;br /&gt;
| mindrag&lt;br /&gt;
| Integer&lt;br /&gt;
| 20&lt;br /&gt;
| Minimum amount of force needed to trigger dragging&lt;br /&gt;
|-&lt;br /&gt;
| thresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 8&lt;br /&gt;
| Minimum value for a Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| upthresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Used to generate a 'click' on Z-axis&lt;br /&gt;
|-&lt;br /&gt;
| ztime&lt;br /&gt;
| Integer&lt;br /&gt;
| 38&lt;br /&gt;
| How sharp of a press&lt;br /&gt;
|-&lt;br /&gt;
| jenks&lt;br /&gt;
| Integer&lt;br /&gt;
| 135&lt;br /&gt;
| Minimum curvature for double click&lt;br /&gt;
|-&lt;br /&gt;
| press_to_select&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Press to select&lt;br /&gt;
|-&lt;br /&gt;
| skipback&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Supress movement after drag release &lt;br /&gt;
|-&lt;br /&gt;
| ext_dev&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Disable external device&lt;br /&gt;
|}&lt;br /&gt;
Table info taken from [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/mouse/trackpoint.h;hb=HEAD here].  The given link will always point to the current version of the driver.  If the notes seem sparse, that's because the code is sparse.  On the other hand, the [http://wwwcssrv.almaden.ibm.com/trackpoint/files/ykt3eext.pdf Trackpoint Engineering Specification Version 4.0] &amp;lt;!--if this link breaks, I recommend a quick Google search for &amp;quot;trackpoint version 4 engineering specifications&amp;quot; --&amp;gt; contains more documentation information than anyone ever desired.&lt;br /&gt;
&lt;br /&gt;
=Determining TrackPoint Path ID=&lt;br /&gt;
Both the [[#udev|udev]] and [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration methods require knowledge of the Path ID of the TrackPoint.  In the [[#udev|udev]] configuration method, the Path ID is used to match the ID_PATH environmental variable, in the [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration method it is the prefix for the device file name inside the {{path|/dev/input/by-id}} directory.  The path ID can vary between ThinkPad models, distributions (with varying kernel patches), and between kernel versions.  One way to find the path ID for the TrackPoint is to use udev's path_id utility on the sysfs device path for the TrackPoint.  This device path can be found using the {{path|name}} file which describes the TrackPoint.  The process can be automated using the following shell command:&lt;br /&gt;
 /lib/udev/path_id $(find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/sys\(.*\)\/name/\1/')&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_an_X61_Tablet&amp;diff=36564</id>
		<title>Installing Ubuntu 7.04 (Feisty Fawn) on an X61 Tablet</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_an_X61_Tablet&amp;diff=36564"/>
		<updated>2008-02-24T13:57:42Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: /* Suspend and Hibernate */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can get Linux running pretty smoothly on this machine. I will simply repeat the steps I used to get my tablet working, some of these steps might be superfluous. Please edit, if some of the steps are unneccessary. I expect Gutsy Gibbon installs to be much smoother, when the system comes out in October... &lt;br /&gt;
&lt;br /&gt;
===Helpful Guides===&lt;br /&gt;
A helpful guide for me was http://luke.no-ip.org/x60tablet/&lt;br /&gt;
&lt;br /&gt;
===Feisty v. Gutsy===&lt;br /&gt;
I have gotten the computer to work well with both Feisty and Gutsy Tribe 4 and 5. If you install Feisty, you will have to upgrade to the 2.6.22 kernel to get all the drivers to work. I would advise using Gutsy, as it makes everything easier to set up (with drivers). The 2.6.23 kernel, once it officially comes out, should *probably* make this laptop an out-of-the-box machine. (the 2.6.23 kernel has plans to include the graphics, sound, and wireless drivers for this machine by default)&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
These are issues that I have run into and have not resolved yet. None of them are 'show stoppers' in my book. If you have a fix, please add how to resolve the issue on this page (preferrably in the respective how-to section..)&lt;br /&gt;
&lt;br /&gt;
*Screen rotation with 3D acceleration. Both screen rotation (through xrandr) and 3d acceleration work independantly, however a rotated screen crashes when you try to run a 3d application. &lt;br /&gt;
*ALSA sound glitch when rotating to tablet mode. For some reason rotating to tablet mode from laptop mode causes the sound to cut out. Sound works otherwise.&lt;br /&gt;
*Brightness auto-adjust on Gutsy. Brightness auto adjust cannot determine what level to stay at, and indefinitely adjusts up and down. Pressing the brightness keys fixes this. See launchpad for the official bug '''Already fixed in Gutsy'''&lt;br /&gt;
&lt;br /&gt;
===Actual installation===&lt;br /&gt;
***Works in both Feisty and Gutsy&lt;br /&gt;
&lt;br /&gt;
The trickiest part about actually installing Ubuntu on this machine is that there is no CD drive. If you've shelled out the $200 for the 'ultrabase' then you can just pop the CD in that, and procede normally. I had to install via a pendrive. Instructions on how to do this are at &lt;br /&gt;
&lt;br /&gt;
http://www.pendrivelinux.com/2007/02/12/usb-ubuntu-tutorial-for-linux-users/&lt;br /&gt;
&lt;br /&gt;
*On my machine, and with my particular USB drive, I found that it was difficult get power to the USB drive in a normal boot process. I had to enter the BIOS (F1 during power on), configure the USB HDD to be first boot choice, and then enable the POST memory check (extended boot?, I think it was called). Then I had to insert the USB drive during the memory check, and make sure the light on the USB came on in order to get it to boot from the installer. Hopefully most  people won't have this problem, but I did, so if you have problems getting the drive to be seen, make sure the USB is getting powered.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Graphics Card===&lt;br /&gt;
***Feisty&lt;br /&gt;
The X3100 with an Intel GMA965 runs Compiz Fusion very nicely, once the proper drivers are installed. The 'i810' driver that is installed by default with Feisty does not support the X3100, but there are newer drivers (simply named 'intel') that do support it. Source is available from http://www.intellinuxgraphics.org/. Unfortunately, installing on the stock kernel (2.6.18, if I remember) does not work with these drivers, as agpgart is incorrectly registered. I upgraded to 2.6.22 and the drivers work nicely. Here's the walkthrough...&lt;br /&gt;
&lt;br /&gt;
*Install the new kernel&lt;br /&gt;
&lt;br /&gt;
 # gedit /etc/apt/sources.list&lt;br /&gt;
Add the Gutsy repositories&lt;br /&gt;
 # deb http://archive.ubuntu.com/ubuntu gutsy main restricted universe multiverse&lt;br /&gt;
 # deb-src http://security.ubuntu.com/ubuntu gutsy main restricted universe multiverse&lt;br /&gt;
Save and exit gedit&lt;br /&gt;
&lt;br /&gt;
Install the new kernel&lt;br /&gt;
 # apt-get update&lt;br /&gt;
 # apt-get install linux-image-2.6.22-9-generic linux-ubuntu-modules-2.6.22-9-generic linux-backports-modules-2.6.22-9-generic linux-headers-2.6.22-9 linux-headers-2.6.22-9-generic  linux-restricted-modules-2.6.22-9-generic &lt;br /&gt;
&lt;br /&gt;
Reboot. Make sure to select the new kernel in GRUB when you turn on the computer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install the graphics card drivers from the repositories&lt;br /&gt;
 # sudo apt-get install xserver-xorg-video-intel xserver-xorg libgl1-mesa-dri libgl1-mesa-glx libglu1-mesa mesa-utils&lt;br /&gt;
&lt;br /&gt;
Let X11 know to use the Intel drivers&lt;br /&gt;
 # gedit /etc/X11/xorg.conf&lt;br /&gt;
&lt;br /&gt;
Change&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
         Identifier      &amp;quot;Generic Video Card&amp;quot;&lt;br /&gt;
         Driver          &amp;quot;vesa&amp;quot;&lt;br /&gt;
         BusID           &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
         Identifier      &amp;quot;Generic Video Card&amp;quot;&lt;br /&gt;
         Driver          &amp;quot;intel&amp;quot;&lt;br /&gt;
         BusID           &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reboot&lt;br /&gt;
&lt;br /&gt;
***Gutsy&lt;br /&gt;
3d acceleration works out of the box, but I had to compile compiz fusion and awm from source to get them to work. If I find time, I'll make a deb for both....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Solving the Weird Resolution Problems===&lt;br /&gt;
***Applies to both Feisty and Gutsy&lt;br /&gt;
When you reboot into the new drivers, it seems that X defaults to the graphics card's 'TV' output instead of the 'LVDS' option as it should. This will cause X to be confused about where the screen edges are, and in general make everything weird. This can be corrected in one of two ways&lt;br /&gt;
&lt;br /&gt;
*Solution 1:&lt;br /&gt;
Everytime you log in, enter this command&lt;br /&gt;
 # xrandr --output TV --off&lt;br /&gt;
&lt;br /&gt;
*Solution 2: &lt;br /&gt;
Edit xorg.conf to automatically correct this problem. Note that this will cause xrandr (which you may want to use for screen rotation) to fail when you try to use it.&lt;br /&gt;
&lt;br /&gt;
add this to the device section &lt;br /&gt;
 &lt;br /&gt;
 Option &amp;quot;monitor-TV&amp;quot; &amp;quot;TVOutput&amp;quot;&lt;br /&gt;
 Option  &amp;quot;CacheLines&amp;quot;    &amp;quot;32768&amp;quot;&lt;br /&gt;
 Option  &amp;quot;TripleBuffer&amp;quot;  &amp;quot;true&amp;quot;&lt;br /&gt;
 Option  &amp;quot;DRI&amp;quot;   &amp;quot;true&amp;quot;&lt;br /&gt;
 Option  &amp;quot;PageFlip&amp;quot;      &amp;quot;true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add this at the bottom &lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
     Identifier &amp;quot;TVOutput&amp;quot;&lt;br /&gt;
     Option &amp;quot;Disable&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
save and exit, restart X&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installing compiz fusion===&lt;br /&gt;
***Feisty&lt;br /&gt;
Basically, I followed the instructions at&lt;br /&gt;
http://fosswire.com/2007/07/11/how-to-compiz-fusion-on-ubuntu-704-feisty-fawn/&lt;br /&gt;
&lt;br /&gt;
The line about adding the GPG keys is malformed, copying and pasting won't work. Use this command&lt;br /&gt;
 # gpg --keyserver subkeys.pgp.net --recv-keys 81836EBF&lt;br /&gt;
 # gpg --export --armor 81836EBF | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
***Gutsy&lt;br /&gt;
I had to compile from source. This is a kinda long process, and you have to have programming/compiling skills, but it definitely works well if you can do it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There you go! Now you have a visually gorgeous system running :-D! All the effects run very smoothly for me, I was very pleased with this integrated card's performance... (no stuttering for even complex effects like explode or airplane)&lt;br /&gt;
&lt;br /&gt;
===Wireless=== &lt;br /&gt;
This essential laptop feature will definitely work. The intel ABG card has drivers, guides should abound as to how to install it. (if anyone has time, put how you got it to work here) I purchased the newer AGN card, and this is how I installed the new drivers. &lt;br /&gt;
&lt;br /&gt;
Walkthough for newbies :-)&lt;br /&gt;
&lt;br /&gt;
download these:&lt;br /&gt;
http://intellinuxwireless.org/mac80211/downloads/mac80211-8.0.2.tgz&lt;br /&gt;
http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-4965-ucode-4.44.17.tgz&lt;br /&gt;
http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-1.0.0.tgz&lt;br /&gt;
&lt;br /&gt;
extract them&lt;br /&gt;
&lt;br /&gt;
prepare the build environment&lt;br /&gt;
 # sudo mkdir /lib/firmware/$(uname -r)&lt;br /&gt;
 # sudo ln -s /usr/src/linux-headers-$(uname -r) /lib/modules/$(uname -r)/source&lt;br /&gt;
&lt;br /&gt;
make everything&lt;br /&gt;
&lt;br /&gt;
 # cd mac80211-8.0.2&lt;br /&gt;
 # sudo make patch_kernel&lt;br /&gt;
&lt;br /&gt;
 # cd ../iwlwifi-1.0.0&lt;br /&gt;
 # make&lt;br /&gt;
 # sudo make install&lt;br /&gt;
&lt;br /&gt;
 # cd ../iwlwifi-4965-ucode-4.44.17&lt;br /&gt;
 # sudo cp iwlwifi-4965.ucode /lib/firmware/$(uname -r)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, Load the modules&lt;br /&gt;
 sudo modprobe mac80211&lt;br /&gt;
 sudo modprobe iwl4965&lt;br /&gt;
&lt;br /&gt;
You should have wifi now!&lt;br /&gt;
&lt;br /&gt;
Thanks goes to rye_ of ubuntuforums! &lt;br /&gt;
&lt;br /&gt;
They work pretty well, I've only noticed them being flaky once.&lt;br /&gt;
&lt;br /&gt;
===Wacom===&lt;br /&gt;
We bought this machine largely for the tablet abilities, and the pen works out of the box! Yay! The side button automatically maps to scrollwheel-pressed-down, but you can remap it to right click if you want. Eraser also works. &lt;br /&gt;
&lt;br /&gt;
===Tablet-Specific Applications===&lt;br /&gt;
We're tablet users and we have special needs! Here are some apps I found these apps indespensible&lt;br /&gt;
&lt;br /&gt;
Jot.&lt;br /&gt;
When I placed my order for my tablet, Lenovo said I had a full month wait til it arrived. I filled the time writing a handwriting recognition app for Linux. My goal is to allow for full sentence or full word recognition. As of 8/20/2007, its still in alpha testing, but I should have a pretty good release mid-September to early October. Source is available from http://bazaar.launchpad.net/~kdub432/jot/trunk. You need libfakekey0, gtkmm-2.4-dev, libcairomm-1.0-dev installed so the makefile will work...&lt;br /&gt;
&lt;br /&gt;
Onestroke.&lt;br /&gt;
This program will recognize a single character at a time pretty well. Its written by Michael Levin, and is in pretty usuable condition. Onestroke can be found at&lt;br /&gt;
http://www.paperaffinity.com/risujin/onestroke.php&lt;br /&gt;
&lt;br /&gt;
Xournal&lt;br /&gt;
A journal clone, that is great for taking notes. Fully functional, an all-around great app.&lt;br /&gt;
 #apt-get install xournal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[CellWriter]]'''&lt;br /&gt;
&lt;br /&gt;
CellWriter is a grid-entry natural handwriting input panel. As you write characters into the cells, your writing is instantly recognized at the character level. When you press Enter on the panel, the input you entered is sent to the currently focused application as if typed on the keyboard.&lt;br /&gt;
&lt;br /&gt;
GoK warning!!! Running GoK on Feisty screwed up some things for me. It may be that I was just too lazy to fix my dependancies, but I was real ticked at how it installed itself when I was running Feisty. Use the default Ubuntu program onboard ('onboard' from a terminal) if you want an onscreen keyboard&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
Sound does not work out of the box, with Gutsy or Feisty, but the mercurial/cvs alsa drivers do have support. This issue was extremely hard to track down, and requires some advanced knowledge. I will provide a short walkthrough to give some guidance.&lt;br /&gt;
&lt;br /&gt;
Step 1 Setup a fundamental build environment&lt;br /&gt;
 # sudo apt-get install mercurial build-essential libncurses5-dev python2.5 automake libtool&lt;br /&gt;
 # sudo mkdir /usr/src/alsa&lt;br /&gt;
 # cd /usr/src/alsa&lt;br /&gt;
&lt;br /&gt;
(This was taken just from memory, if you get errors about something not being installed, just install whatever it complains about...)&lt;br /&gt;
&lt;br /&gt;
Next, get latest alsa drivers&lt;br /&gt;
 # sudo hg clone http://hg.alsa-project.org/alsa-driver alsa-driver&lt;br /&gt;
 # sudo hg clone http://hg.alsa-project.org/alsa-kernel alsa-kernel&lt;br /&gt;
 # sudo hg clone http://hg.alsa-project.org/alsa-lib alsa-lib&lt;br /&gt;
 # sudo hg clone http://hg.alsa-project.org/alsa-utils alsa-utils&lt;br /&gt;
&lt;br /&gt;
Install everything&lt;br /&gt;
 # cd alsa-driver&lt;br /&gt;
 # sudo ./cvscompile --with-cards=all --with-card-options=all    (Nota Bene, this makes all the drivers. do more research if you just want the intel ones ;-D)&lt;br /&gt;
 # sudo make install&lt;br /&gt;
 # cd ../alsa-lib&lt;br /&gt;
 # sudo ./cvscompile&lt;br /&gt;
 # sudo make install&lt;br /&gt;
 # cd ../alsa-utils&lt;br /&gt;
 # sudo ./cvscompile&lt;br /&gt;
 # sudo make install&lt;br /&gt;
&lt;br /&gt;
Phew, that was tough. Its not over yet though, you've gotta edit some configuration files&lt;br /&gt;
 sudo nano /etc/modprobe.d/alsa-base&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and add this to the bottom,&lt;br /&gt;
&lt;br /&gt;
 options snd-hda-intel model=thinkpad&lt;br /&gt;
&lt;br /&gt;
Save, exit and reboot.&lt;br /&gt;
&lt;br /&gt;
THIS IS VERY IMPORTANT! IT TOOK ME 5+ HOURS TO FIGURE THIS OUT ON MY OWN!&lt;br /&gt;
&lt;br /&gt;
YOU MUST HAVE BIOS SET TO FACTORY INSTALL (for the most part)&lt;br /&gt;
&lt;br /&gt;
Certain BIOS options seem to break these drivers! I'm not sure which, but the factory settings work fine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On next login, you should have sound. If you don't, make sure nothing is muted in alsaconf/alsamixer. &lt;br /&gt;
Also, make sure your login name is in the 'audio' or 'users' groups.&lt;br /&gt;
&lt;br /&gt;
Alright, you have sound now! Yay! &lt;br /&gt;
&lt;br /&gt;
Both headphones and speakers work, theres a switch on a tab in the gnome panel audio adjustment properties that turns either on/off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note! It has been brought to my attention that an ubuntu developer has compiled packages for these drivers. I have not tested these yet and cannot ensure that they will work, although there are people on this site who have reported sucess using these packages&lt;br /&gt;
https://bugs.launchpad.net/ubuntu/+bug/122560&lt;br /&gt;
&lt;br /&gt;
For what it's worth, I installed Ubuntu 7.10 on my new X61 tablet and sound worked (almost) out of the box.  The bugs I see are that the built-in volume control buttons are mapped to the microphone channel instead of the speaker channel, and there's an issue with XMMS not being able to share the sound channel with Firefox (though maybe that's a wider issue than the X61tablet).&lt;br /&gt;
&lt;br /&gt;
===Keyboard and Buttons===&lt;br /&gt;
You should have no trouble with getting the main 105 keys to work. &lt;br /&gt;
&lt;br /&gt;
Some of the Fn buttons work, some don't. I'm still wading through ways to get these to work, but they're not super-high on my priority list. If you find ways, feel free to post :-)....&lt;br /&gt;
&lt;br /&gt;
Screen Buttons. &lt;br /&gt;
The D-pad will work, but by default maps to weird values. Add &lt;br /&gt;
 setkeycodes 6f 108 &lt;br /&gt;
 setkeycodes 71 103 &lt;br /&gt;
 setkeycodes 6e 105 &lt;br /&gt;
 setkeycodes 6d 106 &lt;br /&gt;
&lt;br /&gt;
to /etc/rc.local to make the D-pad work like your keyboard arrow keys. The middle button is 'Enter'&lt;br /&gt;
&lt;br /&gt;
The other buttons also work. I have not mapped them to anything specific yet, but in a real terminal (no X environment), you can use the showkey command and setkeycodes to map the other 4 buttons to whatever you want. More instructions on this will follow once I decide what I want to use these 4 buttons for&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Suspend and Hibernate===&lt;br /&gt;
The default Ubuntu suspend and resume cycle causes a kernel panic. I got my computer to flawlessly suspend and resume by installing pm-utils&lt;br /&gt;
 sudo apt-get install pm-utils&lt;br /&gt;
&lt;br /&gt;
then you can suspend using the command&lt;br /&gt;
 sudo pm-suspend --quirk-s3-bios --quirk-s3-mode&lt;br /&gt;
&lt;br /&gt;
I'm content with suspend working, but if anyone figures out hibernate, let me know :-D&lt;br /&gt;
&lt;br /&gt;
Works for Gutsy (please confirm for Feisty): In order to make the quirk settings the default for your machine, apply the following patch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--- /usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-lenovo.fdi.orig      2007-10-08 13:35:45.000000000 +0200&lt;br /&gt;
+++ /usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-lenovo.fdi  2008-01-20 11:16:58.000000000 +0100&lt;br /&gt;
@@ -2,6 +2,11 @@&lt;br /&gt;
 &amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;device&amp;gt;&lt;br /&gt;
     &amp;lt;match key=&amp;quot;system.hardware.vendor&amp;quot; string=&amp;quot;LENOVO&amp;quot;&amp;gt;&lt;br /&gt;
+      &amp;lt;!-- X61t 7767 96U--&amp;gt;&lt;br /&gt;
+      &amp;lt;match key=&amp;quot;system.hardware.product&amp;quot; prefix=&amp;quot;776796U&amp;quot;&amp;gt;&lt;br /&gt;
+        &amp;lt;merge key=&amp;quot;power_management.quirk.s3_bios&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
+        &amp;lt;merge key=&amp;quot;power_management.quirk.s3_mode&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
+      &amp;lt;/match&amp;gt;&lt;br /&gt;
       &amp;lt;!-- X60 / X60s --&amp;gt;&lt;br /&gt;
       &amp;lt;match key=&amp;quot;system.hardware.product&amp;quot; prefix=&amp;quot;1702&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;merge key=&amp;quot;power_management.quirk.s3_bios&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Make sure you adjust the prefix=&amp;quot;776796U&amp;quot; to match your particular model, using the output from the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lshal |grep system.hardware.product&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You have to reboot your machine to make the changes permanent (restarting hal should actually be sufficient, but was not on my system). After that, gnome should be able to suspend/resume your system without crashing the machine or leaving the video backlight off. The only issue left on my system is that NetworkManager hangs after a resume, but that is easily solved by creating the following script in /etc/pm/sleep.d/01NetworkManagerRestart and making it executable by 'sudo chmod +x /etc/pm/sleep.d/01NetworkManagerRestart':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
case $1 in&lt;br /&gt;
    hibernate)&lt;br /&gt;
        ;;&lt;br /&gt;
    suspend)&lt;br /&gt;
        ;;&lt;br /&gt;
    thaw)&lt;br /&gt;
        ;;&lt;br /&gt;
    resume)&lt;br /&gt;
        /bin/sh -c 'sleep 3;modprobe -r ipw3945;modprobe ipw3945;' &amp;amp;&lt;br /&gt;
        ;;&lt;br /&gt;
    *)  echo &amp;quot;somebody is calling me totally wrong.&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other x61 install guides on the web ==&lt;br /&gt;
* http://bayleshanks.com/tips-computer-lenovoX61t-gnuLinuxSetup (feel free to integrate the content on that page into this wiki -- Bayle)&lt;br /&gt;
&lt;br /&gt;
[[Category:X61 Tablet]]&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_an_X61_Tablet&amp;diff=36140</id>
		<title>Installing Ubuntu 7.04 (Feisty Fawn) on an X61 Tablet</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_an_X61_Tablet&amp;diff=36140"/>
		<updated>2008-01-20T10:28:21Z</updated>

		<summary type="html">&lt;p&gt;Fhackenberger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can get Linux running pretty smoothly on this machine. I will simply repeat the steps I used to get my tablet working, some of these steps might be superfluous. Please edit, if some of the steps are unneccessary. I expect Gutsy Gibbon installs to be much smoother, when the system comes out in October... &lt;br /&gt;
&lt;br /&gt;
===Helpful Guides===&lt;br /&gt;
A helpful guide for me was http://luke.no-ip.org/x60tablet/&lt;br /&gt;
&lt;br /&gt;
===Feisty v. Gutsy===&lt;br /&gt;
I have gotten the computer to work well with both Feisty and Gutsy Tribe 4 and 5. If you install Feisty, you will have to upgrade to the 2.6.22 kernel to get all the drivers to work. I would advise using Gutsy, as it makes everything easier to set up (with drivers). The 2.6.23 kernel, once it officially comes out, should *probably* make this laptop an out-of-the-box machine. (the 2.6.23 kernel has plans to include the graphics, sound, and wireless drivers for this machine by default)&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
These are issues that I have run into and have not resolved yet. None of them are 'show stoppers' in my book. If you have a fix, please add how to resolve the issue on this page (preferrably in the respective how-to section..)&lt;br /&gt;
&lt;br /&gt;
*Screen rotation with 3D acceleration. Both screen rotation (through xrandr) and 3d acceleration work independantly, however a rotated screen crashes when you try to run a 3d application. &lt;br /&gt;
*ALSA sound glitch when rotating to tablet mode. For some reason rotating to tablet mode from laptop mode causes the sound to cut out. Sound works otherwise.&lt;br /&gt;
*Brightness auto-adjust on Gutsy. Brightness auto adjust cannot determine what level to stay at, and indefinitely adjusts up and down. Pressing the brightness keys fixes this. See launchpad for the official bug '''Already fixed in Gutsy'''&lt;br /&gt;
&lt;br /&gt;
===Actual installation===&lt;br /&gt;
***Works in both Feisty and Gutsy&lt;br /&gt;
&lt;br /&gt;
The trickiest part about actually installing Ubuntu on this machine is that there is no CD drive. If you've shelled out the $200 for the 'ultrabase' then you can just pop the CD in that, and procede normally. I had to install via a pendrive. Instructions on how to do this are at &lt;br /&gt;
&lt;br /&gt;
http://www.pendrivelinux.com/2007/02/12/usb-ubuntu-tutorial-for-linux-users/&lt;br /&gt;
&lt;br /&gt;
*On my machine, and with my particular USB drive, I found that it was difficult get power to the USB drive in a normal boot process. I had to enter the BIOS (F1 during power on), configure the USB HDD to be first boot choice, and then enable the POST memory check (extended boot?, I think it was called). Then I had to insert the USB drive during the memory check, and make sure the light on the USB came on in order to get it to boot from the installer. Hopefully most  people won't have this problem, but I did, so if you have problems getting the drive to be seen, make sure the USB is getting powered.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Graphics Card===&lt;br /&gt;
***Feisty&lt;br /&gt;
The X3100 with an Intel GMA965 runs Compiz Fusion very nicely, once the proper drivers are installed. The 'i810' driver that is installed by default with Feisty does not support the X3100, but there are newer drivers (simply named 'intel') that do support it. Source is available from http://www.intellinuxgraphics.org/. Unfortunately, installing on the stock kernel (2.6.18, if I remember) does not work with these drivers, as agpgart is incorrectly registered. I upgraded to 2.6.22 and the drivers work nicely. Here's the walkthrough...&lt;br /&gt;
&lt;br /&gt;
*Install the new kernel&lt;br /&gt;
&lt;br /&gt;
 # gedit /etc/apt/sources.list&lt;br /&gt;
Add the Gutsy repositories&lt;br /&gt;
 # deb http://archive.ubuntu.com/ubuntu gutsy main restricted universe multiverse&lt;br /&gt;
 # deb-src http://security.ubuntu.com/ubuntu gutsy main restricted universe multiverse&lt;br /&gt;
Save and exit gedit&lt;br /&gt;
&lt;br /&gt;
Install the new kernel&lt;br /&gt;
 # apt-get update&lt;br /&gt;
 # apt-get install linux-image-2.6.22-9-generic linux-ubuntu-modules-2.6.22-9-generic linux-backports-modules-2.6.22-9-generic linux-headers-2.6.22-9 linux-headers-2.6.22-9-generic  linux-restricted-modules-2.6.22-9-generic &lt;br /&gt;
&lt;br /&gt;
Reboot. Make sure to select the new kernel in GRUB when you turn on the computer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install the graphics card drivers from the repositories&lt;br /&gt;
 # sudo apt-get install xserver-xorg-video-intel xserver-xorg libgl1-mesa-dri libgl1-mesa-glx libglu1-mesa mesa-utils&lt;br /&gt;
&lt;br /&gt;
Let X11 know to use the Intel drivers&lt;br /&gt;
 # gedit /etc/X11/xorg.conf&lt;br /&gt;
&lt;br /&gt;
Change&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
         Identifier      &amp;quot;Generic Video Card&amp;quot;&lt;br /&gt;
         Driver          &amp;quot;vesa&amp;quot;&lt;br /&gt;
         BusID           &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
         Identifier      &amp;quot;Generic Video Card&amp;quot;&lt;br /&gt;
         Driver          &amp;quot;intel&amp;quot;&lt;br /&gt;
         BusID           &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reboot&lt;br /&gt;
&lt;br /&gt;
***Gutsy&lt;br /&gt;
3d acceleration works out of the box, but I had to compile compiz fusion and awm from source to get them to work. If I find time, I'll make a deb for both....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Solving the Weird Resolution Problems===&lt;br /&gt;
***Applies to both Feisty and Gutsy&lt;br /&gt;
When you reboot into the new drivers, it seems that X defaults to the graphics card's 'TV' output instead of the 'LVDS' option as it should. This will cause X to be confused about where the screen edges are, and in general make everything weird. This can be corrected in one of two ways&lt;br /&gt;
&lt;br /&gt;
*Solution 1:&lt;br /&gt;
Everytime you log in, enter this command&lt;br /&gt;
 # xrandr --output TV --off&lt;br /&gt;
&lt;br /&gt;
*Solution 2: &lt;br /&gt;
Edit xorg.conf to automatically correct this problem. Note that this will cause xrandr (which you may want to use for screen rotation) to fail when you try to use it.&lt;br /&gt;
&lt;br /&gt;
add this to the device section &lt;br /&gt;
 &lt;br /&gt;
 Option &amp;quot;monitor-TV&amp;quot; &amp;quot;TVOutput&amp;quot;&lt;br /&gt;
 Option  &amp;quot;CacheLines&amp;quot;    &amp;quot;32768&amp;quot;&lt;br /&gt;
 Option  &amp;quot;TripleBuffer&amp;quot;  &amp;quot;true&amp;quot;&lt;br /&gt;
 Option  &amp;quot;DRI&amp;quot;   &amp;quot;true&amp;quot;&lt;br /&gt;
 Option  &amp;quot;PageFlip&amp;quot;      &amp;quot;true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add this at the bottom &lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
     Identifier &amp;quot;TVOutput&amp;quot;&lt;br /&gt;
     Option &amp;quot;Disable&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
save and exit, restart X&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installing compiz fusion===&lt;br /&gt;
***Feisty&lt;br /&gt;
Basically, I followed the instructions at&lt;br /&gt;
http://fosswire.com/2007/07/11/how-to-compiz-fusion-on-ubuntu-704-feisty-fawn/&lt;br /&gt;
&lt;br /&gt;
The line about adding the GPG keys is malformed, copying and pasting won't work. Use this command&lt;br /&gt;
 # gpg --keyserver subkeys.pgp.net --recv-keys 81836EBF&lt;br /&gt;
 # gpg --export --armor 81836EBF | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
***Gutsy&lt;br /&gt;
I had to compile from source. This is a kinda long process, and you have to have programming/compiling skills, but it definitely works well if you can do it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There you go! Now you have a visually gorgeous system running :-D! All the effects run very smoothly for me, I was very pleased with this integrated card's performance... (no stuttering for even complex effects like explode or airplane)&lt;br /&gt;
&lt;br /&gt;
===Wireless=== &lt;br /&gt;
This essential laptop feature will definitely work. The intel ABG card has drivers, guides should abound as to how to install it. (if anyone has time, put how you got it to work here) I purchased the newer AGN card, and this is how I installed the new drivers. &lt;br /&gt;
&lt;br /&gt;
Walkthough for newbies :-)&lt;br /&gt;
&lt;br /&gt;
download these:&lt;br /&gt;
http://intellinuxwireless.org/mac80211/downloads/mac80211-8.0.2.tgz&lt;br /&gt;
http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-4965-ucode-4.44.17.tgz&lt;br /&gt;
http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-1.0.0.tgz&lt;br /&gt;
&lt;br /&gt;
extract them&lt;br /&gt;
&lt;br /&gt;
prepare the build environment&lt;br /&gt;
 # sudo mkdir /lib/firmware/$(uname -r)&lt;br /&gt;
 # sudo ln -s /usr/src/linux-headers-$(uname -r) /lib/modules/$(uname -r)/source&lt;br /&gt;
&lt;br /&gt;
make everything&lt;br /&gt;
&lt;br /&gt;
 # cd mac80211-8.0.2&lt;br /&gt;
 # sudo make patch_kernel&lt;br /&gt;
&lt;br /&gt;
 # cd ../iwlwifi-1.0.0&lt;br /&gt;
 # make&lt;br /&gt;
 # sudo make install&lt;br /&gt;
&lt;br /&gt;
 # cd ../iwlwifi-4965-ucode-4.44.17&lt;br /&gt;
 # sudo cp iwlwifi-4965.ucode /lib/firmware/$(uname -r)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, Load the modules&lt;br /&gt;
 sudo modprobe mac80211&lt;br /&gt;
 sudo modprobe iwl4965&lt;br /&gt;
&lt;br /&gt;
You should have wifi now!&lt;br /&gt;
&lt;br /&gt;
Thanks goes to rye_ of ubuntuforums! &lt;br /&gt;
&lt;br /&gt;
They work pretty well, I've only noticed them being flaky once.&lt;br /&gt;
&lt;br /&gt;
===Wacom===&lt;br /&gt;
We bought this machine largely for the tablet abilities, and the pen works out of the box! Yay! The side button automatically maps to scrollwheel-pressed-down, but you can remap it to right click if you want. Eraser also works. &lt;br /&gt;
&lt;br /&gt;
===Tablet-Specific Applications===&lt;br /&gt;
We're tablet users and we have special needs! Here are some apps I found these apps indespensible&lt;br /&gt;
&lt;br /&gt;
Jot.&lt;br /&gt;
When I placed my order for my tablet, Lenovo said I had a full month wait til it arrived. I filled the time writing a handwriting recognition app for Linux. My goal is to allow for full sentence or full word recognition. As of 8/20/2007, its still in alpha testing, but I should have a pretty good release mid-September to early October. Source is available from http://bazaar.launchpad.net/~kdub432/jot/trunk. You need libfakekey0, gtkmm-2.4-dev, libcairomm-1.0-dev installed so the makefile will work...&lt;br /&gt;
&lt;br /&gt;
Onestroke.&lt;br /&gt;
This program will recognize a single character at a time pretty well. Its written by Michael Levin, and is in pretty usuable condition. Onestroke can be found at&lt;br /&gt;
http://www.paperaffinity.com/risujin/onestroke.php&lt;br /&gt;
&lt;br /&gt;
Xournal&lt;br /&gt;
A journal clone, that is great for taking notes. Fully functional, an all-around great app.&lt;br /&gt;
 #apt-get install xournal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[CellWriter]]'''&lt;br /&gt;
&lt;br /&gt;
CellWriter is a grid-entry natural handwriting input panel. As you write characters into the cells, your writing is instantly recognized at the character level. When you press Enter on the panel, the input you entered is sent to the currently focused application as if typed on the keyboard.&lt;br /&gt;
&lt;br /&gt;
GoK warning!!! Running GoK on Feisty screwed up some things for me. It may be that I was just too lazy to fix my dependancies, but I was real ticked at how it installed itself when I was running Feisty. Use the default Ubuntu program onboard ('onboard' from a terminal) if you want an onscreen keyboard&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
Sound does not work out of the box, with Gutsy or Feisty, but the mercurial/cvs alsa drivers do have support. This issue was extremely hard to track down, and requires some advanced knowledge. I will provide a short walkthrough to give some guidance.&lt;br /&gt;
&lt;br /&gt;
Step 1 Setup a fundamental build environment&lt;br /&gt;
 # sudo apt-get install mercurial build-essential libncurses5-dev python2.5 automake libtool&lt;br /&gt;
 # sudo mkdir /usr/src/alsa&lt;br /&gt;
 # cd /usr/src/alsa&lt;br /&gt;
&lt;br /&gt;
(This was taken just from memory, if you get errors about something not being installed, just install whatever it complains about...)&lt;br /&gt;
&lt;br /&gt;
Next, get latest alsa drivers&lt;br /&gt;
 # sudo hg clone http://hg.alsa-project.org/alsa-driver alsa-driver&lt;br /&gt;
 # sudo hg clone http://hg.alsa-project.org/alsa-kernel alsa-kernel&lt;br /&gt;
 # sudo hg clone http://hg.alsa-project.org/alsa-lib alsa-lib&lt;br /&gt;
 # sudo hg clone http://hg.alsa-project.org/alsa-utils alsa-utils&lt;br /&gt;
&lt;br /&gt;
Install everything&lt;br /&gt;
 # cd alsa-driver&lt;br /&gt;
 # sudo ./cvscompile --with-cards=all --with-card-options=all    (Nota Bene, this makes all the drivers. do more research if you just want the intel ones ;-D)&lt;br /&gt;
 # sudo make install&lt;br /&gt;
 # cd ../alsa-lib&lt;br /&gt;
 # sudo ./cvscompile&lt;br /&gt;
 # sudo make install&lt;br /&gt;
 # cd ../alsa-utils&lt;br /&gt;
 # sudo ./cvscompile&lt;br /&gt;
 # sudo make install&lt;br /&gt;
&lt;br /&gt;
Phew, that was tough. Its not over yet though, you've gotta edit some configuration files&lt;br /&gt;
 sudo nano /etc/modprobe.d/alsa-base&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and add this to the bottom,&lt;br /&gt;
&lt;br /&gt;
 options snd-hda-intel model=thinkpad&lt;br /&gt;
&lt;br /&gt;
Save, exit and reboot.&lt;br /&gt;
&lt;br /&gt;
THIS IS VERY IMPORTANT! IT TOOK ME 5+ HOURS TO FIGURE THIS OUT ON MY OWN!&lt;br /&gt;
&lt;br /&gt;
YOU MUST HAVE BIOS SET TO FACTORY INSTALL (for the most part)&lt;br /&gt;
&lt;br /&gt;
Certain BIOS options seem to break these drivers! I'm not sure which, but the factory settings work fine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On next login, you should have sound. If you don't, make sure nothing is muted in alsaconf/alsamixer. &lt;br /&gt;
Also, make sure your login name is in the 'audio' or 'users' groups.&lt;br /&gt;
&lt;br /&gt;
Alright, you have sound now! Yay! &lt;br /&gt;
&lt;br /&gt;
Both headphones and speakers work, theres a switch on a tab in the gnome panel audio adjustment properties that turns either on/off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note! It has been brought to my attention that an ubuntu developer has compiled packages for these drivers. I have not tested these yet and cannot ensure that they will work, although there are people on this site who have reported sucess using these packages&lt;br /&gt;
https://bugs.launchpad.net/ubuntu/+bug/122560&lt;br /&gt;
&lt;br /&gt;
For what it's worth, I installed Ubuntu 7.10 on my new X61 tablet and sound worked (almost) out of the box.  The bugs I see are that the built-in volume control buttons are mapped to the microphone channel instead of the speaker channel, and there's an issue with XMMS not being able to share the sound channel with Firefox (though maybe that's a wider issue than the X61tablet).&lt;br /&gt;
&lt;br /&gt;
===Keyboard and Buttons===&lt;br /&gt;
You should have no trouble with getting the main 105 keys to work. &lt;br /&gt;
&lt;br /&gt;
Some of the Fn buttons work, some don't. I'm still wading through ways to get these to work, but they're not super-high on my priority list. If you find ways, feel free to post :-)....&lt;br /&gt;
&lt;br /&gt;
Screen Buttons. &lt;br /&gt;
The D-pad will work, but by default maps to weird values. Add &lt;br /&gt;
 setkeycodes 6f 108 &lt;br /&gt;
 setkeycodes 71 103 &lt;br /&gt;
 setkeycodes 6e 105 &lt;br /&gt;
 setkeycodes 6d 106 &lt;br /&gt;
&lt;br /&gt;
to /etc/rc.local to make the D-pad work like your keyboard arrow keys. The middle button is 'Enter'&lt;br /&gt;
&lt;br /&gt;
The other buttons also work. I have not mapped them to anything specific yet, but in a real terminal (no X environment), you can use the showkey command and setkeycodes to map the other 4 buttons to whatever you want. More instructions on this will follow once I decide what I want to use these 4 buttons for&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Suspend and Hibernate===&lt;br /&gt;
The default Ubuntu suspend and resume cycle causes a kernel panic. I got my computer to flawlessly suspend and resume by installing pm-utils&lt;br /&gt;
 sudo apt-get install pm-utils&lt;br /&gt;
&lt;br /&gt;
then you can suspend using the command&lt;br /&gt;
 sudo pm-suspend --quirk-s3-bios --quirk-s3-mode&lt;br /&gt;
&lt;br /&gt;
I'm content with suspend working, but if anyone figures out hibernate, let me know :-D&lt;br /&gt;
&lt;br /&gt;
Works for Gutsy (please confirm for Feisty): In order to make the quirk settings the default for your machine, apply the following patch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--- /usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-lenovo.fdi.orig      2007-10-08 13:35:45.000000000 +0200&lt;br /&gt;
+++ /usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-lenovo.fdi  2008-01-20 11:16:58.000000000 +0100&lt;br /&gt;
@@ -2,6 +2,11 @@&lt;br /&gt;
 &amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;device&amp;gt;&lt;br /&gt;
     &amp;lt;match key=&amp;quot;system.hardware.vendor&amp;quot; string=&amp;quot;LENOVO&amp;quot;&amp;gt;&lt;br /&gt;
+      &amp;lt;!-- X61t 7767 96U--&amp;gt;&lt;br /&gt;
+      &amp;lt;match key=&amp;quot;system.hardware.product&amp;quot; prefix=&amp;quot;776796U&amp;quot;&amp;gt;&lt;br /&gt;
+        &amp;lt;merge key=&amp;quot;power_management.quirk.s3_bios&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
+        &amp;lt;merge key=&amp;quot;power_management.quirk.s3_mode&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
+      &amp;lt;/match&amp;gt;&lt;br /&gt;
       &amp;lt;!-- X60 / X60s --&amp;gt;&lt;br /&gt;
       &amp;lt;match key=&amp;quot;system.hardware.product&amp;quot; prefix=&amp;quot;1702&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;merge key=&amp;quot;power_management.quirk.s3_bios&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Make sure you adjust the prefix=&amp;quot;776796U&amp;quot; to match your particular model, using the output from the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lshal |grep system.hardware.product&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You have to reboot your machine to make the changes permanent (restarting hal should actually be sufficient, but was not on my system). After that, gnome should be able to suspend/resume your system without crashing the machine or leaving the video backlight off. The only issue left on my system is that NetworkManager hangs after a resume, but that is easily solved with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo killall NetworkManager&lt;br /&gt;
sudo /etc/dbus-1/event.d/25NetworkManager start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other x61 install guides on the web ==&lt;br /&gt;
* http://bayleshanks.com/tips-computer-lenovoX61t-gnuLinuxSetup (feel free to integrate the content on that page into this wiki -- Bayle)&lt;br /&gt;
&lt;br /&gt;
[[Category:X61 Tablet]]&lt;/div&gt;</summary>
		<author><name>Fhackenberger</name></author>
		
	</entry>
</feed>