debian stretch on thinkpadでtrackpoint sensitivityを永続化

tl;dr

systemdでファイル監視するやつが動かず、udevにルールを追加することでうごいた

xinput --list

...
↳ TPPS/2 IBM TrackPoint 
...

cat /etc/udev/10-trackpoint.rules

ACTION=="add", SUBSYSTEM=="input", ATTR{name}=="TPPS/2 IBM TrackPoint", ATTR{device/sensitivity}="200", ATTR{device/press_to_select}="1"

ATTR{device/press_to_select}="1"はsensitivityには関係ないと思う。ところでこれを書いているにもかかわらずtrackpadがpressでセレクトできない。消して試したいがめんどうになって諦めた。

やったこと

systemdのファイル監視でfdに書き込む

cat /lib/systemd/system/trackpoint.path

[Unit]
Description=Watch for, and modify, Trackpoint attributes

[Path]
PathExists=/sys/devices/platform/i8042/serio1/serio2/sensitivity

[Install]
WantedBy=default.target

cat /lib/systemd/system/trackpoint.service

[Unit]
Description=set trackpoint sensitivity

[Service]
ExecStart=/usr/local/bin/trackpoint_sensitivity.sh

cat /usr/local/bin/trackpoint_sensitivity.sh (実行権限あり)

#!/bin/bash
echo -n 250 | tee /sys/devices/platform/i8042/serio1/serio2/sensitivity

考察

そもそもserviceが呼び出されていなさそう(trackpoint_sensitivity.shにecho "test" > /home/xxx/test.txtでtest.txtはできなかった)

udevにルール追加(動かない版)

cat /etc/udev/rules.d/10-trackpoint.rules

KERNEL=="serio2", SUBSYSTEM=="serio", DRIVERS=="psmouse", ATTR{sensitivity}:="180", ATTR{speed}:="150"

udevadm info -a -p /sys/devices/platform/i8042/serio1/serio2/

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/platform/i8042/serio1/serio2':
    KERNEL=="serio2"
    SUBSYSTEM=="serio"
    DRIVER=="psmouse"
    ATTR{bind_mode}=="auto"
    ATTR{description}=="Synaptics pass-through"
    ATTR{draghys}=="255"
    ATTR{drift_time}=="5"
    ATTR{ext_dev}=="1"
    ATTR{firmware_id}==""
    ATTR{inertia}=="6"
    ATTR{jenks}=="135"
    ATTR{mindrag}=="20"
    ATTR{press_to_select}=="1"
    ATTR{protocol}=="TPPS/2"
    ATTR{rate}=="100"
    ATTR{reach}=="10"
    ATTR{resetafter}=="5"
    ATTR{resolution}=="200"
    ATTR{resync_time}=="0"
    ATTR{sensitivity}=="240"
    ATTR{skipback}=="0"
    ATTR{speed}=="97"
    ATTR{thresh}=="8"
    ATTR{upthresh}=="255"
    ATTR{ztime}=="38"

  looking at parent device '/devices/platform/i8042/serio1':
    KERNELS=="serio1"
    SUBSYSTEMS=="serio"
    DRIVERS=="psmouse"
    ATTRS{bind_mode}=="auto"
    ATTRS{description}=="i8042 AUX port"
    ATTRS{firmware_id}=="PNP: LEN0058 PNP0f13"
    ATTRS{protocol}=="SynPS/2"
    ATTRS{rate}=="80"
    ATTRS{resetafter}=="5"
    ATTRS{resolution}=="200"
    ATTRS{resync_time}=="0"

  looking at parent device '/devices/platform/i8042':
    KERNELS=="i8042"
    SUBSYSTEMS=="platform"
    DRIVERS=="i8042"
    ATTRS{driver_override}=="(null)"

  looking at parent device '/devices/platform':
    KERNELS=="platform"
    SUBSYSTEMS==""
    DRIVERS==""

考察

ようわからんがうごかない

参考

トラックポイント - ArchWiki

InstallingDebianOn/Thinkpad/Trackpoint - Debian Wiki

Ubuntu17.10でtrackpointの速度を調整する