Qual è il modo migliore per configurare il TrackPoint di un Thinkpad?


41

Le pagine ThinkWiki precedentemente utili sembrano piuttosto obsolete. Sto cercando di modificare in modo permanente le impostazioni di sensibilità e velocità del mio TrackPoint e abilitare lo scorrimento del pulsante centrale del mouse. Ho provato a configurare trackpoint in passato, ma le impostazioni non sono state salvate in modo permanente (vengono perse dopo il riavvio).

Ho provato gpointing-device-settings. Usandolo, riesco a far funzionare il pulsante centrale del mouse, ma non riesco a modificare le impostazioni di velocità o sensibilità del trackpoint. Tutti i metodi sulla pagina ThinkWiki che ho provato non funzionano come indicato in Ubuntu 11.04. Qualcuno può spiegare come modificare in modo permanente le impostazioni di TrackPoint in modo da poterlo utilizzare correttamente?

Risposte:


47

Sfortunatamente non sembra esserci un modo semplice. Quello che descriverò è come creare un nuovo lavoro Upstart per impostare i valori all'avvio attraverso il filesystem virtuale in / sys.

  1. Trova il percorso del dispositivo del trackpoint

    Esegui quanto segue in un terminale gnome (premi Alt+ F2, digita gnome-terminale premi Enter):

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

    Nel mio caso questo ritorna /sys/devices/platform/i8042/serio1/serio2: cambia in qualunque cosa restituisca per te nei seguenti passaggi.

  2. Trova valori per sensibilità e velocità

    Esegui i seguenti comandi in un terminale gnome:

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

    per una sensibilità di 220 (questo ti chiederà la password) e

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

    per una velocità di 100. Dopo aver trovato i valori con cui ti trovi a tuo agio, rendi permanente la modifica usando un lavoro Upstart:

  3. Crea una nuova regola udev

    Ora dobbiamo applicare le impostazioni durante l'avvio del sistema. Pertanto, premi Alt+ F2, digita gksu gedit /etc/udev/rules.d/trackpoint.rulese premi Enter(questo ti chiederà la tua password). Quindi incollare quanto segue:

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

    (Aggiornamento) Come WAIT_FORdeprecato, sui sistemi più recenti è possibile utilizzare DEVPATHinvece:

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

    Salvare il file e riavviare o eseguire i comandi sopra:

    sudo udevadm control --reload-rules
    sudo udevadm trigger 
    

5
Grazie per la risposta molto dettagliata. Così ho fatto un po 'più di ricerca e modifica dagli articoli ThinkWiki la scorsa notte, e ho scoperto qualcos'altro che ha funzionato. I primi due passaggi dovrebbero essere gli stessi. Invece di un lavoro Upstart, ho usato le regole udev. Ho creato un file premendo Alt + F2, digitando gksu gedit /etc/udev/rules.d/trackpoint.rulese incollando quanto segue: SUBSYSTEM=="serio", DRIVERS=="psmouse", WAIT_FOR="/sys/devices/platform/i8042/serio1/serio2/sensitivity", ATTR{sensitivity}="200", ATTR{speed}="150"Quindi riavviare. C'è qualche motivo per cui dovrei usare le regole Upstart vs udev?
Jonathan Blackhall,

IMO l'approccio udev è il migliore, grazie! Modificato quello nella risposta. :-)
htorque,

1
NOTA: usare DEVPATH=="(due uguali), altrimenti non funzionerà. Impossibile modificare il post con una sola modifica del carattere, quindi
ho

La regola udev non sembra funzionare in Ubuntu 16.04. Vedi le risposte successive per altri approcci (ad esempio quello di Nguyen Thanh Tung).
MakisH

17

COSA MI HA AIUTATO A RENDERE IL TRACKPOINT PIÙ SENSIBILE.

1. Il modo più semplice è fare nel terminale:

 $ xinput --list --short

Vedrai qualcosa del genere:

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. Trova il tuo dispositivo trackpoint. Nel mio caso è id = 10.

3. Quindi esegui nel terminale:

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

"10" qui è l'ID del dispositivo (Lite-On Technology Corp. Tastiera USB ThinkPad con TrackPoint id = 10), inserisci qui il tuo ID e "0,5" è il livello di sensibilità. Puoi sperimentare la sensibilità mettendo numeri maggiori di 0 fino a 1000. Ma sicuramente non ne hai bisogno. Più piccolo è il numero, maggiore è la velocità.

Uso 0.4 o 0.45

4. IMPORTANTE. Quando viene scelta la velocità, copia l'ultimo script per l'avvio automatico.

inserisci qui la descrizione dell'immagine

PS Se le impostazioni hanno smesso di funzionare un giorno, controlla di nuovo l'ID. Potrebbero esserci alcune modifiche alla tabella dei dispositivi e l'ID potrebbe spostarsi.

Spero che ti possa aiutare.

Goditi il ​​tuo ThinkPad!


2
Purtroppo ricevo: property 'Device Accel Constant Deceleration' doesn't exist, you need to specify its type and formatnon sei sicuro di come farlo ... qualche suggerimento? (Thinkpad T420, Ubuntu 18.04)
JamesBB

1
Penso che tu sia limitato alle proprietà mostrate da xinput list-props $device_id(dove device_id= 10 nell'esempio sopra). Ad esempio, sul mio Thinkpad X1c5 con 18.04, ho una proprietà chiamata libinput Accel Speedche sembra modificabile
sxc731

1
A proposito, può anche aiutare a cambiare il cappuccio di gomma del Trackpoint. Il mio è stato irrimediabilmente duro (al punto che il dito mi faceva male) e dopo averlo completamente consumato (in soli 18 mesi, cosa che non è mai accaduta su molti ThinkPad precedenti) ho deciso di investire circa $ 15 in cappucci di ricambio (Lenovo n. 4XH0L55146, viene fornito con 10 di quelli). Il risultato è sorprendente: il mio Trackpoint è passato dall'essere troppo difficile a essere davvero troppo sensibile. L'impostazione che funziona per me ora (X1c5 con TPPS/2 ALPS TrackPointil 18.04) è "libinput Accel Speed" -1.0(essendo l'impostazione di accelerazione minima).
YMMV

2
Ho thinkpad E480 e Ubuntu 18.04 e il xinput --set-prop "12" "libinput Accel Speed" -0.5comando ha funzionato
Xavitoj Cheema,

1
La risposta più votata ha smesso di funzionare dopo l'ultimo aggiornamento del sistema per qualche motivo (Arch / Manjaro). Questo ha funzionato per me. Grazie.
xji,

13

Per il mio Thinkpad T530 e Ubuntu 15.10. Usa solo:

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

e quindi aggiungere il seguente contenuto, quindi riavviare. Il valore di impostazione verrà mantenuto.

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"

Funziona anche quando i file necessari nelle altre risposte (serio1 / sensibilità) non esistono
Soupy

Questo sembra aver funzionato per me. :) (ThinkpadT420, Ubuntu18.04). Devo solo giocare con le impostazioni, un po 'noioso dover ricominciare ogni volta, ma posso conviverci.
JamesBB

2
L'esecuzione di @JamesBB udevadm trigger --action add --subsystem allfarà sì che udev applichi le regole a tutti i dispositivi presenti.
CameronNemo,

@CameronNemo - ci proverò, grazie! Sembra aver bisogno --subsystem-match all, ma penso che funzioni.
JamesBB,

4

@ vitaly-dubyna ha la risposta giusta. Su debian il suo metodo funziona perfettamente. Per semplificarti la vita, inserisci un file .xsessionrcnella tua home directory con tutte le impostazioni in modo che venga caricato dopo ogni riavvio.

fare un nuovo uso di file vim, pico, gedit-

vim .xsessionrc 

quindi attaccalo dentro

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

dove le prime 4 linee sono per impostare lo scorrimento verticale e orizzontale con trackpoint e l'ultima linea è per controllare la velocità / e la sensibilità.

Si noti che poiché l'ID dispositivo può cambiare a seconda che alcuni dispositivi di input siano abilitati / disabilitati nel BIOS, è preferibile utilizzare il nome del dispositivo tra virgolette. Per la maggior parte dei thinkpad TPPS/2 IBM TrackPointè il riferimento.


** MODIFICA: ** Nov 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

1
L' "Evdev Wheel Emulation Axes"impostazione utilizza lo scorrimento naturale in orizzontale, lo scorrimento normale in verticale. Immagino che la maggior parte desideri lo scorrimento naturale (uso 7 6 5 4) o lo scorrimento normale (uso 6 7 4 5).
tanius,

A partire da Ubuntu 17.10, il evdevdriver su cui si basa questa soluzione non è più installato di default. È comunque possibile installarlo con sudo apt install xserver-xorg-input-evdevo utilizzare libinputinvece il driver ora predefinito . In tal caso, la risposta di @htorque è il modo di configurare la velocità e la sensibilità.
tanius,

4

Questo si basa sulla risposta di Vitaly Dubyna, ma aggiornato per funzionare con le recenti versioni (2019) di Thinkpad e Xorg (grazie ai commenti a quella risposta).

Dalla riga di comando, immettere questo comando (solo la parte dopo $):

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

Nota id = 12 (potrebbe essere diverso sul tuo sistema).

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

Sperimenta con l'impostazione della velocità; valori negativi consentiti. Per esempio,

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

Una volta che sei soddisfatto, aggiungi il comando come applicazione di avvio (in genere nel menu Start> Preferenze> Applicazioni di avvio).

Il nome dell'impostazione sopra è confermato per i modelli Thinkpad X1c5 (Ubuntu 18.04), E480 (18.04) ed E490 (Mint 19.1).


2

Configurare le libinputopzioni tramite xorg.conf.d e udev

A partire da Ubuntu 17.10, il libinputdriver è ora lo standard.

Alcune delle sue opzioni possono essere configurate tramite il meccanismo X.org, ma la velocità e la sensibilità devono essere configurate con le regole udev per inserire i parametri del driver del kernel. (Vedi la risposta di @htorque per questo.)

Per configurare le altre opzioni, creare un file /etc/X11/xorg.conf.d/52-trackpoint-tweaks.conf(o un nome simile). Il file dovrebbe avere questo contenuto:

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

Per vedere l'effetto, devi riavviare X ovviamente. Per l'elenco delle altre opzioni X.org disponibili, consultare man (4) libinput .

Per un elenco delle proprietà xinput corrispondenti (ma con un nome diverso), vedere xinput --list-prop "TPPS/2 IBM TrackPoint"o ancora libinput man (4) . Puoi usarli per testare immediatamente gli effetti con i xinput --set-prop […]comandi, senza dover riavviare X ogni volta. Quindi usa gli equivalenti nel 52-trackpoint-tweaks.conffile per rendere permanenti le modifiche, come mostrato sopra.



0

Ho un thinkpad e ho tutto configurato come desiderato attraverso un'applicazione chiamata Pointing Devices, che è solo una finestra di dialogo delle impostazioni del mouse un po 'più avanzata.

Non ricordo quante opzioni ci fossero per la sensibilità, ma a differenza della schermata delle impostazioni del mouse integrata, questa ha riconosciuto il trackpoint e il trackpad in modo indipendente e ha permesso un maggiore controllo come l'impostazione del pulsante di scorrimento (era il pulsante 2 nella mia configurazione) e abilitando la sensibilità di rilevamento del palmo.


Non ci sono opzioni per la sensibilità o la velocità con gpointing-device-settings.
Jonathan Blackhall,

0

Su Ubuntu 12.04 Unity 2D su Thinkpad sl410 utilizzo la Mouse And Touchpadfinestra standard in Impostazioni. La modifica di Accelerazione o Velocità modifica anche la sensibilità di un trackpoint. Sebbene il comportamento sia invertito, la riduzione della velocità provoca un aumento della sensibilità del trackpoint. Le impostazioni persistono tra i riavvii.


0

Configurare le evdevopzioni tramite xorg.conf.d (DEPRECATED)

Il evdevdriver era il driver predefinito per il trackpoint nelle versioni precedenti di Ubuntu, ma a partire da Ubuntu 17.10, l'approccio di seguito è obsoleto e non funziona più immediatamente. Questo perché il evdevdriver che non è più installato di default in quanto il libinputdriver è lo standard ora - vedi la mia altra risposta per configurarlo.

Se lo desideri, puoi comunque utilizzare la evdevsoluzione seguente dopo aver installato il driver con sudo apt install xserver-xorg-input-evdev( sorgente ).

Tutto può essere configurato correttamente in un /etc/X11/xorg.conf.d/52-trackpoint-tweaks.conffile (o in modo simile - su Ubuntu, devi creare directory e file, ma il meccanismo funziona; forse uno dei nomi di directory è x11invece che X11in alcune versioni).

Il file dovrebbe avere questo contenuto:

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

Per vedere l'effetto, devi riavviare X ovviamente. Per giocare con queste impostazioni mentre X è in esecuzione, usa xinput, ma nota che i nomi delle opzioni sono diversi lì.

Come sottolineato da @Vitaly Dubyna, "Constant Deceleration" può essere utilizzato per controllare la sensibilità: riduce tutti i movimenti con quel fattore, quindi il valore "3" rende tutti i movimenti 3 volte più lenti rispetto al valore predefinito "1".

Documentazione delle opzioni:

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.