barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

вторник, 7 июня 2011 г.

Touchscreen eGalax на EeePC T101MT в Debian

Итак, пара часов в сумасшедших поисках, пара десятков перезагрузок и рецепт, как заставить работать тачскрин EeePC T101MT под Debian Squeeze найден.
Изначально проблема была такая - устройство вроде бы видется (в lsusb его почему-то нет, но xinput list его показывает), вот только независимо от места клика курсор убегает в левый верхний угол. Впрервые столкнулся с таким делом в Дебиане, в Убунте и Федоре все работало из коробки (в Убунте правда я ещё доставлял egalax-multitouch-driver-common из ppa:plippo/t101mt для удобных функций вращения экрана вместе с тачем на 90/180/270 градусов). Перепробовал различные конфиги через evdev / evtouch, ничего не помогало. Место клика перемещалось по экрану, однако все равно от места реального прикосновения к экрану никак не зависело.
В итоге после следующих действий все заработало, причем, в отличие от предыдущих Линухов с работающим "из коробки" тачем, у меня в руках оказалось ещё и средство калибровки от производителя:
1) Отключить работу тачскрина через evdev: в файле /usr/share/X11/xorg.conf.d/10-evdev.conf я закомментировал все блоки "Section", связанные с тачскрином (иначе события тачскрина будут обрабатываться дважды - и родным драйвером, и evdev`ом; блок, связанный с "Tablet", я тоже на всякий случай закомментировал):
#Section "InputClass"
# Identifier "evdev tablet catchall"
# MatchIsTablet "on"
# MatchDevicePath "/dev/input/event*"
# Driver "evdev"
#EndSection
#Section "InputClass"
# Identifier "evdev touchscreen catchall"
# MatchIsTouchscreen "on"
# MatchDevicePath "/dev/input/event*"
# Driver "evdev"
#EndSection
2) Сгенерировать конфиг иксов, которого в дебианоподобных системах нет (а он будет нужен установщику родного драйвера eGalax):
CTRL + ALT + F1 (переведет систему в консольный режим, из которого можно будет вернуться нажатием ALT + F7)
зайти под рутом (ну или делать все следующие действия через sudo)
service gdm3 stop
Xorg -configure
mv /root/xorg.conf.new /etc/X11/xorg.conf
service gdm3 start
3) Скачать и распаковать родной егалаксовский драйвер:
http://home.eeti.com.tw/web20/eGalaxTouchDriver/linuxDriver.htm
По ссылке имеются версии драйвера для версий ядра 2.4.x и 2.6.x, узнать, какая версия ядра у Вас, можно, набрав в консоли uname -r.

4) Запустить из-под рута setup.sh. Ответить на вопрос, к чему подключен экран, 3 вариант, т.е. USB. Перезагрузиться.

5)  Запустить eGalaxTouch, поковыряться в настройках, откалибровать по 4 точкам.

И всё, должно наступить счастье =)

7 комментариев:

  1. Спасибо за статью, тачскрин заработал.

    Добавлю от себя пару моментов:
    1) папки /etc/share/ я у себя не нашел, поэтому пропустил пункт 1, но все равно тачскрин заработал :)
    2) при нажатии CTRL + ALT + F1 система переходит в консольный вид, что может испугать неопытного пользователя, как меня например. Для возврата в оконный режим надо нажать CTRL + ALT + F7
    3) по ссылке есть файлы для версий 2.4 и 2.6, чтобы узнать свою версию надо ввести в консоли команду:
    uname -a

    Вроде, все :)

    ОтветитьУдалить
  2. очень рад что моя заметка помогла :)
    Сейчас подправлю её с учетом Ваших замечаний

    ОтветитьУдалить
  3. а у меня не калибруется
    курсор бездумно бегает в нижнем левом углу(

    ОтветитьУдалить
  4. azako, прошу прощения, насчет /etc/share/ это я ошибся, на самом деле это /usr/share/X11/xorg.conf.d/10-evdev.conf. У меня просто после очередного обновления мои изменения в 10-evdev.conf затерлись, и тачскрипн стал дважды реагировать на клик, один раз - как надо, а второй - evdev`ом, убегая курсором в левый верхний угол. Пришлось искать этот файл чтобы снова закомментить, вот и наткнулся на ошибку, действуя по своему собственному мануалу)
    dakuenjery, к сожалению не могу ничем помочь =(

    ОтветитьУдалить
  5. Интересно, а мультитач работает? экран первого или второго поколения?

    ОтветитьУдалить
  6. дополнение к пункту 2, чтобы не выходить из Иксов можно воспользоваться следющей командой:
    Xorg :1 -configure

    ОтветитьУдалить
  7. А если у меня на иксах ни гнома, ни кед не натянуто, как калибровку сделать?

    ОтветитьУдалить