How to configure Thinkpad T60 Touchpad and Trackpoint?

aap

New Member


Messages: 7

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

Code:
        /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.
 
OP
OP
A

aap

New Member


Messages: 7

#2
*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:
Code:
	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

Aspiring Daemon

Thanks: 372
Messages: 942

#3
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!
 
OP
OP
A

aap

New Member


Messages: 7

#4
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.
 
D

Deleted member 10519

Guest


#6
My mouse configuration in /etc/rc.conf:

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

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

aragats

Aspiring Daemon

Thanks: 372
Messages: 942

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

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

Aspiring Daemon

Thanks: 372
Messages: 942

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

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

aap

New Member


Messages: 7

#9
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

Aspiring Daemon

Thanks: 372
Messages: 942

#10
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:
Code:
# 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.
 

aragats

Aspiring Daemon

Thanks: 372
Messages: 942

#12
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.
 

Miri

New Member


Messages: 2

#14
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.
 
OP
OP
A

aap

New Member


Messages: 7

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

aap

New Member


Messages: 7

#16
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.
 
OP
OP
A

aap

New Member


Messages: 7

#18
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.
 
Top