# How to configure Thinkpad T60 Touchpad and Trackpoint?



## aap (Aug 21, 2012)

Hi,
I have a Thinkpad T60 with Trackpoint and Touchpad, but I'm having trouble getting both to work how I want them. They work great on Arch Linux and Windows 7, only FreeBSD 9.0 is giving me trouble. I've googled and fiddled quite a bit but still couldn't get everything to work.

What I want is this: Trackpoint with high sensitivity, its three buttons working as buttons 1, 2 and 3. Touchpad with two finger scroll (and also quite high sensitivity); external usb mice should work too.

What's working is the touchpad (just how I want it) and USB mice; the trackpoing and its 3 buttons don't work at all in my current configuration, which looks like this (only relevant parts shown):


```
/boot/loader.conf:

hw.psm.synaptics_support="1"


        /etc/rc.local:

moused_enable="NO"


        /etc/X11/xorg.conf:

Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
	InputDevice    "Touchpad0" "SendCoreEvents"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/sysmouse"
	Option	    "ZAxisMapping" "4 5 6 7"
EndSection

Section "InputDevice"
	Identifier  "Touchpad0"
	Driver      "synaptics"
	Option	    "Device" "/dev/psm0"
	Option	    "Protocol" "psm"
	Option	    "SMHConfig" "on"

	Option	    "VertTwoFingerScroll" "on"
EndSection
```

Disabling hw.psm.synaptics_support results in a working touchpad + trackpoint (except the middle button) without synaptics support (which I need for two finger scrolling and adjustable sensitivity).

Enabling moused results in no mouse movement at all.

I just have no idea what to do - once I get one thing working, other things stop to work. I found a patch for psm.c somewhere that's supposed to add some functionality concerning the trackpoint, but I wanted to try to find a way without kernel patching first, and I hoped you guys could help me.

So if there is a way to get the trackpoint working, please tell me, otherwise I'll try the patch and see if it gets me anywhere.


----------



## aap (Aug 22, 2012)

*bump*
I've tried the patch [1], although I had to alter the source a bit (declarations seem to have changed) to make it compile.
The device probing failed, though, and I haven't got enough (i.e. none at all) knowledge in kernel hacking, the place it fails is this:

```
if (send_aux_command(kbdc, 0xe1) != PSM_ACK ||
	    read_aux_data(kbdc) != 0x01 ||
	    (id = read_aux_data(kbdc)) < 0x01)
		return (FALSE);
```
where "send_aux_command" returns PSM_RESEND instead of PSM_ACK. Since I have no idea, how the driver and device work, I'm not able to fix anything. Perhaps looking through the Linux source code could help, but as I said, I probably haven't got enough experience.

[1] http://lists.freebsd.org/pipermail/freebsd-bugs/2010-May/040099.html


----------



## aragats (Jan 12, 2013)

Hi folks,

Any luck with Touchpad+Trackpoint in ThinkPad? I'm struggling with the same problem in 9.1. I have R61 and both devices working at the same time in Archlinux. In FreeBSD the Trackpoint works only if I disable the Touchpad in BIOS, but even in that case the middle button does not work.

Either nobody's interested in this or it works for everyone else...

Thanks for ideas!


----------



## aap (Jan 13, 2013)

I'm sorry, I haven't got them to work...and neither am I using FreeBSD now for exactly this reason; I'm stuck with Linux.


----------



## Deleted member 10519 (Jan 13, 2013)

*Optimising mouse control in XOrg*

I have a T61 and followed this guide: http://forums.freebsd.org/showthread.php?t=706

I never use the trackpad, so I disabled it, but the pointer and three mouse buttons work just fine.


----------



## Deleted member 10519 (Jan 13, 2013)

My mouse configuration in /etc/rc.conf:


```
moused_enable="YES"
moused_ums0_flags="-F 200 -A 2.0,1.5 -a 2.0 -r high"
```

My mouse configuration in /usr/local/etc/X11/xorg.conf:


```
Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "CorePointer"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/sysmouse"
    Option         "ZAxisMapping" "4 5 6 7"
EndSection
```


----------



## aragats (Jan 14, 2013)

Thank you, *davidbliss*!

Great solution! Both touchpad and trackpoint are active, and the touchpad's scrolling and trackpoint's middle button work!

The only think is in my R61 the "moused_ums0_flags" looks to be unrelated to the touchpad/trackpoint, so I used "moused_flags" instead:


```
moused_flags="-F 200 -A 1.2 -a 1.2 -r high"
```

I've switched to FreeBSD from Archlinux, and my fingers cannot imagine how to deal without the middle click or scrolling. So now *aap* also may consider to switch back to FreeBSD ;-)


----------



## aragats (Jan 14, 2013)

...forgot to mention that I had to add the following line to the "/etc/X11/xorg.conf":


```
Section "ServerLayout"
[...]
   Option "AutoAddDevices" "Off"
[...]
```
Otherwise hal tries to add the touchpad anyway and the X complains about /dev/psm0.


----------



## aap (Jan 20, 2013)

Sorry my comment is so late. I tried the new configuration, and while Trackpoint, Touchpad and USB mice work, it seems not use the Synaptics driver, that I need for two-finger scrolling. Also I'd like to increase the sensitivity of the Trackpoint specifically.
The problem to me seems to be that the psm driver doesn't have synaptics support for the Trackpoint, which the patch above was supposed to fix. However, I could not get it to accept both the Touchpad and Trackpoint, although I don't remember the details now. Perhaps someone more knowledgeable than me could look into it?


----------



## aragats (Jan 21, 2013)

I have the following settings for the touchpad in /etc/sysctl.conf, and, since, the vertical edge scrolling is working for me, I'd think it does use Synaptics:

```
# Synaptics Touchpad
hw.psm.synaptics.vscroll_hor_area=0
hw.psm.synaptics.vscroll_ver_area=-600
hw.psm.synaptics.vscroll_min_delta=50
hw.psm.synaptics.vscroll_div_min=100
hw.psm.synaptics.vscroll_div_max=150

hw.psm.synaptics.min_pressure=20
hw.psm.synaptics.max_pressure=220
hw.psm.synaptics.max_width=10

hw.psm.synaptics.weight_current=3
hw.psm.synaptics.weight_previous=6
hw.psm.synaptics.weight_previous_na=20
hw.psm.synaptics.weight_len_squared=2000

hw.psm.synaptics.div_min=9
hw.psm.synaptics.div_max=17
hw.psm.synaptics.div_max_na=30
hw.psm.synaptics.div_len=100

hw.psm.synaptics.multiplicator=10000

hw.psm.synaptics.margin_top=200
hw.psm.synaptics.margin_right=200
hw.psm.synaptics.margin_bottom=200
hw.psm.synaptics.margin_left=200

hw.psm.synaptics.na_top=1783
hw.psm.synaptics.na_right=563
hw.psm.synaptics.na_bottom=1408
hw.psm.synaptics.na_left=1600

hw.psm.synaptics.window_min=4
hw.psm.synaptics.window_max=10

hw.psm.synaptics.taphold_timeout=125000
```
Later today I'll try to enable the two-finger-scrolling and report here.


----------



## Miri (Jan 27, 2013)

Hey guys, any luck with increasing Trackpoint sensitivity so far? Also, did the two finger scrolling work?


----------



## aragats (Jan 28, 2013)

Well, I tried to find a way to configure the two finger scrolling, but unsuccessfully... In the kernel driver /usr/src/sys/dev/atkbdc/psm.c there is an evidence of two finger detection, but there is no explicit routine to detect the two finger scrolling. I believe it's not so hard to implement it, but personally I wouldn't hack that driver at the moment.

@Miri: talking about sensitivity of the Trackpoint - what do you exactly mean? I don't use it much, but it works pretty well for me.


----------



## aragats (Jan 28, 2013)

Just found that two finger scrolling works out of the box in OpenBSD live cd from:
http://livecd-openbsd.sourceforge.net/


----------



## Miri (Jan 31, 2013)

Thanks aragats! I might consider moving to OpenBSD. About the sensitivity of the Trackpoint - I want to adjust it so that it requres a less firmer touch, as did the OP I believe.


----------



## aap (Feb 1, 2013)

aragats: And can you change the sensitivity of the trackpoint? What's the output of 'xinput list'?


----------



## aap (Feb 2, 2013)

So, I tried the OpenBSD live CD and it works quite well, but I still can't adjust the trackpoint sensitivity properly. It is listed as a separate device in [cmd=]xinput list[/cmd], but I can't really get a decent configuration with xinput; I think you have to set the sensitivity elsewhere, Arch linux has the same settings as OpenBSD in xinput, but you control the sensitivity and speed via /sys/devices/platform/i8042/serio1/serio2/{speed|sensitivity}. I still think you need a proper synaptics driver for it to work and I wonder why nobody seems to have written one, Thinkpads aren't exactly rare hardware.


----------



## shepper (Mar 3, 2013)

So many buttons:OO

You can also use synclient to set Trackpad options in OpenBSD.

synclient(1)

OpenBSD users can be found at Daemonforums.  A search (keyword synaptics) in at forum should also help.


----------



## aap (Mar 4, 2013)

Thanks, I'll try that. Although I was wrong...the trackpoint is not part of the synaptics driver, but that changes little. I'll report back, when I've tried it.


----------

