Как лучше всего настроить трекпоинт Thinkpad?

41

Ранее полезные страницы ThinkWiki выглядят довольно устаревшими. Я пытаюсь навсегда изменить настройки чувствительности и скорости TrackPoint и включить прокрутку средней кнопкой мыши. Я пытался настроить трекпоинт в прошлом, но настройки не были сохранены постоянно (они теряются после перезапуска).

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

Джонатан Блэкхолл
источник

Ответы:

47

К сожалению, кажется, нет простого пути. Я опишу, как создать новое задание Upstart для установки значений при загрузке через виртуальную файловую систему в / 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 
    
htorque
источник
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=="(два равных), иначе это не сработает. Невозможно отредактировать сообщение только с одной заменой символа, поэтому просто оставил комментарий ..
baldr
Правило udev не работает в Ubuntu 16.04. Смотрите более поздние ответы для других подходов (например, от Нгуен Тхань Тунг).
MakisH
17

Так, что помогло мне сделать точку отслеживания более чувствительным.

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., USB-клавиатура ThinkPad с идентификатором TrackPoint = 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 месяцев, чего никогда не было на многих предыдущих ThinkPad), я решил инвестировать около 15 долларов в колпачки для замены (деталь Lenovo № 4XH0L55146 поставляется с 10 из них). Результат поразительный: мой трекпоинт прошел путь от слишком сложного до слишком чувствительного. Настройка, которая работает для меня сейчас (X1c5 с TPPS/2 ALPS TrackPoint18.04), это "libinput Accel Speed" -1.0(настройка минимального ускорения). YMMV конечно
sxc731
2
У меня есть 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, но я думаю, что это работает.
ДжеймсББ
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, предпочтительно использовать имя устройства в кавычках. Для большинства ThinkPad 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) Thinkpad и 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 (Mint 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) libinput .

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

tanius
источник
1

Если вы используете Ubuntu 15.04 или более позднюю версию (на которой вместо Upstart будет установлен SystemD), здесь есть метод, который вы можете использовать:

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

Акива
источник
0

У меня есть ThinkPad, и я все настроил с помощью приложения под названием «Указывающие устройства», которое представляет собой немного более продвинутый диалог настроек мыши.

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

Эндрю
источник
Нет настроек чувствительности или скорости с настройками gpointing-device.
Джонатан Блэкхолл
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» по умолчанию.

Опционная документация:

tanius
источник