+--------+------------[packet1]------------+ +------------------------------------------+
| byte 0 | 1 1 0 0 1 p mt 0? | | p = PalmDetect ? 1 : 0 |
| byte 1 | 0 x6 x5 x4 x3 x2 x1 x0 | | mt = nrFingers > 1 ? 1 : 0 |
| byte 2 | 0 y6 y5 y4 y3 y2 y1 y0 | | |
| byte 3 | 0 0 0 0 1 0 R L | | R/L: buttons |
| byte 4 |y10? y9 y8 y7 x10 x9 x8 x7 | | |
| byte 5 | 0 z6 z5 z4 z3 z2 z1 z0 | | |
+--------+---------------------------------+ +------------------------------------------+
+--------+------------[packet2]------------+ +------------------------------------------+
| byte 0 | 1 1 1 f2 1 f1 f0 x22 | | f: number of fingers (1<=f<=5) |
| byte 1 | oX y6 y5 y4 y3 y2 y1 y0 | | oX: 0(Xmap< nrFingers) 1(Xmap=nrFingers) |
| byte 2 | oY x1 x0 y11 y10 y9 y8 y7 | | oY: 0(Ymap< nrFingers) 1(Ymap=nrFingers) |
| byte 3 | 0 x21 x20 x19 1 x18 x17 x16 | | x: x_map |
| byte 4 | 0 x8 x7 x6 x5 x4 x3 x2 | | y: y_map |
| byte 5 | 0 x15 x14 x13 x12 x11 x10 x9 | | |
+--------+---------------------------------+ +------------------------------------------+
+---------------+ +---------------+ +---------------+ +---------------+ +---------------+
| f=2 oX=0 oY=1 | | f=2 oX=1 oY=0 | | f=2 oX=1 oY=1 | | f=2 oX=1 oY=1 | | f=5 oX=1 oY=0 |
|---------------| |---------------| |---------------| |---------------| |---------------|
| x | | | | x | | x | | |
| | | | | | | | | |
| x | | x x | | x | | x x | | x x x x x |
| | | | | | (not detected^) | | |
+---------------+ +---------------+ +---------------+ +---------------+ +---------------+