Difference between revisions of "Talk:How to configure the TrackPoint"

From ThinkWiki
Jump to: navigation, search
(press to select: new mouse button: new section)
(shifting /sys-paths)
 
(13 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 +
==== Enable/disable touchpad ====
 +
As for now, the 3 buttons are disabled when you disable the touchpad. The patch provided at [[UltraNav]] correct this.
 +
 +
Another problem is the back-forward buttons that are also associated to the touchpad as button1 and button2. Another hack to alps.c can resolve this problem, but its too much of a bad hack to be approved in kernel as it might break other devices.
 +
The following patch assign the 3 mouse buttons to the trackpoint (as with the above one) and the back-forward buttons as well. They will be reported as Button8 and Button9 by xorg, imitating the behavior of my Intellimouse explorer, and making them available when the track point is disabled. http://pastebin.com/fa8ed909
 +
 +
Now to enable/disable the trackpoint easily, make sure the fn-f8 key is recognized by xorg (using xev). For sl (300 at least) models, it involves building the lenovo-sl-laptop module (http://github.com/tetromino/lenovo-sl-laptop/tree/master, archlinux package availible in AUR).
 +
 +
This script (http://pastebin.com/f157355d6) allow easy switching between active/inactive state. It uses the synaptic X11 driver. A notification is sent using kdialog, you can change that of course.
 +
Now execute this script on key event. For kde, go to input actions.
 +
 +
[[User:cghislai]]
 +
 
==== /sys-configuration files ====
 
==== /sys-configuration files ====
 
where can i find documentation of the other files (thresh, upthresh, skipback, reach, inertia...)? [[User:Blerp|Blerp]] 01:01, 9 March 2007 (CET)
 
where can i find documentation of the other files (thresh, upthresh, skipback, reach, inertia...)? [[User:Blerp|Blerp]] 01:01, 9 March 2007 (CET)
Line 4: Line 17:
  
 
==== shifting /sys-paths ====
 
==== shifting /sys-paths ====
 +
2010-10-21
 +
On Thinkpad R61 with kernel 2.6.35 (Ubuntu 10.10), the path is changing after every suspend. Its form is
 +
{{path|/sys/devices/platform/i8042/serio1/serio<N>}}
 +
where N is increasing by one. I use the following script to find it:
 +
 +
#!/bin/sh
 +
 +
T=`find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint`
 +
SERIO_DIR="${T%/*/*/name}"
 +
 +
sudo sh -c "echo -n 180 > $SERIO_DIR/speed"
 +
sudo sh -c "echo -n 180 > $SERIO_DIR/sensitivity"
 +
 +
This, however, does not work in an udev rule.
 +
 
2007-03-13
 
2007-03-13
 
On my Thinkpad R60 with kernel 2.6.20, the path is {{path|/sys/devices/platform/i8042/serio1/serio2}}.
 
On my Thinkpad R60 with kernel 2.6.20, the path is {{path|/sys/devices/platform/i8042/serio1/serio2}}.
Line 51: Line 79:
  
 
Now I have Intrepid with the new X.org running. I could not find any source how to configure press to select with this X.org version. Can anybody help? Samba
 
Now I have Intrepid with the new X.org running. I could not find any source how to configure press to select with this X.org version. Can anybody help? Samba
 +
 +
I found out it still work the old way, even with new X.org, for kubuntu jaunty the correct way of doing this is:
 +
"echo -n 1| sudo tee /sys/devices/platform/i8042/serio1/press_to_select"
  
 
==== No mouse in {{Fedora}} Core 6 ====
 
==== No mouse in {{Fedora}} Core 6 ====
Line 86: Line 117:
  
 
is it possible to put the z axis button (aka pressing the stick) on another x mouse button (and, further on, set EmulateWheelButton to that button)? i use all three buttons both for clicking and dragging and lack a scroll wheel; having the mouse send scroll events when z axis button is pressed instead of moving the mouse would provide that without damaging the other buttons' functionalities. --[[User:Webograph|Webograph]] 12:58, 4 March 2009 (UTC)
 
is it possible to put the z axis button (aka pressing the stick) on another x mouse button (and, further on, set EmulateWheelButton to that button)? i use all three buttons both for clicking and dragging and lack a scroll wheel; having the mouse send scroll events when z axis button is pressed instead of moving the mouse would provide that without damaging the other buttons' functionalities. --[[User:Webograph|Webograph]] 12:58, 4 March 2009 (UTC)
 +
 +
== outdated and broken ==
 +
 +
This document is severely outdated and broken. The path to the trackpoint configuration has changed many times, in fact the latest points to /sys/devices/platform/i8042/serio0/serio2 but on my T41 with Ubuntu 8.10 i8042/serio0 is the keyboard (makes sense), the trackpoint is instead located under i8042/serio1/serio2
 +
 +
Problem is that it is difficult to gauge which sections are still relevant
 +
 +
== Soft Transparent Mode ==
 +
 +
I removed the below section from the main article page, as there is no 'transparent' sysfs file on my ThinkPad T41 or ThinkPad T60. Which can mean that either the feature was removed from modern kernels, or it is unique to specific ThinkPads in which case this needs to be clarified.
 +
 +
If you wish to connect a special device to the external PS/2 port, you should consider using "Soft Transparent Mode" so that the TrackPoint controller does not interpret any commands sent to the external PS/2 port. You can enable soft transparent mode by typing the following in to a terminal:
 +
 +
:{{cmdroot|echo -n 1 > /sys/devices/platform/i8042/serio1/serio2/transparent}}
 +
 +
Disabling soft transparent mode is similar:
 +
 +
:{{cmdroot|echo -n 0 > /sys/devices/platform/i8042/serio1/serio2/transparent}}
 +
 +
== settings example ==
 +
 +
These are the best settings that i've found for the trackpoint
 +
(very usable for press-to-select and drag&drop):
 +
<pre>
 +
TRACK_DIR="/sys/devices/platform/i8042/serio1"
 +
 +
echo -n 1  > $TRACK_DIR/press_to_select
 +
echo -n 220 > $TRACK_DIR/sensitivity                                           
 +
echo -n 20  > $TRACK_DIR/ztime                                                 
 +
echo -n 4  > $TRACK_DIR/thresh                                               
 +
echo -n 8  > $TRACK_DIR/upthresh                                             
 +
echo -n 100 > $TRACK_DIR/resolution                                           
 +
echo -n 105 > $TRACK_DIR/speed                                                 
 +
echo -n 10  > $TRACK_DIR/mindrag
 +
</pre>
 +
 +
== Horizontal Scrolling in HAL ==
 +
 +
The current [[How to configure the TrackPoint#Configuration using udev and HAL|section]] talks about vertical scrolling and gives an example of an appropriate HAL policy file to enable it. According to [http://psung.blogspot.com/2008/09/scrolling-with-thinkpads-trackpoint-in.html this website], a small modification to the example .fdi file offers horizontal scrolling as well (and indeed it works for me too). Should I add this to the page?--[[User:RAult|RAult]] 09:30, 30 July 2009 (UTC)
 +
 +
Thanks, I have added it to the main page. --[[User:Tonko|Tonko]] 11:41, 31 July 2009 (UTC)
 +
 +
== Upcoming hotplug method: xorg.conf.d ==
 +
 +
Instead using the udev-method, the Ubuntu devs backported xorg.conf.d support for Ubuntu 10.04 Lucid Lynx. Just create a file '''/usr/lib/X11/xorg.conf.d/20-thinkpad.conf''' with following contents:
 +
<pre>
 +
Section "InputClass"
 +
Identifier "Trackpoint Wheel Emulation"
 +
MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint"
 +
MatchDevicePath "/dev/input/event*"
 +
Option "EmulateWheel" "true"
 +
Option "EmulateWheelButton" "2"
 +
Option "Emulate3Buttons" "false"
 +
Option "XAxisMapping" "6 7"
 +
Option "YAxisMapping" "4 5"
 +
EndSection
 +
</pre>--[[User:Jensel|jensel]] 13:01, 14 April 2010 (UTC)
 +
==xinput advice wrong==
 +
$ xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Timeout" 8 200
 +
X Error of failed request:  BadMatch (invalid parameter attributes)
 +
  Major opcode of failed request:  140 (XInputExtension)
 +
  Minor opcode of failed request:  57 ()
 +
  Serial number of failed request:  18
 +
  Current serial number in output stream:  19
 +
[[User:Jidanni|Jidanni]] 13:05, 11 July 2010 (UTC)
 +
 +
== To enable vertical scrolling: using what? ==
 +
 +
To enable vertical scrolling
 +
Say what we then push, and how long to make vertical scrolling a reality.
 +
[[User:Jidanni|Jidanni]] 13:12, 11 July 2010 (UTC)

Latest revision as of 22:24, 21 October 2010

Enable/disable touchpad

As for now, the 3 buttons are disabled when you disable the touchpad. The patch provided at UltraNav correct this.

Another problem is the back-forward buttons that are also associated to the touchpad as button1 and button2. Another hack to alps.c can resolve this problem, but its too much of a bad hack to be approved in kernel as it might break other devices. The following patch assign the 3 mouse buttons to the trackpoint (as with the above one) and the back-forward buttons as well. They will be reported as Button8 and Button9 by xorg, imitating the behavior of my Intellimouse explorer, and making them available when the track point is disabled. http://pastebin.com/fa8ed909

Now to enable/disable the trackpoint easily, make sure the fn-f8 key is recognized by xorg (using xev). For sl (300 at least) models, it involves building the lenovo-sl-laptop module (http://github.com/tetromino/lenovo-sl-laptop/tree/master, archlinux package availible in AUR).

This script (http://pastebin.com/f157355d6) allow easy switching between active/inactive state. It uses the synaptic X11 driver. A notification is sent using kdialog, you can change that of course. Now execute this script on key event. For kde, go to input actions.

User:cghislai

/sys-configuration files

where can i find documentation of the other files (thresh, upthresh, skipback, reach, inertia...)? Blerp 01:01, 9 March 2007 (CET)

I second that question. --Telofy 18:11, 31 December 2008 (CET)

shifting /sys-paths

2010-10-21 On Thinkpad R61 with kernel 2.6.35 (Ubuntu 10.10), the path is changing after every suspend. Its form is /sys/devices/platform/i8042/serio1/serio<N> where N is increasing by one. I use the following script to find it:

#!/bin/sh

T=`find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint`
SERIO_DIR="${T%/*/*/name}"

sudo sh -c "echo -n 180 > $SERIO_DIR/speed"
sudo sh -c "echo -n 180 > $SERIO_DIR/sensitivity"

This, however, does not work in an udev rule.

2007-03-13 On my Thinkpad R60 with kernel 2.6.20, the path is /sys/devices/platform/i8042/serio1/serio2.

On Fedora 5, with kernels 2.6.15 and forward, the path does not include serio2; it stops at serio0.

Same thing on a Ubuntu Dapper install on an X31, again with kernel 2.6.15 (maybe that's the reason? Piccobello 17:02, 26 November 2006 (CET)).

2006-07-18 On Fedora 5, with kernels 2.6.16 and forward, the path is /sys/devices/platform/i8042/serio0/serio2

2005-11-07 OpenSuSE 10.0 has a kernel based on 2.6.13 (probably heavily patched), but the directory /sys/devices/platform/i8042/serio0/serio2 does not exist. instead, it looks like this:

hoppetosse:/sys/devices/platform/i8042/serio0 # ls -l
total 0
-rw-r--r--  1 root root 4096 Nov  7 18:38 bind_mode
lrwxrwxrwx  1 root root    0 Nov  7 18:38 bus -> ../../../../bus/serio
-r--r--r--  1 root root 4096 Nov  7 18:38 description
lrwxrwxrwx  1 root root    0 Nov  7 18:38 driver -> ../../../../bus/serio/drivers/psmouse
--w-------  1 root root 4096 Nov  7 18:38 drvctl
drwxr-xr-x  2 root root    0 Nov  7 18:38 id
-r--r--r--  1 root root 4096 Nov  7 18:38 modalias
drwxr-xr-x  2 root root    0 Nov  7 18:38 power
-rw-r--r--  1 root root 4096 Nov  7 18:38 protocol
-rw-r--r--  1 root root 4096 Nov  7 18:38 rate
-rw-r--r--  1 root root 4096 Nov  7 18:38 resetafter
-rw-r--r--  1 root root 4096 Nov  7 18:38 resolution

"description" says it's an "i8042 Aux Port". The page Patch to enable advanced trackpoint configuration seems to imply that a kernel patch is needed in order to get those features... this needs clarification. hmm. where can i find out whether "drvctrl" is what i'm looking for and what options it takes? guess it's back to RTFS...

2005-10-06 It seems that new version of the patch ( 2.6.12 at least ), the press to select entry in /sys is named "press_to_select" and not "ptson". I changed the page accordingly so that it complies with the Patch to enable advanced trackpoint configuration page. If you use an older version try :

Press to Select

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):

# echo 1 > /sys/devices/platform/i8042/serio0/ptson

Press to Select should now be enabled. You can disable it in a similar manner:

# echo 0 > /sys/devices/platform/i8042/serio0/ptson

Where do I have to put this script (which should automate this), so that it is executed on startup (I have kubuntu (feisty) runing)? Samba

Now I have Intrepid with the new X.org running. I could not find any source how to configure press to select with this X.org version. Can anybody help? Samba

I found out it still work the old way, even with new X.org, for kubuntu jaunty the correct way of doing this is: "echo -n 1| sudo tee /sys/devices/platform/i8042/serio1/press_to_select"

No mouse in Fedora Core 6

FC6 makes an X11/xorg.conf file with no mouse section, so it's not clear how to make the TrackPoint work for scrolling. Any ideas? --Whizkid 17:36, 4 December 2006 (CET)

TrackPoint scrolling inverted in Firefox

Running Ubuntu Feisty, Firefox 2.0.0.3, I edited /etc/X11/xorg.conf like described in the article and set mousewheel.horizscroll.withnokey.action = 0; in Firefox. Scrolling works perfectly in other applications. Up-Down scrolling in Firefox, too, but right-left is inverted (only in Firefox). Does anybody have an idea why this could be? Tec 11:15, 30 March 2007 (CEST)

Yes: you have to configure mousewheel.horizscroll.withnokey.numlines as well. I have the value set to 1, but you may need to set it to -1. There is also a mousewheel.horizscroll.withnokey.sysnumlines setting, which you must set to false. --RichardNeill 03:22, 4 April 2007 (CEST)

Thanks a lot. mousewheel.horizscroll.withnokey.sysnumlines was set to false correctly, but mousewheel.horizscroll.withnokey.numlines was set to -1 as a standard setting. Switched to 1 and it works perfectly :-) BTW, is there a good explanation available in the net, what all those parameters of about:config mean? I searched for it and didn't find anything :-( Tec

Sensitivity and Speed settings under Gutsy Gibbon

Sensitivity and speed value editing seem broken in gutsy. Its no writeable even as root. Tools like configure-trackpoint do not start arguing a lack of root tights.

Hm, I just installed the deb 0.6-1 available at sourceforge and sudo configure-trackback works for me. Maybe you'd better ask in some forum or file a bug to find out why it's not working on your machine? Tec
I confirm that even root can not edit the config files with an editor (vim or nano). But the echo > file works fine.
# echo -n 120 > /sys/devices/platform/i8042/serio1/serio2/speed
I have put these echo in a script executed by root at bootime with a @reboot entry in the root's crontab. Should also work with a call to that script in /etc/bootmisc.sh
Ripat 10:20, 6 January 2008 (CET)
Same on my machine. Config files are not writable with an editor, but echo > file works. $ sudo configure-trackpoint works, too (sorry, I misspelled this before) Tec 16:00, 12 January 2008 (CET)

No scroll in Ubuntu 7.10 without UltraNav installed in Windows Vista

I could not get trackpoint scroll working in Ubuntu 7.10 (Gutsy Gibbon) on my Z61t using the xorg.conf modifications listed here until I installed the UltraNav Utility on Windows Vista (dual-boot configuration). Scrolling worked fine without the UltraNav utility and with just the UltraNav driver on Windows. It's weird to me that installing the UltraNav utility in Vista would have an effect on Ubuntu. (I know it's not a coincidence because I ran into it once before.) Any explanation for this strangeness? --Threexk 04:05, 18 February 2008 (CET)

press to select: new mouse button

is it possible to put the z axis button (aka pressing the stick) on another x mouse button (and, further on, set EmulateWheelButton to that button)? i use all three buttons both for clicking and dragging and lack a scroll wheel; having the mouse send scroll events when z axis button is pressed instead of moving the mouse would provide that without damaging the other buttons' functionalities. --Webograph 12:58, 4 March 2009 (UTC)

outdated and broken

This document is severely outdated and broken. The path to the trackpoint configuration has changed many times, in fact the latest points to /sys/devices/platform/i8042/serio0/serio2 but on my T41 with Ubuntu 8.10 i8042/serio0 is the keyboard (makes sense), the trackpoint is instead located under i8042/serio1/serio2

Problem is that it is difficult to gauge which sections are still relevant

Soft Transparent Mode

I removed the below section from the main article page, as there is no 'transparent' sysfs file on my ThinkPad T41 or ThinkPad T60. Which can mean that either the feature was removed from modern kernels, or it is unique to specific ThinkPads in which case this needs to be clarified.

If you wish to connect a special device to the external PS/2 port, you should consider using "Soft Transparent Mode" so that the TrackPoint controller does not interpret any commands sent to the external PS/2 port. You can enable soft transparent mode by typing the following in to a terminal:

# echo -n 1 > /sys/devices/platform/i8042/serio1/serio2/transparent

Disabling soft transparent mode is similar:

# echo -n 0 > /sys/devices/platform/i8042/serio1/serio2/transparent

settings example

These are the best settings that i've found for the trackpoint (very usable for press-to-select and drag&drop):

TRACK_DIR="/sys/devices/platform/i8042/serio1"

echo -n 1   > $TRACK_DIR/press_to_select
echo -n 220 > $TRACK_DIR/sensitivity                                            
echo -n 20  > $TRACK_DIR/ztime                                                  
echo -n 4   > $TRACK_DIR/thresh                                                 
echo -n 8   > $TRACK_DIR/upthresh                                               
echo -n 100 > $TRACK_DIR/resolution                                             
echo -n 105 > $TRACK_DIR/speed                                                  
echo -n 10  > $TRACK_DIR/mindrag

Horizontal Scrolling in HAL

The current section talks about vertical scrolling and gives an example of an appropriate HAL policy file to enable it. According to this website, a small modification to the example .fdi file offers horizontal scrolling as well (and indeed it works for me too). Should I add this to the page?--RAult 09:30, 30 July 2009 (UTC)

Thanks, I have added it to the main page. --Tonko 11:41, 31 July 2009 (UTC)

Upcoming hotplug method: xorg.conf.d

Instead using the udev-method, the Ubuntu devs backported xorg.conf.d support for Ubuntu 10.04 Lucid Lynx. Just create a file /usr/lib/X11/xorg.conf.d/20-thinkpad.conf with following contents:

Section "InputClass"
	Identifier	"Trackpoint Wheel Emulation"
	MatchProduct	"TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint"
	MatchDevicePath	"/dev/input/event*"
	Option		"EmulateWheel"		"true"
	Option		"EmulateWheelButton"	"2"
	Option		"Emulate3Buttons"	"false"
	Option		"XAxisMapping"		"6 7"
	Option		"YAxisMapping"		"4 5"
EndSection

--jensel 13:01, 14 April 2010 (UTC)

xinput advice wrong

$ xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Timeout" 8 200
X Error of failed request:  BadMatch (invalid parameter attributes)
 Major opcode of failed request:  140 (XInputExtension)
 Minor opcode of failed request:  57 ()
 Serial number of failed request:  18
 Current serial number in output stream:  19

Jidanni 13:05, 11 July 2010 (UTC)

To enable vertical scrolling: using what?

To enable vertical scrolling

Say what we then push, and how long to make vertical scrolling a reality. Jidanni 13:12, 11 July 2010 (UTC)