Який найкращий спосіб налаштувати TrackPoint Thinkpad?


41

Попередньо корисні сторінки ThinkWiki виглядають досить застарілими. Я намагаюся назавжди змінити налаштування чутливості та швидкості TrackPoint і дозволити прокручування середньої кнопки миші. Я раніше намагався configure-trackpoint, але налаштування не зберігалися назавжди (вони втрачаються після перезавантаження).

Я спробував gpointing-device-settings. Використовуючи це, я можу примусити прокрутку середньої кнопки миші працювати, але я не можу змінити параметри швидкості та чутливості точки доріжки. Усі методи на сторінці ThinkWiki, які я спробував, не працюють, як вказано в Ubuntu 11.04. Чи може хтось пояснити, як постійно редагувати налаштування TrackPoint, щоб я міг правильно його використовувати?

Відповіді:


47

На жаль, здається, що простий спосіб не існує. Я опишу те, як створити нове завдання Upstart для встановлення значень під час завантаження через віртуальну файлову систему under / sys.

  1. Знайдіть шлях пристрою вашої траєкторії

    Виконайте наступне в gnome-терміналі (натисніть Alt+ F2, введіть gnome-terminalта натисніть Enter):

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

    У моєму випадку це повертається /sys/devices/platform/i8042/serio1/serio2- змініть те, що повернеться вам за наступними кроками.

  2. Знайдіть значення для чутливості та швидкості

    Виконайте такі команди в gnome-терміналі:

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

    для чутливості 220 (це попросить вас пароль), і

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

    для швидкості 100. Після того, як ви знайшли цінності, з якими вам зручно, зробіть зміни постійними, використовуючи завдання Upstart:

  3. Створіть нове правило udev

    Тепер нам потрібно застосувати настройки під час запуску системи. Тому натисніть Alt+ F2, введіть gksu gedit /etc/udev/rules.d/trackpoint.rulesта натисніть Enter(це попросить вас ввести пароль). Потім вставте наступне:

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

    (Оновлення) Оскільки WAIT_FORзастаріло, у нових системах ви можете використовувати DEVPATHзамість цього:

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

    Збережіть файл і перезавантажте або виконайте команди вище:

    sudo udevadm control --reload-rules
    sudo udevadm trigger 
    

5
Дякую за дуже детальну відповідь. Тож я минулого вечора зробив ще кілька копань та налаштувань із статей ThinkWiki, і виявив щось інше, що спрацювало. Перші два кроки повинні бути однаковими. Замість завдання Upstart я використав правила udev. Я створив файл, натиснувши Alt + F2, набравши gksu gedit /etc/udev/rules.d/trackpoint.rulesта вставивши наступне: SUBSYSTEM=="serio", DRIVERS=="psmouse", WAIT_FOR="/sys/devices/platform/i8042/serio1/serio2/sensitivity", ATTR{sensitivity}="200", ATTR{speed}="150"Потім перезавантажте. Чи є якась причина, що я повинен використовувати правила Upstart vs udev?
Джонатан Блекхолл

ІМО, підхід udev - найкращий, дякую! Відредагував це у відповідь. :-)
htorque

1
ПРИМІТКА: використовуйте DEVPATH=="(дві рівні), інакше це не буде працювати. Неможливо редагувати публікацію лише однією зміною char, тому просто залишив коментар ..
baldr

Правило udev, здається, не працює в Ubuntu 16.04. Подивіться пізніші відповіді щодо інших підходів (наприклад, з Нгуєна Тхань Тунга).
MakisH

16

Так, ЩО МОЕ ДОПОМОГАЛИ ЗРОБИТИ ВІДПОВІДЬ БІЛЬШЕ СУСПІЛЬНО.

1. Легкий спосіб - це зробити в терміналі:

 $ xinput --list --short

Ви побачите щось подібне:

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. Знайдіть пристрій трекпойту. У моєму випадку це id = 10.

3. Потім зробіть в терміналі:

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

"10" тут - ідентифікатор пристрою (Lite-On Technology Corp. ThinkPad USB-клавіатура з TrackPoint id = 10), введіть тут свій ідентифікатор, а "0,5" - рівень чутливості. Ви можете експериментувати з чутливістю, поставивши числа, більші від 0 до 1000. Але це вам точно не потрібно. Чим менше число, тим більша швидкість.

Я використовую 0,4 або 0,45

4. ВАЖЛИВО. Коли буде вибрана швидкість, скопіюйте свій останній сценарій для автоматичного запуску.

введіть тут опис зображення

PS Якщо настройки перестали працювати одного дня, ще раз перевірте ідентифікатор. Можливо, деякі таблиці ваших пристроїв можуть змінитися, і ідентифікатор може змінитись.

Сподіваюся, це допоможе вам.

Насолоджуйтесь своїм ThinkPad!


2
На жаль, я розумію: property 'Device Accel Constant Deceleration' doesn't exist, you need to specify its type and formatНе знаєте, як це зробити ... будь-які пропозиції? (Thinkpad T420, Ubuntu 18.04)
JamesBB

1
Я думаю, що ви обмежені у властивостях, показаних xinput list-props $device_id(де device_id= 10 у наведеному вище прикладі). Наприклад, на моєму Thinkpad X1c5, що працює 18.04, у мене є властивість під назвою, libinput Accel Speedяка здається настроюваною
sxc731,

1
До речі, зміна гумової кришки Trackpoint також може допомогти. Моєму було безнадійно важко (до мого болю мій палець), і після ретельного його зносу (протягом лише 18 місяців, що ніколи не траплялося на багатьох попередніх ThinkPads) я вирішив вкласти близько 15 доларів у замінники (Lenovo частина № 4XH0L55146, поставляється з 10 з них). Результат дивовижний: мій Trackpoint пішов від занадто важкого до фактично занадто чутливого. Налаштування, яка працює для мене зараз (X1c5 з TPPS/2 ALPS TrackPoint18.04), є "libinput Accel Speed" -1.0(це мінімальна настройка прискорення). YMMV звичайно
sxc731

1
У мене Thinkpad E480 і Ubuntu 18.04 і xinput --set-prop "12" "libinput Accel Speed" -0.5команда працювала
Xavitoj Cheema

1
Найчастіше відповідь перестала працювати після останнього оновлення системи чомусь (Arch / Manjaro). Це працювало для мене. Спасибі.
xji

13

Для моєї Thinkpad T530 та Ubuntu 15.10. Просто використовуйте:

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

а потім додайте наступний вміст і перезапустіть. Значення налаштування буде збережено.

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"

Це працює навіть тоді, коли файлів, необхідних в інших відповідях (serio1 / чутливість), не існує
Soupy

Це, здається, працювало на мене. :) (ThinkpadT420, Ubuntu18.04). Просто потрібно пограти з налаштуваннями, трохи втомливо потрібно кожного разу перезавантажуватися, але я можу з цим жити.
JamesBB

2
Запуск @JamesBB udevadm trigger --action add --subsystem allзмусить udev застосовувати правила до всіх присутніх пристроїв.
CameronNemo

@CameronNemo - спробую це, дякую! Здається, це потрібно --subsystem-match all, але я думаю, що це працює.
JamesBB

4

@ vitaly-dubyna має правильну відповідь. На Debian його метод працює бездоганно. Щоб полегшити ваше життя, помістіть файл .xsessionrcу домашній каталог із усіма налаштуваннями, щоб він завантажувався після кожного перезавантаження.

зробити нове використання файлів vim, pico, gedit-

vim .xsessionrc 

потім приклейте всередину

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

де перші 4 лінії - це налаштування вертикальної та горизонтальної прокрутки за допомогою точки доріжки, а остання лінія - для контролю швидкості та чутливості.

Зауважте, що оскільки ідентифікатор пристрою може змінюватися залежно від того, чи ввімкнено / вимкнено деякі пристрої введення в BIOS, бажано використовувати ім'я пристрою в лапках. Для більшості аналітичних блоків TPPS/2 IBM TrackPointце посилання.


** РЕДАКЦІЯ: ** Лис 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
У вашому "Evdev Wheel Emulation Axes"налаштуваннях використовується природна прокрутка по горизонталі, звичайна вертикальна прокрутка. Я думаю, що більшість бажає прокручування (використання 7 6 5 4) або звичайного прокручування (використання 6 7 4 5).
таніус

Станом на Ubuntu 17.10 evdevдрайвер, на який покладається це рішення, більше не встановлений за замовчуванням. Ви все ще можете встановити його sudo apt install xserver-xorg-input-evdevабо використовувати libinputзамість нього драйвер за замовчуванням . У такому випадку відповідь @htorque - це спосіб налаштувати швидкість та чутливість.
таній

4

Це ґрунтується на відповіді Віталія Дубини, але оновлено для роботи для останніх (2019) версій Thinkpads та Xorg (завдяки коментарям до цієї відповіді).

У командному рядку введіть цю команду (лише частину після $):

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

Примітка id = 12 (може бути різною у вашій системі).

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

Експериментуйте з налаштуванням швидкості; Дозволені негативні значення. Наприклад,

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

Після задоволення додайте команду як додаток для запуску (як правило, у меню Пуск> Налаштування> Програми запуску).

Вищевказане ім'я налаштування підтверджено для моделей Thinkpad X1c5 (Ubuntu 18.04), E480 (18.04) та E490 (Монетний двір 19.1).


2

Налаштування libinputпараметрів за допомогою xorg.conf.d та udev

Станом на Ubuntu 17.10, libinputдрайвер тепер стандартний.

Деякі його параметри можна налаштувати за допомогою механізму X.org, але швидкість та чутливість потрібно налаштувати за допомогою правил udev для введення параметрів драйвера ядра. (Про це дивіться відповідь @htorque .)

Для налаштування інших параметрів створіть файл /etc/X11/xorg.conf.d/52-trackpoint-tweaks.conf(або названий аналогічно). Файл повинен містити такий вміст:

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

Щоб побачити ефект, вам потрібно перезапустити X звичайно. Перелік інших доступних параметрів X.org див . У лібінпуті man (4) .

Для переліку відповідних (але інакше названих) властивостей xinput див. xinput --list-prop "TPPS/2 IBM TrackPoint"Або знову людина (4) libinput . Ви можете використовувати їх для негайного тестування ефектів за допомогою xinput --set-prop […]команд, без необхідності щоразу перезапускати X. А потім використовуйте еквіваленти у 52-trackpoint-tweaks.confфайлі, щоб зміни були постійними, як показано вище.


1

Якщо ви використовуєте Ubuntu 15.04 або новішу версію (на якій буде встановлено SystemD замість Upstart), тут розміщений метод, який ви можете використовувати:

https://askubuntu.com/a/611076/253579


0

У мене є роздумник і я все налаштував за бажанням через додаток під назвою Pointing Devices, який є лише трохи більш вдосконаленим діалогом налаштувань миші.

Я не пригадую, скільки варіантів було для чутливості, але на відміну від вбудованого екрана налаштувань миші, цей перезнайомив трекпойнт та трекпад незалежно та дозволив зробити більш широкий контроль, як встановлення кнопки прокрутки (була кнопка 2 у моїй конфігурації) та що дозволяє чутливість долоні.


Немає варіантів чутливості або швидкості за допомогою налаштувань пристрою gpointing.
Джонатан Блекхолл

0

У Ubuntu 12.04 Unity 2D на Thinkpad sl410 я використовую стандартне Mouse And Touchpadвікно в налаштуваннях. Зміна прискорення або швидкості також змінює чутливість точки доріжки. Незважаючи на те, що поведінка зворотна, зниження швидкості викликає підвищення чутливості доріжки. Налаштування зберігаються між перезавантаженнями.


0

Налаштування evdevпараметрів за допомогою xorg.conf.d (ВИДАДЕНО)

У evdevбільш ранніх версіях Ubuntu драйвер був типовим драйвером для точки сліду, але, як для Ubuntu 17.10, підхід нижче застарілий і більше не працює. Це тому, що evdevдрайвер, який вже не встановлений за замовчуванням, як libinputдрайвер зараз є стандартним - див. Іншу відповідь для налаштування цього.

Якщо ви хочете, ви все ще можете скористатися evdevрішенням нижче, встановивши драйвер із sudo apt install xserver-xorg-input-evdev( джерело ).

Все можна добре налаштувати у /etc/X11/xorg.conf.d/52-trackpoint-tweaks.confфайлі (або так само названо - на Ubuntu, ви повинні створити каталог і файл, але механізм працює; можливо, одне з назв каталогів x11замість X11деяких версій).

Файл повинен містити такий вміст:

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

Щоб побачити ефект, вам потрібно перезапустити X звичайно. Щоб грати з цими налаштуваннями під час запуску X, використовуйте xinput, але зауважте, що назви опцій там різні.

Як вказував @Vitaly Dubyna, "Постійне уповільнення" можна використовувати для контролю чутливості - воно зменшує всі рухи цим фактором, тому значення "3" робить усі рухи в 3 рази повільнішими порівняно зі стандартним "1".

Варіант документації:

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.