Wie lässt sich der TrackPoint eines Thinkpads am besten konfigurieren?

40

Die bisher nützlichen ThinkWiki-Seiten wirken recht veraltet. Ich versuche, meine TrackPoint-Empfindlichkeits- und Geschwindigkeitseinstellungen dauerhaft zu ändern und das Scrollen mit der mittleren Maustaste zu aktivieren. Ich habe Configure-Trackpoint in der Vergangenheit versucht, aber die Einstellungen wurden nicht dauerhaft gespeichert (sie gehen nach dem Neustart verloren).

Ich habe es versucht gpointing-device-settings. Wenn ich es verwende, kann ich mit der mittleren Maustaste scrollen, aber ich kann die Geschwindigkeits- oder Empfindlichkeitseinstellungen des Trackpoints nicht ändern. Alle Methoden auf der ThinkWiki-Seite, die ich ausprobiert habe, funktionieren nicht wie in Ubuntu 11.04 beschrieben. Kann jemand erklären, wie die TrackPoint-Einstellungen dauerhaft bearbeitet werden, damit ich sie richtig verwenden kann?

Jonathan Blackhall
quelle

Antworten:

47

Leider scheint es keinen einfachen Weg zu geben. Was ich beschreiben werde, ist, wie ein neuer Upstart-Job erstellt wird, um die Werte beim Booten über das virtuelle Dateisystem unter / sys festzulegen.

  1. Finden Sie den Gerätepfad Ihres Trackpoints

    Führen Sie die folgende in einem Gnom-terminal (press Alt+ F2, Typ gnome-terminalund Hit Enter):

    find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/input\/input[0-9]*\/name$//'
    

    In meinem Fall wird dies /sys/devices/platform/i8042/serio1/serio2in den folgenden Schritten geändert.

  2. Finden Sie Werte für Empfindlichkeit und Geschwindigkeit

    Führen Sie die folgenden Befehle in einem Gnome-Terminal aus:

    echo 220 | sudo tee /sys/devices/platform/i8042/serio1/serio2/sensitivity
    

    für eine Empfindlichkeit von 220 (dies wird Sie nach Ihrem Passwort fragen) und

    echo 100 | sudo tee /sys/devices/platform/i8042/serio1/serio2/speed
    

    Wenn Sie die Werte gefunden haben, mit denen Sie vertraut sind, können Sie die Änderung mit einem Upstart-Job dauerhaft machen:

  3. Erstellen Sie eine neue udev-Regel

    Jetzt müssen wir die Einstellungen beim Systemstart übernehmen. Drücken Sie daher Alt+ F2, geben Sie ein gksu gedit /etc/udev/rules.d/trackpoint.rulesund drücken EnterSie (dies wird Sie nach Ihrem Passwort fragen). Fügen Sie dann Folgendes ein:

    SUBSYSTEM=="serio", DRIVERS=="psmouse", WAIT_FOR="/sys/devices/platform/i8042/serio1/serio2/sensitivity", ATTR{sensitivity}="220", ATTR{speed}="110"
    

    (Update) Wie WAIT_FORveraltet, können Sie auf neueren Systemen DEVPATHstattdessen Folgendes verwenden:

    SUBSYSTEM=="serio", DRIVERS=="psmouse", DEVPATH=="/sys/devices/platform/i8042/serio1/serio2", ATTR{sensitivity}="220", ATTR{speed}="110"     
    

    Speichern Sie die Datei und starten Sie sie neu oder führen Sie die folgenden Befehle aus:

    sudo udevadm control --reload-rules
    sudo udevadm trigger 
    
Drehmoment
quelle
5
Danke für die sehr ausführliche Antwort. Also habe ich letzte Nacht ein bisschen mehr in den ThinkWiki-Artikeln gebuddelt und etwas anderes entdeckt, das funktioniert hat. Die ersten beiden Schritte sollten gleich sein. Anstelle eines Upstart-Jobs habe ich udev-Regeln verwendet. Ich habe eine Datei erstellt, indem ich Alt + F2 gedrückt gksu gedit /etc/udev/rules.d/trackpoint.rulesund Folgendes eingegeben und eingefügt habe: SUBSYSTEM=="serio", DRIVERS=="psmouse", WAIT_FOR="/sys/devices/platform/i8042/serio1/serio2/sensitivity", ATTR{sensitivity}="200", ATTR{speed}="150"Dann starte ich neu. Gibt es einen Grund, warum ich Upstart vs udev-Regeln verwenden sollte?
Jonathan Blackhall
IMO der udev Ansatz ist der bessere, danke! Bearbeitet das in die Antwort. :-)
htorque
1
HINWEIS: benutze DEVPATH=="(zwei gleich), sonst funktioniert es nicht. Der Beitrag kann nicht mit nur einer
Zeichenänderung
Die udev-Regel scheint in Ubuntu 16.04 nicht zu funktionieren. Siehe die späteren Antworten für andere Ansätze (zB der von Nguyen Thanh Tung).
MakisH
16

WAS HILFTE MIR, TRACKPOINT EMPFINDLICHER ZU MACHEN?

1. Der einfachste Weg ist im Terminal:

 $ xinput --list --short

Sie werden so etwas sehen:

omicron@omicron:~$ xinput --list --short
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint    id=10.  [slave  pointer  (2)]
⎜   ↳ ImPS/2 Generic Wheel Mouse                id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint    id=9    [slave  keyboard (3)]
    ↳ Eee PC WMI hotkeys                        id=11   [slave  keyboard (3)]

2. Finden Sie Ihr Trackpoint-Gerät. In meinem Fall ist es id = 10.

3. Dann machen Sie im Terminal:

$ xinput --set-prop "10" "Device Accel Constant Deceleration" 0.5

"10" ist hier die Geräte-ID (Lite-On Technology Corp. ThinkPad USB-Tastatur mit TrackPoint-ID = 10), geben Sie hier Ihre ID ein, und "0,5" ist die Empfindlichkeitsstufe. Sie können mit der Empfindlichkeit experimentieren, indem Sie Zahlen größer als 0 bis 1000 eingeben. Sie benötigen sie jedoch definitiv nicht. Je kleiner die Zahl, desto höher die Geschwindigkeit.

Ich benutze 0,4 oder 0,45

4. WICHTIG. Wenn die Geschwindigkeit ausgewählt ist, kopieren Sie Ihr letztes Skript in den Autostart.

Bildbeschreibung hier eingeben

PS Wenn die Einstellungen eines Tages nicht mehr funktionieren, überprüfen Sie die ID erneut. Möglicherweise wurden einige Änderungen an Ihrer Gerätetabelle vorgenommen, und die ID kann sich ändern.

Hoffe es wird dir helfen.

Viel Spaß mit Ihrem ThinkPad!

Vitaly Dubyna
quelle
2
Leider bekomme ich: property 'Device Accel Constant Deceleration' doesn't exist, you need to specify its type and formatNicht sicher, wie das geht ... irgendwelche Vorschläge? (Thinkpad T420, Ubuntu 18.04)
JamesBB
1
Ich denke, Sie sind auf die Eigenschaften beschränkt, die durch xinput list-props $device_id(wobei device_id= 10 im obigen Beispiel) angezeigt werden . Zum Beispiel habe ich auf meinem Thinkpad X1c5 mit 18.04 eine Eigenschaft mit dem Namen libinput Accel Speedtweakable
sxc731
1
Übrigens könnte auch das Ändern der Trackpoint-Gummikappe helfen. Meins war hoffnungslos hart (bis zu dem Punkt, an dem mein Finger weh tat) und nachdem ich es gründlich abgenutzt hatte (innerhalb von nur 18 Monaten, was bei vielen früheren ThinkPads noch nie vorgekommen war), habe ich beschlossen, ca. 15 USD in Ersatzkappen zu investieren (Lenovo Teile-Nr. 4XH0L55146) 10 davon). Das Ergebnis ist verblüffend: Mein Trackpoint ist nicht mehr viel zu hart, sondern zu empfindlich. Die Einstellung, die jetzt für mich funktioniert (X1c5 mit TPPS/2 ALPS TrackPointam 18.04), ist "libinput Accel Speed" -1.0(die Einstellung für die minimale Beschleunigung). YMMV natürlich
sxc731
1
Ich habe Thinkpad E480 und Ubuntu 18.04 und xinput --set-prop "12" "libinput Accel Speed" -0.5Befehl gearbeitet
Xavitoj Cheema
1
Die am häufigsten gewählte Antwort funktionierte nach dem letzten Systemupdate aus irgendeinem Grund nicht mehr (Arch / Manjaro). Das hat bei mir funktioniert. Vielen Dank.
xji
13

Für mein Thinkpad T530 und Ubuntu 15.10. Benutz einfach:

sudo -i gedit /etc/udev/rules.d/10-trackpoint.rules

Fügen Sie dann den folgenden Inhalt hinzu und starten Sie ihn neu. Der Einstellwert wird beibehalten.

ACTION=="add",
SUBSYSTEM=="input",
ATTR{name}=="TPPS/2 IBM TrackPoint",
ATTR{device/sensitivity}="190",
ATTR{device/speed}="180",
ATTR{device/inertia}="6",
ATTR{device/press_to_select}="0"
Nguyen Thanh Tung
quelle
Dies funktioniert auch dann, wenn die in den anderen Antworten benötigten Dateien (serio1 / sensitive) nicht vorhanden sind
Soupy
Das scheint bei mir geklappt zu haben. :) (ThinkpadT420, Ubuntu18.04). Ich muss nur mit den Einstellungen spielen, es ist ein bisschen mühsam, jedes Mal neu zu starten, aber damit kann ich leben.
JamesBB
2
Wenn Sie @JamesBB ausführen udevadm trigger --action add --subsystem all, wendet udev die Regeln auf alle vorhandenen Geräte an.
CameronNemo
@CameronNemo - werde das versuchen, danke! Scheint nötig zu sein --subsystem-match all, aber ich denke das funktioniert.
JamesBB
4

@ Vitaly-Dubyna hat die richtige Antwort. Unter Debian funktioniert seine Methode einwandfrei. Um Ihnen das Leben zu erleichtern, legen Sie eine Datei .xsessionrcmit allen Einstellungen in Ihr Home-Verzeichnis, damit sie nach jedem Neustart geladen wird.

eine neue Datei verwenden vim, pico, gedit-

vim .xsessionrc 

dann steck das rein

xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation" 1
xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Button" 2
xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Timeout" 200
xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Axes" 7 6 4 5
xinput set-prop "TPPS/2 IBM TrackPoint" "Device Accel Constant Deceleration" 0.4

In den ersten 4 Zeilen wird das vertikale und horizontale Scrollen mit dem Trackpoint eingerichtet und in der letzten Zeile wird die Geschwindigkeit und Empfindlichkeit gesteuert.

Da sich die Geräte-ID ändern kann, je nachdem, ob einige Eingabegeräte im BIOS aktiviert / deaktiviert sind, sollte der Gerätename vorzugsweise in Anführungszeichen gesetzt werden. Für die meisten Thinkpads TPPS/2 IBM TrackPointist dies die Referenz.


** BEARBEITEN: ** November 2015

#get the device ID for the trackpad. We know it contains the string "TPPS"
ibm_trackpad_id=$(xinput | grep 'TPPS' | cut -d"=" -f2 | cut -f1)
echo $ibm_trackpad_id > ~/temp/ibm_trackpad_id

#set desired params for trackpoint
xinput set-prop $ibm_trackpad_id "Evdev Wheel Emulation" 1
xinput set-prop $ibm_trackpad_id "Evdev Wheel Emulation Button" 2
xinput set-prop $ibm_trackpad_id "Evdev Wheel Emulation Timeout" 200
xinput set-prop $ibm_trackpad_id "Evdev Wheel Emulation Axes" 7 6 5 4
xinput set-prop $ibm_trackpad_id "Device Accel Constant Deceleration" 0.15

# get wireless mouse device ID 
logitech_mouse_id=$(xinput | grep "Logitech" | cut -d"=" -f2 | cut -f1)
echo $logitech_mouse_id > ~/temp/logitech_mouse_id

# this is device dependent. Map the buttons on your mouse the functionality you want. 
xinput set-button-map $logitech_mouse_id 1 2 3 4 5 6 7 9 8 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

# set props for external mouse
xinput set-prop $logitech_mouse_id "Device Accel Constant Deceleration" 1.7
xinput set-prop $logitech_mouse_id "Device Accel Adaptive Deceleration" 2
xinput set-prop $logitech_mouse_id "Evdev Wheel Emulation" 1
xinput set-prop $logitech_mouse_id "Evdev Wheel Emulation Axes" 7 6 5 4
xinput set-prop $logitech_mouse_id "Evdev Wheel Emulation Button" 8
Jonathan
quelle
1
Bei Ihrer "Evdev Wheel Emulation Axes"Einstellung wird ein natürlicher horizontaler Bildlauf und ein normaler vertikaler Bildlauf verwendet. Ich schätze, die meisten wollen ganz natürliches Scrollen (verwenden 7 6 5 4) oder ganz normales Scrollen (verwenden 6 7 4 5).
Tanius
Ab Ubuntu 17.10 ist der evdevTreiber, auf den sich diese Lösung stützt, nicht mehr standardmäßig installiert. Sie können es weiterhin mit sudo apt install xserver-xorg-input-evdevdem Standardtreiber installieren oder libinputstattdessen den Standardtreiber verwenden. In diesem Fall können Sie mit der Antwort von @htorque Geschwindigkeit und Empfindlichkeit konfigurieren.
Tanius
3

Dies basiert auf der Antwort von Vitaly Dubyna, wurde jedoch aktualisiert, um für die neuesten (2019) Thinkpads- und Xorg-Versionen zu funktionieren (dank der Kommentare zu dieser Antwort).

Geben Sie in der Befehlszeile diesen Befehl ein (nur den Teil nach dem $):

$ xinput | grep -i trackpoint
TPPS/2 Elan TrackPoint   id=12 

Hinweis id = 12 (kann auf Ihrem System unterschiedlich sein).

$ xinput --list-props 12
...
libinput Accel Speed (300):     0.000000
libinput Accel Speed Default (301):     0.000000
...

Experimentieren Sie mit der Geschwindigkeitseinstellung. negative Werte erlaubt. Zum Beispiel,

$ xinput --set-prop 12 'libinput Accel Speed' -0.25

Wenn Sie zufrieden sind, fügen Sie den Befehl als Startanwendung hinzu (normalerweise unter Startmenü> Einstellungen> Startanwendungen).

Der oben angegebene Einstellungsname wird für die Thinkpad-Modelle X1c5 (Ubuntu 18.04), E480 (18.04) und E490 (Mint 19.1) bestätigt.

Han-Kwang Nienhuys
quelle
2

Konfigurieren Sie die libinputOptionen über xorg.conf.d und udev

Ab Ubuntu 17.10 ist der libinputTreiber Standard.

Einige seiner Optionen können über den X.org-Mechanismus konfiguriert werden, aber Geschwindigkeit und Empfindlichkeit müssen mit udev-Regeln konfiguriert werden, um Kernel-Treiberparameter einzugeben. (Siehe dazu die Antwort von @htorque .)

Erstellen Sie zum Konfigurieren der anderen Optionen eine Datei /etc/X11/xorg.conf.d/52-trackpoint-tweaks.conf(oder eine Datei mit ähnlichem Namen). Die Datei sollte diesen Inhalt haben:

Section "InputClass"
    Identifier         "Trackpoint tweaks"
    MatchProduct       "TPPS/2 IBM TrackPoint"
    MatchDevicePath    "/dev/input/event*"

    # The default driver now, so optional to put in this line. 
    # But does not hurt mentioning where the options will go.
    Driver             "libinput"

    Option             "NaturalScrolling"      "true"
EndSection

Um den Effekt zu sehen, müssen Sie X natürlich neu starten. Eine Liste der anderen verfügbaren X.org-Optionen finden Sie unter man (4) libinput .

Eine Liste der entsprechenden (aber anders benannt) XInput Eigenschaften finden xinput --list-prop "TPPS/2 IBM TrackPoint"oder wieder Mann (4) libinput . Mit diesen können Sie Effekte sofort mit xinput --set-prop […]Befehlen testen , ohne X jedes Mal neu starten zu müssen. Verwenden Sie dann die Entsprechungen in der 52-trackpoint-tweaks.confDatei, um die Änderungen dauerhaft zu machen, wie oben gezeigt.

Tanius
quelle
0

Ich habe ein Thinkpad und habe alles wie gewünscht über eine Anwendung namens Zeigegeräte eingerichtet, die nur einen etwas fortgeschritteneren Mauseinstellungsdialog darstellt.

Ich erinnere mich nicht, wie viele Optionen es für die Empfindlichkeit gab, aber im Gegensatz zum eingebauten Mauseinstellungsbildschirm erkannte dieser den Trackpoint und das Trackpad unabhängig voneinander und ermöglichte eine bessere Steuerung wie das Einstellen der Bildlauftaste (war Taste 2 in meiner Konfiguration) und Aktivieren der Empfindlichkeit der Handflächenerkennung.

Andrew
quelle
Es gibt keine Optionen für Empfindlichkeit oder Geschwindigkeit bei den Einstellungen für Gpointing-Geräte.
Jonathan Blackhall
0

Unter Ubuntu 12.04 Unity 2D auf dem Thinkpad sl410 verwende ich das Standardfenster Mouse And Touchpadin den Einstellungen. Durch Ändern der Beschleunigung oder Geschwindigkeit wird auch die Empfindlichkeit eines Trackpoints geändert. Obwohl das Verhalten umgekehrt ist, führt eine Verringerung der Geschwindigkeit zu einer Erhöhung der Trackpoint-Empfindlichkeit. Die Einstellungen bleiben zwischen Neustarts erhalten.

Ayrat
quelle
0

Konfigurieren Sie evdevOptionen über xorg.conf.d (veraltet)

Der evdevTreiber war der Standardtreiber für den Trackpoint in früheren Versionen von Ubuntu, aber seit Ubuntu 17.10 ist der Ansatz unten veraltet und funktioniert nicht mehr ohne weiteres. Dies liegt daran, dass der evdevTreiber, der nicht mehr standardmäßig installiert libinputist, jetzt der Standard ist - siehe meine andere Antwort zur Konfiguration.

Wenn Sie möchten, können Sie die folgende evdevLösung auch nach der Installation des Treibers mit sudo apt install xserver-xorg-input-evdev( Quelle ) verwenden.

Alles lässt sich sehr schön in einem so konfiguriert werden , /etc/X11/xorg.conf.d/52-trackpoint-tweaks.confDatei (oder ähnlich genannt - auf Ubuntu, haben Sie Verzeichnis und Datei erstellen, aber der Mechanismus funktioniert, vielleicht eines der Verzeichnisnamen ist x11statt X11in einigen Versionen).

Die Datei sollte diesen Inhalt haben:

Section "InputClass"
    Identifier "Trackpoint tweaks"
    MatchProduct       "TPPS/2 IBM TrackPoint"
    MatchDevicePath    "/dev/input/event*"

    # Specify the driver, as else Ubuntu 17.10 will use libinput.
    Driver             "evdev"

    # Configure wheel emulation, using middle button and "natural scrolling".
    Option             "EmulateWheel"            "on"
    Option             "EmulateWheelButton"      "2"
    Option             "EmulateWheelTimeout"     "200"
    Option             "EmulateWheelInertia"     "7"
    Option             "XAxisMapping"            "7 6"
    Option             "YAxisMapping"            "5 4"

    # Set up an acceleration config ("mostly linear" profile, factor 5.5).
    Option             "AccelerationProfile"     "3"
    Option             "AccelerationNumerator"   "55"
    Option             "AccelerationDenominator" "10"
    Option             "ConstantDeceleration"    "3"
EndSection

Um den Effekt zu sehen, müssen Sie X natürlich neu starten. Um mit diesen Einstellungen zu spielen, während X ausgeführt wird, verwenden Sie xinput, beachten Sie jedoch, dass die Optionsnamen dort unterschiedlich sind.

Wie von @Vitaly Dubyna hervorgehoben, kann "Constant Deceleration" verwendet werden, um die Empfindlichkeit zu steuern - es werden alle Bewegungen mit diesem Faktor verkleinert, so dass der Wert "3" alle Bewegungen dreimal langsamer macht als bei der Standardeinstellung "1".

Optionsdokumentation:

Tanius
quelle