Page 1 of 1

Про планшет: Trust TB-5300 USB

Posted: Sat Sep 17, 2011 12:48 pm
by SoUrcerer
А еще (с жиру бешусь, да-да) в Колибри из qemu у меня не работает планшет. Курсор прыгает в левый верхний угол экрана (как на новой ubuntu без модуля wizardpen, потому что на старой ubuntu и в xp планшет легко работает как HID), а при попытке переместить курсор резко прыгает в правый верхний угол. На настоящей машине с ядром из автосборки планшет просто мигает, курсор не движется. С USB-ядром выводит сообщение о том, что устройство не поддерживается, или вроде того. Подробности нужны?

UPDATE by moderator Mario
Подробности про планшет: Trust TB-5300
(Bus 007 Device 002: ID 5543:0004 UC-Logic Technology Corp. Genius MousePen 5x4 Tablet)
USB-ядро пишет в qemu: connect status changed, 0183/0181. И всё.

Re: "Ночные" сборки KolibriOS

Posted: Sat Sep 17, 2011 1:10 pm
by Mario
SoUrcerer wrote:Подробности нужны?
Ну, естественно скилл телепатии у всех людей в сообществе плохо прокачан, так что да нужны, но обещать я естественно ничего не могу.

Re: Про планшет: Trust TB-5300 USB

Posted: Sun Sep 18, 2011 11:41 pm
by Mario
Выделил эту тему из "Ночные" сборки KolibriOS
SoUrcerer wrote:как на новой ubuntu без модуля wizardpen, потому что на старой ubuntu и в xp планшет легко работает как HID... На настоящей машине с ядром из автосборки планшет просто мигает, курсор не движется. С USB-ядром выводит сообщение о том, что устройство не поддерживается, или вроде того.
Что-то мне подсказывает, что драйвер HID очень не прост и написан очень хитро.

Re: Про планшет: Trust TB-5300 USB

Posted: Mon Sep 19, 2011 6:58 am
by SoUrcerer
Есть устройства hid с абсолютным позиционированием курсора, такие как планшеты и тачскрины.Они передают данные как-то иначе %)

Re: Про планшет: Trust TB-5300 USB

Posted: Fri Mar 02, 2012 12:09 pm
by SoUrcerer
Любопытно, характер данных, которые возвращает чтение /dev/input/, для мышки и планшета отличается. То есть в общем и целом вывод похож, но разница имеется. При перемещении мышки встречаются длинные блоки данных, иногда по 50-100 байт (каждый блок, видимо, заканчивается EF BF BD):
28 0A 20 20 20 20 20 20 20 20 EF BF BD
От планшета таких данных нет:
6A 02 38 EF BF BD EF BF BD 18 EF BF BD EF BF BD 38 EF BF BD
В основном при перемещении пера я получал 1-2 байта (изредка до 5-7) и затем EF BF BD, но зато блоков было много. При перемещении мыши я получал мало блоков, но они были длинные.

В коде драйвера можно найти, что планшеты точно так же, как и мышки, возвращают ускорение перемещения, но делают это как-то по странному:

Code: Select all

 switch (event->code) {
                    case REL_X:
                        xaccel = 1;
                        if(priv->mouseAccel) {
                            if(abs(event->value) > 2) {
                                xaccel = 2;
                            } else if(abs(event->value) > 4) {
                                xaccel = 3;
                            } else if(abs(event->value) > 6) {
                                xaccel = 4;
                            }
                        }
                        x = x + (xaccel * priv->mouseSpeed * event->value);
Плюс есть отдельное событие на передачу абсолютных координат. По идее, добавление вот такой хрени позволит работать в Колибри практически со всеми планшетами.

Re: Про планшет: Trust TB-5300 USB

Posted: Fri Mar 02, 2012 12:19 pm
by SoUrcerer
Ага, похоже, планшет возвращает координаты в режиме Intellimouse Extension.
http://www.computer-engineering.org/ps2mouse/
Возможно, с ним пытаются общаться как с обычной мышкой, и в итоге данные от него будут восприниматься совершенно неправильно. Более того, это определенно приведет к тому, что в 3м бите каждого третьего байта, который по стандарту PS/2 всегда должен быть 1, время от времени будет не 1 - это может быть воспринято как поломанная мышка.

Re: Про планшет: Trust TB-5300 USB

Posted: Fri Mar 02, 2012 1:30 pm
by SoUrcerer
Повесил вывод отладочных данных с планшета. При обычном перемещении мышь дает
08 01 01 - сдвиг на 1 пиксель по обоим осям
Планшет при небольшом перемещении генерирует
08 7F 7F
То есть курсор прыгает сразу на 79 пикселов. А планшет передает только 7F и 81 - видимо, сдвиг в меньшую или в большую стороны на 1 пиксель. Причем событий сдвига на 1 пиксель генерируется сразу море.

Можно попробовать добавить в драйвер ps2mouse обработку таких событий, и посмотреть, что из этого выйдет. А выйти может драйвер для планшетов и тач-скринов (у которых такая же фигня с координатами).

Re: Про планшет: Trust TB-5300 USB

Posted: Fri Mar 02, 2012 7:28 pm
by SoUrcerer
Вы, конечно, не поверите, но банальные заглушки (ломающие работоспособность обычной мышки) сработали. Теперь курсором можно управлять, хотя он движется очень быстро. Но это и понятно - разрешение у планшета 2450 lpi: сдвинул перо на полдюйма - проскакал весь экран. Попробую задать отрицательное ускорение, и потом буду думать, как отличать планшет от обычной мышки. Я так подозреваю, что эта фигня творится на всех планшетах, потому что я щупал Genius и Wacom - они даже драйвера одни и те же используют.

Re: Про планшет: Trust TB-5300 USB

Posted: Sat Mar 03, 2012 10:50 am
by Mario
Ды, ты брат - хакер! :mrgreen:

Re: Про планшет: Trust TB-5300 USB

Posted: Sun Mar 04, 2012 7:53 pm
by VaStaNi
SoUrcerer wrote:как отличать планшет от обычной мышки
докопайся до ID mouse, см.:
viewtopic.php?f=30&t=55&hilit=mouse
http://www.win.tue.nl/~aeb/linux/kbd/sc ... tml#ss13.3
http://www.win.tue.nl/~aeb/linux/kbd/sc ... html#toc12

Re: Про планшет: Trust TB-5300 USB

Posted: Sun Mar 04, 2012 8:09 pm
by SoUrcerer
О, спасибо! Офигенная мысль. Может быть даже пойму, как работать в absolute mode.

Re: Про планшет: Trust TB-5300 USB

Posted: Mon Mar 05, 2012 3:25 pm
by CleverMouse
В USB-режиме каждое HID-устройство рассказывает подробности о себе, если попросить. Технически это называется Report Descriptor, линуксовый lsusb -vvv его умеет распечатывать в более-менее читабельном виде, если предварительно сделать финт ушами.

Re: Про планшет: Trust TB-5300 USB

Posted: Thu Jul 04, 2013 6:33 pm
by CleverMouse
Тут новый драйвер HID появился, с ним как планшет взаимодействует?