You are not logged in.
I want to activate press_to_select on my thinkpad trackpoint in order to use a press on the trackpoint as a left button mouse click.
Thinkwiki has a few suggestions on how to implement this, so I created a file /etc/udev/rules.d/10-trackpoint.rules containing the following:
SUBSYSTEM=="serio", DRIVERS=="psmouse", WAIT_FOR="/sys/devices/platform/i8042/serio1/sensitivity", ATTR{sensitivity}="150", ATTR{press_to_select}="1"
However, after reboot, press_to_select is still set to 0. Only if I execute # udevadm test /sys/devices/platform/i8042/serio1, press_to_select and sensitivity are set to the according values.
When checking journalctl, the problem seems obvious:
Oct 27 15:01:20 x220 systemd-udevd[133]: 1;31minvalid ATTRS operation0m
Oct 27 15:01:20 x220 systemd-udevd[133]: 1;31minvalid rule '/etc/udev/rules.d/10-trackpoint.rules:1'0m
[…]
Oct 27 15:01:25 x220 kernel: psmouse serio1: trackpoint: IBM TrackPoint firmware: 0x0e, buttons: 3/3
Oct 27 15:01:25 x220 kernel: input: TPPS/2 IBM TrackPoint as /devices/platform/i8042/serio1/input/input7
To me it looks as if the udev rules' WAIT_FOR statement doesn't seem to work out. Does anyone know a solution to this? I also tried to rename the rule to 98-trackpoint.rules, but to no avail
Best, Jakob
edit:// just checked systemctl status systemd-udevd.service and jound the followng errors:
Oct 27 15:01:20 x220 systemd-udevd[133]: invalid ATTRS operation
Oct 27 15:01:20 x220 systemd-udevd[133]: invalid rule '/etc/udev/rules.d/10-trackpoint.rules:1'
Will set udev log level to debug and see what it says
edit2: I updated the rule to reflect a change (%s/ATTRS/ATTR) that doesn't give the error from systemctl status systemd-udevd.service anymore. This rule also doesn't give any errors by # udevadm test /sys/devices/platform/i8042/serio1 anymore, and still works when executing it manually… so the question remains: why doesn't udev wai with the execution of the rule?
edit3: Ok, also found debian bug report from 2009 and tried to put "WAIT_FOR=press_to_select" instead of the full path into the rule. Still to no avail. Maybe its really a kernel bug then…?
edit4: Haha, contacted the bug reporter from edit 3 and he gave me his working rule, but it doesn't do the job here… so maybe a systemd thing then. Anyway, here's my current rule:
KERNEL=="serio1", SUBSYSTEM=="serio", DRIVER=="psmouse", WAIT_FOR="press_to_select", ATTR{press_to_select}="1", ATTR{ztime}="15", ATTR{sensitivity}="180"
Last edited by jakob (2012-10-27 17:03:14)
Offline
Hi,
did you find a solution for this? I have the same problem. I always need to execute udevadm test to setup my Trackpoint settings.
Thanks!
Offline
Hey suicidefish: No, didn't solve the riddle. I ended up creating a hackish press_to_select.service that executes udevadm test. Note: I have the touchpad disabled by default, so that the trackpoint is serio1
[Unit]
Description=Activate udev rule 10-thinkpad.rules
[Service]
Type=oneshot
ExecStart=/usr/bin/udevadm test /sys/devices/platform/i8042/serio1
[Install]
WantedBy=multi-user.target
Offline
Worked like a charm. Thank you very much!
Offline