Неделю потратил на попытки настроить xorg.conf для поддержки тач скрина eGalax на планшетном компьютере под управлением FreeBSD 8.2.dmesg | grep eGalax и usbconfig показывают нормальное определение устройства (что именно написать не могу - компьютер на работе). Устанавливаю пакет xf86-input-egalax-0.2, компилирую uep (cd /usr/src/sys/modules/usb/uep && make && make install && make clean), включаю его запуск в loader.conf uep_load="YES". После перезагрузки ls /dev | grep uep, показывает наличие устройства uep0.
Конфигурирую xorg.conf следующим образом:
Section "ServerLayout"
..
InputDevice "Touch0" "SendCoreEvents"
EndSection
Section "InputDevice"
Identifier "Touch0"
Driver "egalax"
Option "Protocol" "auto"
Option "Device" "/dev/uep0"
Option "MinX" "82"
Option "MaxX" "1960"
Option "MinY" "100"
Option "MaxY" "1960"
EndSection
После запуска иксов никакой реакции на действия с тач скрином и вот такие строчки в Xorg.0.log
(**) Option "Device" "/dev/uep0"
(II) Touch0: Using device /dev/uep0.
(**) Option "SendCoreEvents"
(**) Touch0: always reports core events
(**) Option "MinX" "82"
(**) Option "MaxX" "1960"
(**) Option "MinY" "100"
(**) Option "MaxY" "1960"
(II) XINPUT: Adding extended input device "Touch0" (type: MOUSE)
(**) Touch0: (accel) keeping acceleration scheme 1
(**) Touch0: (accel) acceleration profile 0
(II) Touch0: On.
(WW) fcntl(12, F_SETOWN): Inappropriate ioctl for device
(**) Option "Protocol" "auto"
(II) Touch0: Off.
Экпериментировал с опцией "AutoAddDevices" и HAL,DBUS модулями, физически отключал прочие устройства ввода (мышь и клавиатуру USB), предполагая конфликт между устройствами.
Использовал вместо готового пакета xf86-input-egalax, одноименный порт, предполагая ошибку сборки.
Устанавливал FreeBSD 9.0 (там уже вкомпилирована в ядро поддержка uep).
Результат тот же!
Установил PC-BSD 9.0. Скрипт автоматической настройки иксов добавил в xorg.conf следующие строки:
Section "ServerLayout"
..
InputDevice "Panel0"
EndSection
Section "InputDevice"
Identifier "Panel0"
Driver "mouse"
Option "Protocol" "usb"
Option "Device" "/dev/uhid0"
EndSection
Реакция на действия с тач скрином отсутствует, в Xorg.0.log ошибок нет. Читаю про модуль HID и начинаю пробовать дальше - меняю дайвер mouse на egalax.
Section "InputDevice"
Identifier "Panel0"
Driver "egalax"
Option "Protocol" "usb"
Option "Device" "/dev/uhid0"
EndSection
Ура! Реакция на сенсор появляется - при нажатии на сенсор мышка подергивается в левом нижнем углу экрана. Думаю ошибка калибровки добавливаю в секцию строки:
Section "InputDevice"
...
Option "MinX" "82"
Option "MaxX" "1960"
Option "MinY" "100"
Option "MaxY" "1960"
EndSection
Без изменений. Смотрю Xorg.0.log - там бесконечные ошибки (калибровки и прочие). Не удалось надуть систему :)
Думаю - может конфликт медлу модулями uep и uhid. Пересобираю ядро без uhid, перезагружаюсь (устройство /dev/uhid0 отсутствует), конфигурирую xorg.conf в соответствии с man egalax (первоначальный вариант, в начале поста). Результат тот же - никаких шевелений, те же ошибки в логе.
В данный момент вернулся на FreeBSD 8.2 и ковыряю исходники драйвера egalax.
Поиск по форумам дал такие результаты - у некоторых людей настройка проходит нормально, у некоторых с небольшими недочетами, а у некоторых та же ошибка, что и у меня. Решений я не нашел.
Подскажите! Может, кто решал подобную проблему?!