LINUX.ORG.RU

Сенсорный экран в иксах


1

1

Здравствуйте, форумчане. Помогите настроить работу сенсорного экрана на ноутбуке. Сам уже обгуглился весь. Система на ноуте Debian Wheezy, ядро 3.2, рабочее окружение KDE 4.8.4. Тачскрин работает из коробки, т.е. в тестах (кроме xinput test) отображает два касания. А графическая система воспринимает движение пальца как движение мыши с зажатой левой кнопкой, из-за этого и второе касание не видно. Переписывался с разработчиками драйвера, они ничем помочь не могут, т.е. на уровне ядра все пашет, а с иксами помочь не могут. У кого есть опыт настройки тачскрина. xinput уже весь исковырял, но может чего пропустил. Тачскрин- Cando, ноут Lenovo s10-3t. Всяческие логи и выхлопы команд, готов предоставить.

Ответ на: комментарий от ziemin

....бегут циферки, при втором тапе значения меняются

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

...мне надо настроить нажатия на экран, сейчас если провести по экрану пальцем действие обрабатывается как движение мыши с нажатой ЛКМ. ...попробуйте поработать с компом с нажатой левой кнопкой и станет ясно, что я хочу настроить

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

Хз. Может само железо эмулирует зажатую лкм при отсылке в порт координат? Когда тыкал резистивную панель это не казалось противоестественным - тык в панель==тык мышкой. Да и панель как /dev/mouse1 опознавалась

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

у меня она опознается как /dev/mouse и одновременно как /dev/event, вот этот /dev/mouse можно как нибудь убрать. Есть утиль mtdiag от разрабов драйвера, там отрабатываюся два касания. На ризистивной панели- это нормально, когда тык в панель- тык мышки. А на емкостной- это не нормально (мультитач), бо нету зума щипком, скрола двумя пальцами и т.д.

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

Попробуй xev или просто cat /dev/event может правда - водишь по экрану, маус работает, тыкаешь - ивент подключается. Или наоборот. Ну а в теории, если драйвер разобрать, можно и вообще все глазами сразу увидеть... Я на днях поковыряю резист тоже.

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

...тач у меня точно ведет себя как мышь. удалял и mouse из устройств- результата нет. а не мог бы ты hid-multitouch глянуть, с ним, яко бы моя панель работает. Вернее, она с ним и работает, но вот как-то криво.

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

Кстати, мне бы хотелось поведение как в андроидах - фокус в форме ввода: включается виртуальная клавиатура. Фокус куда нибудь в другое место - клава ушла. Если наработки есть, напиши. А я через пару деньков поковыряю резист егалакс и отпишусь

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

...вобщем проблема с udev -100%. ...вот какое устройство

root@Lenovo-IdeaPad:/home/user# udevadm info -q all -n /dev/input/event14
P: /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/input/input14/event14
N: input/event14
S: input/by-id/usb-Cando_Corporation_Cando_10.1_Multi_Touch_Panel_with_Controller_20091003.001-event-if00
S: input/by-path/pci-0000:00:1d.1-usb-0:1:1.0-event
E: DEVLINKS=/dev/input/by-id/usb-Cando_Corporation_Cando_10.1_Multi_Touch_Panel_with_Controller_20091003.001-event-if00 /dev/input/by-path/pci-0000:00:1d.1-usb-0:1:1.0-event
E: DEVNAME=/dev/input/event14
E: DEVPATH=/devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/input/input14/event14
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_TOUCHSCREEN=1
E: ID_MODEL=Cando_10.1_Multi_Touch_Panel_with_Controller
E: ID_MODEL_ENC=Cando\x2010.1\x20Multi\x20Touch\x20Panel\x20with\x20Controller
E: ID_MODEL_ID=0a01
E: ID_PATH=pci-0000:00:1d.1-usb-0:1:1.0
E: ID_PATH_TAG=pci-0000_00_1d_1-usb-0_1_1_0
E: ID_REVISION=0100
E: ID_SERIAL=Cando_Corporation_Cando_10.1_Multi_Touch_Panel_with_Controller_20091003.001
E: ID_SERIAL_SHORT=20091003.001
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:030000:030102:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=Cando_Corporation
E: ID_VENDOR_ENC=Cando\x20Corporation
E: ID_VENDOR_ID=2087
E: MAJOR=13
E: MINOR=78
E: SUBSYSTEM=input
E: UDEV_LOG=3
E: USEC_INITIALIZED=5370851
почему-то работает с usbhid, хотя должно с hid_multitouch, но если выгрузить hid_multitouch, то сенсор вобще не работает. Пытался зарулесить устройство таким образом
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="2087", ATTR{idProduct}=="0a01" RUN+="/sbin/modprobe hid_multitouch"
все безрезультатно. Народ, тут явно проблема с udev. Подкиньте хоть какую идейку.

Trauka ()

эм. ты бы сразу уж написал что хочешь мультитач. gtk3 и qt5 умеют в мультитач но 99% приложении в мультитач не умеют

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

...но у меня 100% приложений не имеют мультитач. в каких есть мультитач? ...я на них посмотрю и успокоюсь и буду ждать, когда везде будет мультитач. В unity заявлен мультитач, но ставил это порно и там его нет. Просто заметил в 60-persistent-input.rules (сейчас Debian Wheezy), что нет никакого намека на ID_INPUT_TOUCHSCREEN, это очень странно.

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

какие нафиг 60-persistent-input.rules. дискаверинг идет при старте/хотплаге драйвером xorg evdev.

сделай

xinput --list-props 10 | grep MT
и
apt-cache show xserver-xorg-input-evdev|grep mtdev

если и там и там будет по строчке значит на уровне evdev все в порядке.

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

...по-ходу не все в порядке

user@Lenovo-IdeaPad:~$ xinput --list-props 13 | grep MT
        Axis Labels (268):      "Abs X" (288), "Abs Y" (289), "Abs MT Position X" (290), "Abs MT Position Y" (291), "None" (0), "None" (0)
user@Lenovo-IdeaPad:~$ apt-cache show xserver-xorg-input-evdev|grep mtdev
user@Lenovo-IdeaPad:~$ apt-cache show xserver-xorg-input-evdev
Package: xserver-xorg-input-evdev
Source: xserver-xorg-input-evdev (1:2.7.0-1)
Version: 1:2.7.0-1+b1
Installed-Size: 186
Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
Architecture: amd64
Provides: xorg-driver-input
Depends: libc6 (>= 2.7), xorg-input-abi-16, xserver-xorg-core (>= 2:1.11.99.901)
Description-en: X.Org X server -- evdev input driver
 This package provides the driver for input devices using evdev, the Linux
 kernel's event delivery mechanism.  This driver allows for multiple keyboards
 and mice to be treated as separate input devices.
 .
 More information about X.Org can be found at:
 <URL:http://www.X.org>
 .
 This package is built from the X.org xf86-input-evdev driver module.
Description-md5: b1ff33be36b557401f92e75bd8542eed
Tag: hardware::input, implemented-in::c, role::plugin, use::driver,
 x11::xserver
Section: x11
Priority: optional
Filename: pool/main/x/xserver-xorg-input-evdev/xserver-xorg-input-evdev_2.7.0-1+b1_amd64.deb
Size: 103716
MD5sum: 05ce2daf8dffede1d7f5186a2dc97d50
SHA1: 1316d6418ffcd06c987576f87d8eada5660e136c
SHA256: e7cebf201b7b3732f537a6318f27326ad3f4814fdc8f483bbb5b5464929e98aa

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

...а точно, что он у меня собран без mtdev? и есть ли вариант, что бы собрать evdev с mtdev? ...я по выхлопу не понял, почему нет mtdev. twofing- не вариант, это- какой-то костыль

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

...какой обновись? ...ставил и ubuntu 14.04 и Fedora c LinuxMint последние. куда уже обновлять. Сейчас поставил c wheezy-бэкпорт- результата нет.

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

...помоги зарулесить, что бы вместо ID_USB_DRIVER=usbhid был hid_multitouch

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

...на SIDe (unstable), куда уже новее? экран работает также. Я выше писал, что с экраном борюсь очень долго и за это время перепробовал кучу дистрибутивов (новых и старых) с разными ядрами. На форумы залез, что бы найти что я упустил. ....может в ядре включить какую-нибудь hid-опцию, или создать хитрое правило для udev...., а обновляться и перезагружаться- это я уже миллион раз делал.

Trauka ()

После продолжительной переписки с разработчиками драйвера для, большинства, сенсорных панелей, а именно hid-multitouch, пришли к выводу, что мультитач есть, но его никто не реализовал в коде для рабочих окружений.
Вот такая вот грустнотень.
Так что тема решена.

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