Jaki jest najlepszy sposób skonfigurowania TrackPoint Thinkpad?

41

Wcześniej przydatne strony ThinkWiki wydają się dość przestarzałe. Próbuję trwale zmienić ustawienia czułości i prędkości TrackPoint oraz włączyć przewijanie środkowym przyciskiem myszy. W przeszłości próbowałem skonfigurować-trackpoint, ale ustawienia nie zostały zapisane na stałe (są tracone po ponownym uruchomieniu).

Próbowałem gpointing-device-settings. Za jego pomocą mogę przewinąć środkowy przycisk myszy do pracy, ale nie mogę zmienić ustawień prędkości ani czułości punktu ścieżki. Wszystkie metody na stronie ThinkWiki, które wypróbowałem, nie działają zgodnie z zaleceniami Ubuntu 11.04. Czy ktoś może wyjaśnić, jak trwale edytować ustawienia TrackPoint, aby móc prawidłowo z niego korzystać?

Jonathan Blackhall
źródło

Odpowiedzi:

47

Niestety wydaje się, że nie ma łatwego sposobu. Opiszę, jak utworzyć nowe zadanie Upstart, aby ustawić wartości podczas rozruchu przez wirtualny system plików w / sys.

  1. Znajdź ścieżkę urządzenia swojego trackpointa

    Uruchom następujące polecenie w terminalu gnome (naciśnij Alt+ F2, wpisz gnome-terminali naciśnij Enter):

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

    W moim przypadku to zwraca /sys/devices/platform/i8042/serio1/serio2- w kolejnych krokach zmień to, co zwraca.

  2. Znajdź wartości czułości i prędkości

    Uruchom następujące polecenia w gnome-terminal:

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

    dla czułości 220 (poprosi o podanie hasła), i

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

    dla prędkości 100. Gdy znajdziesz wartości, z którymi czujesz się komfortowo, zmień je na stałe za pomocą zadania Upstart:

  3. Utwórz nową regułę udev

    Teraz musimy zastosować ustawienia podczas uruchamiania systemu. Dlatego naciśnij Alt+ F2, wpisz gksu gedit /etc/udev/rules.d/trackpoint.rulesi naciśnij Enter(poprosi o podanie hasła). Następnie wklej następujące elementy:

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

    (Aktualizacja) Jak WAIT_FORjest przestarzałe, w nowszych systemach można DEVPATHzamiast tego użyć :

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

    Zapisz plik i uruchom ponownie lub uruchom powyższe polecenia:

    sudo udevadm control --reload-rules
    sudo udevadm trigger 
    
htorque
źródło
5
Dziękuję za bardzo szczegółową odpowiedź. Wczoraj wieczorem trochę więcej kopałem i poprawiałem w artykułach ThinkWiki i odkryłem coś, co zadziałało. Pierwsze dwa kroki powinny być takie same. Zamiast zadania Upstart użyłem reguł udev. Utworzyłem plik, naciskając klawisze Alt + F2, wpisując gksu gedit /etc/udev/rules.d/trackpoint.rulesi wklejając następujące polecenia: SUBSYSTEM=="serio", DRIVERS=="psmouse", WAIT_FOR="/sys/devices/platform/i8042/serio1/serio2/sensitivity", ATTR{sensitivity}="200", ATTR{speed}="150"Następnie uruchom ponownie komputer. Czy jest jakiś powód, dla którego powinienem używać reguł Upstart vs udev?
Jonathan Blackhall
IMO podejście udev jest lepsze, dzięki! Zmieniłem to w odpowiedzi. :-)
htorque
1
UWAGA: użyj DEVPATH=="(dwa równe), w przeciwnym razie nie zadziała. Nie można edytować postu za pomocą jednej zmiany char, więc zostawiłem komentarz ..
baldr
Wydaje się, że reguła udev nie działa w Ubuntu 16.04. Zobacz późniejsze odpowiedzi dla innych podejść (np. Z Nguyen Thanh Tung).
MakisH,
16

Co pomogło mi uczynić TRACKPOINT BARDZIEJ WRAŻLIWYM.

1. Najłatwiejszym sposobem jest zrobienie w terminalu:

 $ xinput --list --short

Zobaczysz coś takiego:

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. Znajdź urządzenie trackpoint. W moim przypadku jest to id = 10.

3. Następnie wykonaj w terminalu:

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

„10” tutaj to identyfikator urządzenia (Lite-On Technology Corp. ThinkPad Klawiatura USB z TrackPoint id = 10), umieść tutaj swój identyfikator, a „0,5” to poziom czułości. Możesz eksperymentować z czułością, ustawiając liczby większe od 0 do 1000. Ale na pewno nie potrzebujesz. Im mniejsza liczba, tym wyższa prędkość.

Używam 0,4 lub 0,45

4. WAŻNE. Po wybraniu prędkości skopiuj ostatni skrypt do autostartu.

wprowadź opis zdjęcia tutaj

PS Jeśli ustawienia przestały działać któregoś dnia, sprawdź ponownie identyfikator. Mogą wystąpić pewne zmiany w tabeli urządzeń, a identyfikator może ulec zmianie.

Mam nadzieję, że ci to pomoże.

Ciesz się swoim ThinkPadem!

Witalij Dubyna
źródło
2
Niestety otrzymuję: property 'Device Accel Constant Deceleration' doesn't exist, you need to specify its type and formatNie jestem pewien, jak to zrobić ... jakieś sugestie? (Thinkpad T420, Ubuntu 18.04)
JamesBB
1
Myślę, że jesteś ograniczony do właściwości pokazanych przez xinput list-props $device_id(gdzie device_id= 10 w powyższym przykładzie). Na przykład na moim Thinkpadzie X1c5 z 18.04 mam właściwość o nazwie, libinput Accel Speedktóra wydaje się
możliwa do ulepszenia
1
BTW, zmiana gumowej nasadki Trackpoint może również pomóc. Mój był beznadziejnie twardy (do tego stopnia, że ​​bolał mnie palec) i po jego całkowitym zużyciu (w ciągu zaledwie 18 miesięcy, co nigdy nie zdarzyło się na wielu poprzednich ThinkPadach) postanowiłem zainwestować około 15 USD w czapki zastępcze (część Lenovo nr 4XH0L55146, pochodzi z 10 z nich). Rezultat jest niesamowity: mój Trackpoint przeszedł ze zbyt trudnego do faktycznego zbyt wrażliwego. Ustawienie, które teraz działa dla mnie (X1c5 z TPPS/2 ALPS TrackPoint18.04) to "libinput Accel Speed" -1.0(ustawienie minimalnego przyspieszenia). YMMV oczywiście
sxc731
1
Mam thinkpad E480 i Ubuntu 18.04 i xinput --set-prop "12" "libinput Accel Speed" -0.5polecenie działało
Xavitoj Cheema
1
Najpopularniejsza odpowiedź przestała działać po ostatniej aktualizacji systemu z jakiegoś powodu (Arch / Manjaro). To zadziałało dla mnie. Dzięki.
Xji
13

Dla mojego Thinkpad T530 i Ubuntu 15.10. Po prostu użyj:

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

a następnie dodaj następującą treść, a następnie uruchom ponownie. Wartość ustawienia zostanie zachowana.

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
źródło
Działa to nawet wtedy, gdy pliki potrzebne w innych odpowiedziach (serio1 / czułość) nie istnieją
Soupy
Wydaje się, że to zadziałało dla mnie. :) (ThinkpadT420, Ubuntu18.04). Wystarczy grać z ustawieniami, trochę żmudne za każdym razem restartować, ale mogę z tym żyć.
JamesBB
2
Uruchomienie @JamesBB udevadm trigger --action add --subsystem allspowoduje, że udev zastosuje reguły do ​​wszystkich obecnych urządzeń.
CameronNemo,
@CameronNemo - spróbuje tego, dzięki! Wydaje się to potrzebne --subsystem-match all, ale myślę, że to działa.
JamesBB
4

@ vitaly-dubyna ma poprawną odpowiedź. W Debianie jego metoda działa bezbłędnie. Aby ułatwić Ci życie, umieść plik .xsessionrcw katalogu domowym ze wszystkimi ustawieniami, aby był ładowany po każdym ponownym uruchomieniu.

tworzyć nowe zastosowanie plików vim, pico, gedit-

vim .xsessionrc 

następnie włóż to do środka

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

gdzie pierwsze 4 linie służą do ustawiania przewijania w pionie i poziomie za pomocą punktu ścieżki, a ostatnia linia służy do sterowania prędkością / czułością.

Należy pamiętać, że ponieważ identyfikator urządzenia może się zmieniać w zależności od tego, czy niektóre urządzenia wejściowe są włączone / wyłączone w systemie BIOS, lepiej jest używać nazwy urządzenia w cudzysłowie. Dla większości thinkpadów TPPS/2 IBM TrackPointjest to odniesienie.


** EDYCJA: ** listopad 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
źródło
1
Twoje "Evdev Wheel Emulation Axes"ustawienie wykorzystuje naturalne przewijanie w poziomie, normalne przewijanie w pionie. Myślę, że większość chce całkowicie naturalnego przewijania (używania 7 6 5 4) lub normalnego przewijania (używania 6 7 4 5).
tanius
Od wersji Ubuntu 17.10 evdevsterownik, na którym opiera się to rozwiązanie, nie jest już domyślnie instalowany. Nadal możesz go zainstalować za sudo apt install xserver-xorg-input-evdevpomocą domyślnego libinputsterownika. W takim przypadku odpowiedź @htorque to sposób na skonfigurowanie szybkości i czułości.
tanius
4

Jest to oparte na odpowiedzi Witalija Dubyny, ale zaktualizowane do pracy z najnowszymi (2019) wersjami Thinkpadów i Xorga (dzięki komentarzom do tej odpowiedzi).

W wierszu polecenia wprowadź to polecenie (tylko część po znaku $):

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

Uwaga id = 12 (może być inny w twoim systemie).

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

Eksperymentuj z ustawieniem prędkości; dozwolone wartości ujemne. Na przykład,

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

Gdy będziesz zadowolony, dodaj polecenie jako aplikację startową (zazwyczaj w menu Start> Preferencje> Aplikacje startowe).

Powyższa nazwa ustawienia została potwierdzona dla modeli Thinkpad X1c5 (Ubuntu 18.04), E480 (18.04) i E490 (Mint 19.1).

Han-Kwang Nienhuys
źródło
2

Skonfiguruj libinputopcje za pomocą xorg.conf.d i udev

Począwszy od Ubuntu 17.10, libinputsterownik jest teraz standardem.

Niektóre z jego opcji można skonfigurować za pomocą mechanizmu X.org, ale szybkość i czułość należy skonfigurować za pomocą reguł udev, aby wprowadzić parametry sterownika jądra. (Zobacz na to odpowiedź @htorque .)

Aby skonfigurować inne opcje, utwórz plik /etc/X11/xorg.conf.d/52-trackpoint-tweaks.conf(lub podobnie nazwany). Plik powinien mieć następującą treść:

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

Aby zobaczyć efekt, musisz oczywiście zrestartować X. Na liście innych dostępnych opcji X.org, patrz man (4) libinput .

Aby uzyskać listę odpowiednich (ale o różnych nazwach) właściwości xinput, zobacz xinput --list-prop "TPPS/2 IBM TrackPoint"lub ponownie man (4) libinput . Możesz ich użyć do natychmiastowego przetestowania efektów za pomocą xinput --set-prop […]poleceń, bez konieczności ponownego uruchamiania X za każdym razem. A następnie użyj odpowiedników w 52-trackpoint-tweaks.confpliku, aby wprowadzić zmiany na stałe, jak pokazano powyżej.

Tanius
źródło
0

Mam thinkpad i wszystko skonfigurowałem zgodnie z potrzebami za pomocą aplikacji o nazwie Pointing Devices, która jest tylko nieco bardziej zaawansowanym oknem ustawień myszy.

Nie pamiętam, ile było opcji czułości, ale w przeciwieństwie do wbudowanego ekranu ustawień myszy, ten rozpoznał niezależnie trackpoint i gładzik i pozwolił na większą kontrolę, jak ustawienie przycisku przewijania (był to przycisk 2 w mojej konfiguracji) i włączanie czułości wykrywania dłoni.

Andrzej
źródło
Nie ma opcji czułości ani prędkości z ustawieniami urządzenia gpointing.
Jonathan Blackhall
0

W systemie Ubuntu 12.04 Unity 2D na Thinkpad sl410 używam standardowego Mouse And Touchpadokna w Ustawieniach. Zmiana przyspieszenia lub prędkości zmienia również czułość punktu trasy. Chociaż zachowanie jest odwrócone - zmniejszenie prędkości powoduje zwiększenie czułości trackpointów. Ustawienia będą się powtarzać między restartami.

Ayrat
źródło
0

Konfiguruj evdevopcje za pomocą xorg.conf.d (DEPRECATED)

evdevKierowca był kierowca domyślna trackpoint we wcześniejszych wersjach Ubuntu, ale Ubuntu 17.10, poniżej podejście jest przestarzała i nie działa po wyjęciu z pudełka już. Wynika to z faktu, że evdevsterownik, który nie jest już domyślnie instalowany, ponieważ libinputjest teraz standardem - zobacz moją drugą odpowiedź na jego skonfigurowanie.

Jeśli chcesz, nadal możesz skorzystać z evdevponiższego rozwiązania po zainstalowaniu sterownika za pomocą sudo apt install xserver-xorg-input-evdev( źródła ).

Wszystko można ładnie skonfigurować w /etc/X11/xorg.conf.d/52-trackpoint-tweaks.confpliku (lub o podobnej nazwie - w Ubuntu musisz utworzyć katalog i plik, ale mechanizm działa; być może jedna z nazw katalogów jest x11inna niż X11w niektórych wersjach).

Plik powinien mieć następującą treść:

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

Aby zobaczyć efekt, musisz oczywiście zrestartować X. Aby grać z tymi ustawieniami, gdy X jest uruchomiony, użyj xinput, ale pamiętaj, że nazwy opcji są tam różne.

Jak zauważył @Vitaly Dubyna, „Stałe zwalnianie” może być użyte do kontrolowania czułości - skaluje wszystkie ruchy z tym współczynnikiem, więc wartość „3” powoduje, że wszystkie ruchy są 3 razy wolniejsze w porównaniu do domyślnego „1”.

Dokumentacja opcji:

Tanius
źródło