LINUX.ORG.RU

Пропатченый synaptics для тачпадов Lenovo Thinkpad 2014 года

 ,


1

1

Имеется вот такой вот тачпад: http://assets.sbnation.com/assets/3145607/DSC00798_gallery_post.jpg

Засада в том, что верхня область (до красной полоски) используется как кнопки мыши. Это удобно, только разработчики Synaptics на такое не рассчитывали.
Решение собственно имеется, во вот не могу адаптировать его под OpenSuse. Ниразу не доводилось собирать rpm пакеты, маны, которые гуглились, выглядят как-то очень сумбурно.

Cуть решеня - применить патч, который подготовили парни из команды арча на родные пакеты системы, собрать и установить rpm-ку. Есть готовый скрипт для убунту:

echo --------------------------------------------------------------------

sudo apt-get install libevdev-dev libevdev2
sudo apt-get build-dep xserver-xorg-input-evdev xserver-xorg-input-synaptics

wget https://launchpad.net/ubuntu/+archive/primary/+files/xserver-xorg-input-evdev_2.9.0.orig.tar.gz
wget https://launchpad.net/ubuntu/+archive/primary/+files/xserver-xorg-input-evdev_2.9.0-1ubuntu1.diff.gz
wget https://launchpad.net/ubuntu/+archive/primary/+files/xserver-xorg-input-evdev_2.9.0-1ubuntu1.dsc

wget https://launchpad.net/ubuntu/+archive/primary/+files/xserver-xorg-input-synaptics_1.8.0.orig.tar.gz
wget https://launchpad.net/ubuntu/+archive/primary/+files/xserver-xorg-input-synaptics_1.8.0-1~exp2ubuntu2.diff.gz
wget https://launchpad.net/ubuntu/+archive/primary/+files/xserver-xorg-input-synaptics_1.8.0-1~exp2ubuntu2.dsc

dpkg-source -x --no-check xserver-xorg-input-evdev_2.9.0-1ubuntu1.dsc
dpkg-source -x --no-check xserver-xorg-input-synaptics_1.8.0-1~exp2ubuntu2.dsc

wget https://aur.archlinux.org/packages/xf/xf86-input-evdev-trackpoint/xf86-input-evdev-trackpoint.tar.gz

tar -xzf xf86-input-evdev-trackpoint.tar.gz

mv xf86-input-evdev-trackpoint arch
mv xserver-xorg-input-evdev-2.9.0 evdev
mv xserver-xorg-input-synaptics-1.8.0 synaptics

cp synaptics/src/{eventcomm.c,eventcomm.h,properties.c,synaptics.c,synapticsstr.h,synproto.c,synproto.h} evdev/src
cp synaptics/include/synaptics-properties.h evdev/src
cp arch/*.patch evdev

cd evdev
patch -p1 -i 0001-implement-trackpoint-wheel-emulation.patch
patch -p1 -i 0004-disable-clickpad_guess_clickfingers.patch
patch -p1 -i 0006-add-synatics-files-into-Makefile.am.patch

dpkg-buildpackage

cd ..
sudo dpkg -i xserver-xorg-input-evdev_*.deb
sudo apt-get remove xserver-xorg-input-synaptics

sudo mkdir /etc/X11/xorg.conf.d/
sudo cp arch/90-evdev-trackpoint.conf /etc/X11/xorg.conf.d

echo If everything was OK, than logout/reboot and enjoy fully working ThinkPad Trackpoint/ClickPad
echo If you want to deactivate touch area of ClickPad for pure TrackPoint usage
echo edit /etc/X11/xorg.conf.d/90-evdev-trackpoint.conf and change "0" to "1" at line
echo Option "AreaBottomEdge" "0" 
echo Regards, T_Send

Прошу помочь в следующем:

  • Как вычислить URL для скачивания исходников для evdev, synaptics под OpenSuse 13.2 ? (думаю можно скачать zypper-ом потом выдрать из папки, только какой?)
  • что необходимо добавить, сконфигурить перед созданием пакета после применения патча ?
  • как собрать rmp-ку ? (если rmpbuild - какие параметры нужны)


Версии пакетов совпадают, проблем при применении патча не будет.

PS: сорри, не верное название темы. Патч же удаляет synaptics обновив при этом evdev.

★★★★

Последнее исправление: ii8_ (всего исправлений: 1)

Команда для установки зависимостей для компиляции из исходного кода: zypper si -d пакет. Скачай SRPM-пакет с сайта http://software.opensuse.org/. Как распаковать, но не собирать, я не знаю (но это можно найти в поисковике). Я знаю только что собрать SRPM - командой rpmbuild --rebuild пакет.src.rpm, а собрать пакет из spec-файла - rpmbuild -ba пакет.spec. Я просто запускаю первую команду, а после успешной распаковки пакета перехожу в каталог со spec-файлами, редактирую его, и запускаю вторую команду.

Редактировать легко, там список патчей %patch0, %patch1 и так далее - дописываешь свой %patch2 и всё. Далее - сама команда накладывания патча (где-то ниже) - аналогично патчам 0 и 1. Нужно положить файлы патчей в каталог SOURCES - например если окружение сборки создалось в /home/username/packages, то это /home/username/packages/SOURCES, а если в /usr/src/packages, то /usr/src/packages/SOURCES. Я не знаю по какой логике создаётся сборочное окружение! Знаю только что запись от пользователя в /usr/src/packages почему-то доступна.

ZenitharChampion ★★★★★
()

неужели и правда работает как надо, как на старых thinkpad с тремя настоящими кнопками?

LiBer ★★★
()

У меня искаробочный synaptics в 13.1 на t540p работает.
Кнопки на этом недоразумении делаются так:
synclient TouchpadOff=0

synclient RTCornerButton=3
synclient LBCornerButton=6
synclient RBCornerButton=7

synclient MiddleButtonAreaTop=0
synclient MiddleButtonAreaBottom=2900
synclient MiddleButtonAreaLeft=2870
synclient MiddleButtonAreaRight=3499

synclient RightButtonAreaTop=0
synclient RightButtonAreaBottom=2900
synclient RightButtonAreaLeft=3500
synclient RightButtonAreaRight=4858

synclient areaTopEdge=3300

tzukko
()
Ответ на: комментарий от LiBer

Как отмечено, нет, не работает искаропки и как это посчинить яхз.
Я тоже заинтересован в нормальном функционировании этой погани ака «новый тачпад».
Буду следить за темой.

tzukko
()
Ответ на: комментарий от tzukko

ну всё готово же)
Вот rpm-ка: https://dl.dropboxusercontent.com/u/25237842/openSuse/xf86-input-evdev-2.9.0-...
Что сделано:
1. Применил патч подготовленный для арча
2. Удалил из билда evdev конфиг от Suse 11-evdev.conf (в нём специфические настройки для старых тапчпадов), не совместимый с конфигом из патча
3. Увеличил минорную версию пакета во избежание конфликта с существующим.
Делал для себя, не ругайте.
Synaptics лучше потом удалить. Он не нужен.

ii8_ ★★★★
() автор топика
Последнее исправление: ii8_ (всего исправлений: 1)
Ответ на: комментарий от tzukko

так пробовал, всё ок, только не будет скролить на среднюю кнопку.

ii8_ ★★★★
() автор топика
Ответ на: комментарий от ZenitharChampion

Спасибо огромное! Всё получилось! Только у меня во домашней директории оно создало одноимённую папку «rmpbuild» с набором нужных папок внутри.
Всё оказалось оч просто, понятно и разумно.

ii8_ ★★★★
() автор топика
Ответ на: комментарий от t184256

у меня e540. Кнопки работали не так как на офтопике, не так как положено)

ii8_ ★★★★
() автор топика
Ответ на: комментарий от ii8_

Пожалуйста! Я тут попробовал сам, оказалось что без параметра -d SRPM скачивается сам, без http://software.opensuse.org/ Я усложнил немного. Ну да ладно!

> «rpmbuild» с набором нужных папок внутри

Это да, как-то странно создаются окружения сборки. За время моих наблюдений оно появлялось в 3 местах:

1) /home/username/packages
2) /home/username/rpmbuild
3) /usr/src/packages (при этом запись от пользователя работает)

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 1)

openSuSE? https://build.opensuse.org/package/show/home:pztrn/xf86-input-evdev

Сам страдал, еще на генте, в итоге адаптировал арчевский PKGBUILD в ebuild, а потом его же в опенсусевский пакет.

Ну и для абсолютной полноты эффекта рекомендую это в автозапуск, если нужно вообще отключить тачпад, но оставить работоспособными кнопки: http://paste.pztrn.name/1348/. Правда, не знаю, как оно сейчас будет в опенсусе, у меня не работало (а в генте и сейчас работает). Надо доработать.

pztrn ★★★★
()
Ответ на: комментарий от pztrn

Где же ты был раньше)
У меня всё заработало как положен, как на офтопике.
Единственное - там арчевские патчи были для synaptics-1.8.0 и evdev-2.9.0.
В 13.2 используются synaptics-1.8.1 и evdev-2.9.0. Поэтому использовал старую версию синпатика, иначе не патчилось)

ii8_ ★★★★
() автор топика
Ответ на: комментарий от ii8_

Ну, с моими файликами будет уже проще. Я посмотрел лог, оно жалуется на отсутствие automake-1.14. Тебе надо починить только это :).

pztrn ★★★★
()
Ответ на: комментарий от pztrn

дык я уже всё запилил. до того как ты файлики показал) спс

ii8_ ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.