← Back to team overview

multi-touch-dev team mailing list archive

libmtdev and XT2

 

Hello everyone,

I am developing a mt toolkit, which I would like to interface to
libmtdev. I am using a Dell XT2 and a 3M M2256PW touchscreen on Ubuntu
10.10, kernel 2.6.35-28-generic, libmtdev1.1.0.

I started capturing mtdev events, but I found something weird. I don't
know if they are bugs or it is simply my misunderstanding.

First, using function "mtdev_has_mt_event" on the XT2 and passing
ABS_MT_SLOT and ABS_MT_TRACKING_ID, in both cases it returns 0, while
I actually receive ABS_MT_SLOT and ABS_MT_TRACKING_ID events using
"mtdev_get". 3M is working fine.

The second issue is about the order of the received events and I found
a weird behavior on the XT2:

This is a screenshot of 3M mtdev events:
#)  ev->type   ev->code   ev->value

....

1)  0x3   0x2f   0                         SELECT SLOT 0
2)  0x3   0x39   -1                       SET TRACKING_ID TO -1
3)  0x3   0x2f   1                         SELECT SLOT 1
4)  0x3   0x35   14214                 SET ABS_MT_POSITION_X
5)  0x3   0x36   14907                 SET ABS_MT_POSITION_Y
6)  0x3   0x30   1207                   SET ABS_MT_TOUCH_MAJOR
7)  0x3   0x0   14214                   don't know but it has the same
value as 4)
8)  0x3   0x1   14907                   don't know but is has the same
value as 5)
9)  0x0   0x0   0                          EV_SYN

10)  0x3   0x35   14278                SET ABS_MT_POSITION_X
11)  0x3   0x36   14979                SET ABS_MT_POSITION_Y
12)  0x3   0x30   1172                  SET ABS_MT_TOUCH_MAJOR
13)  0x3   0x0   14278                  don't know but it has the same
value as 10)
14)  0x3   0x1   14979                  don't know but it has the same
value as 11)
15)  0x0   0x0   0                         EV_SYN

16)  0x3   0x39   -1                      SET TRACKING_ID TO -1
17)  0x1   0x14a   0                     don't know what it is
18)  0x0   0x0   0                         EV_SYN

This is a screenshot of XT2 mtdev events:

....

20)  0x3   0x0   6295                      don't know but it has the
same value as 24)
21)  0x3   0x1   3548                      don't know but it has the
same value as 25)
22)  0x3   0x2f   1                          SELECT SLOT 1
23)  0x3   0x31   247                      SET ABS_MT_TOUCH_MINOR
24)  0x3   0x35   6295                    SET ABS_MT_POSITION_X
25)  0x3   0x36   3548                    SET ABS_MT_POSITION_Y
26)  0x3   0x2f   0                          SELECT SLOT 0
27)  0x3   0x39   -1                        SET TRACKING_ID TO -1
28)  0x0   0x0   0                           EV_SYN

29)  0x3   0x0   6306                      don't know but it has the
same value as 33) which will be for slot 1 BUT current slot is 0!
30)  0x3   0x1   3620                      don't know but it has the
same value as 34) which will be for slot 1 BUT current slot is 0!
31)  0x3   0x2f   1                          SELECT SLOT 1
32)  0x3   0x34   1                         SET ABS_MT_ORIENTATION
33)  0x3   0x35   6306                    SET ABS_MT_POSITION_X
34)  0x3   0x36   3620                    SET ABS_MT_POSITION_Y
35)  0x0   0x0   0                           EV_SYN

So on XT2 events type 0x03 with value 0x0 and 0x1 are sent first SLOT
selection. Is it right?
Does anybody know what are they?

I hope this could be useful,
thanks for consideration.

Paolo


Follow ups