diff mbox

HID: multitouch: add support for Win 8.1 multitouch touchpads

Message ID 1395261543-3103-1-git-send-email-aduggan@synaptics.com (mailing list archive)
State New, archived
Delegated to: Jiri Kosina
Headers show

Commit Message

Andrew Duggan March 19, 2014, 8:39 p.m. UTC
Multitouch touchpads built for Win 8.1 need to be sent an input mode feature report
in order to start reporting multitouch events. This is the same process sent
to Win 7 multitouch touchscreens except the value of the feature report is 3 for
touchpads.

Signed-off-by: Andrew Duggan <aduggan@synaptics.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
---
 drivers/hid/hid-multitouch.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

Comments

Jiri Kosina March 20, 2014, 9:02 a.m. UTC | #1
On Wed, 19 Mar 2014, Andrew Duggan wrote:

> Multitouch touchpads built for Win 8.1 need to be sent an input mode feature report
> in order to start reporting multitouch events. This is the same process sent
> to Win 7 multitouch touchscreens except the value of the feature report is 3 for
> touchpads.
> 
> Signed-off-by: Andrew Duggan <aduggan@synaptics.com>
> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>

Applied, thanks.
Benjamin Tissoires March 20, 2014, 5:36 p.m. UTC | #2
On Thu, Mar 20, 2014 at 5:02 AM, Jiri Kosina <jkosina@suse.cz> wrote:
> On Wed, 19 Mar 2014, Andrew Duggan wrote:
>
>> Multitouch touchpads built for Win 8.1 need to be sent an input mode feature report
>> in order to start reporting multitouch events. This is the same process sent
>> to Win 7 multitouch touchscreens except the value of the feature report is 3 for
>> touchpads.
>>
>> Signed-off-by: Andrew Duggan <aduggan@synaptics.com>
>> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
>
> Applied, thanks.

Thanks Jiri.

Derya, can you test if this also solves the problem with the Surface 2
touch cover?
(if you remove the special vendor handling in hid_scan_report)

Cheers,
Benjamin
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Reyad Attiyat March 30, 2014, 1:23 a.m. UTC | #3
Hey Benjamin,

I was the one to submit the original Surface 2 patch. I have been
testing the 3.15/multitouch branch with the Surface Pro 2 type cover.
This patch doesn't actual enable the keyboard/mouse to work. This
patch only works when there is a HID_UP_BUTTON and/or HID_DG_TOUCHPAD
in usage, which is not the case on this device. The reason the type
cover is not working with hid-multitouch is mt_input_mapping is
returing -1 to ignore the device. This happens becuase of:

if (!td->mtclass.export_all_inputs &&
   field->application != HID_DG_TOUCHSCREEN &&
   field->application != HID_DG_PEN &&
   field->application != HID_DG_TOUCHPAD)
return -1;


I notice that there is now a mt.export_all_inputs which could allow
the surface type cover keyboard to get handled properly. Is this
something that sould be added to hid-multitouch for this device? The
driver could check for device ID's and set export_all_inputs to true.
It could also check for GenericDesktop application in hid field and
return 0 in mt_input_mapping.

I can submit a patch with one of these changes if you think it would
be better than the current patch for the surface from Derya. I belive
that patch adds hardware ID's to hid core and sets the HID Group to
generic.

On Thu, Mar 20, 2014 at 12:36 PM, Benjamin Tissoires
<benjamin.tissoires@gmail.com> wrote:
> On Thu, Mar 20, 2014 at 5:02 AM, Jiri Kosina <jkosina@suse.cz> wrote:
>> On Wed, 19 Mar 2014, Andrew Duggan wrote:
>>
>>> Multitouch touchpads built for Win 8.1 need to be sent an input mode feature report
>>> in order to start reporting multitouch events. This is the same process sent
>>> to Win 7 multitouch touchscreens except the value of the feature report is 3 for
>>> touchpads.
>>>
>>> Signed-off-by: Andrew Duggan <aduggan@synaptics.com>
>>> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
>>
>> Applied, thanks.
>
> Thanks Jiri.
>
> Derya, can you test if this also solves the problem with the Surface 2
> touch cover?
> (if you remove the special vendor handling in hid_scan_report)
>
> Cheers,
> Benjamin
> --
> To unsubscribe from this list: send the line "unsubscribe linux-input" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Benjamin Tissoires March 30, 2014, 4:07 a.m. UTC | #4
Hi Reyad,

Thanks for the tests. I was surprised to hear that this patch did not
work for you. I made some tests too and the touchpad collection does
not appear right now.
This was until I realized that the report descriptor I have regarding
the Surface 2 was completely buggy.
So it seems that either I have a bad one, or the one actually inside
the device is buggy (which would explain why you don't get any
output).

The report descriptor declares all the events regarding the touchpad
as constant, and the hid subsystem ignores them :)

To be able to provide a good solution, I would like you to conduct
some more tests:

- revert commit 117309c51dca42121f70cacec801511b76acf75c (yours
actually :-P ) to handle the touch cover through hid-multitouch (you
should have done it already I think).
- register the touchcover surface 2 as using the class
MT_CLS_EXPORT_ALL_INPUTS (optional step, but you should be able to
have a keyboard with this)
- change mt_set_input_mode() in hid-multitouch.c to actually use "3"
as the td->inputmode_value (just overwite the value before putting it
in the field)
- please download and install hid-replay [1]

run hid-recorder with (and without to check) the 3 as input mode, you
should receive events starting with "E: xxxxx..xxx XX 04 ....." when
playing with the touchpad.
(without the 3 as inputmode_value, you should receive  "E: xxxxx..xxx
XX 02 .....")

Then, send me the recording from hid-recorder of a few keyboard
touches + touchpad events (single touch, dual touch, and more fingers)
so I can test and explain you how to fix the report descriptor in the
kernel.


Cheers,
Benjamin


On Sat, Mar 29, 2014 at 9:23 PM, Reyad Attiyat <reyad.attiyat@gmail.com> wrote:
> Hey Benjamin,
>
> I was the one to submit the original Surface 2 patch. I have been
> testing the 3.15/multitouch branch with the Surface Pro 2 type cover.
> This patch doesn't actual enable the keyboard/mouse to work. This
> patch only works when there is a HID_UP_BUTTON and/or HID_DG_TOUCHPAD
> in usage, which is not the case on this device. The reason the type
> cover is not working with hid-multitouch is mt_input_mapping is
> returing -1 to ignore the device. This happens becuase of:
>
> if (!td->mtclass.export_all_inputs &&
>    field->application != HID_DG_TOUCHSCREEN &&
>    field->application != HID_DG_PEN &&
>    field->application != HID_DG_TOUCHPAD)
> return -1;
>
>
> I notice that there is now a mt.export_all_inputs which could allow
> the surface type cover keyboard to get handled properly. Is this
> something that sould be added to hid-multitouch for this device? The
> driver could check for device ID's and set export_all_inputs to true.
> It could also check for GenericDesktop application in hid field and
> return 0 in mt_input_mapping.
>
> I can submit a patch with one of these changes if you think it would
> be better than the current patch for the surface from Derya. I belive
> that patch adds hardware ID's to hid core and sets the HID Group to
> generic.
>
> On Thu, Mar 20, 2014 at 12:36 PM, Benjamin Tissoires
> <benjamin.tissoires@gmail.com> wrote:
>> On Thu, Mar 20, 2014 at 5:02 AM, Jiri Kosina <jkosina@suse.cz> wrote:
>>> On Wed, 19 Mar 2014, Andrew Duggan wrote:
>>>
>>>> Multitouch touchpads built for Win 8.1 need to be sent an input mode feature report
>>>> in order to start reporting multitouch events. This is the same process sent
>>>> to Win 7 multitouch touchscreens except the value of the feature report is 3 for
>>>> touchpads.
>>>>
>>>> Signed-off-by: Andrew Duggan <aduggan@synaptics.com>
>>>> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
>>>
>>> Applied, thanks.
>>
>> Thanks Jiri.
>>
>> Derya, can you test if this also solves the problem with the Surface 2
>> touch cover?
>> (if you remove the special vendor handling in hid_scan_report)
>>
>> Cheers,
>> Benjamin
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-input" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe linux-input" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Reyad Attiyat March 30, 2014, 5:29 a.m. UTC | #5
Hey,

I have reverted the old patch 117309.. and forced the class
MT_CLS_EXPORT_ALL_INPUTS on this device. The keyboard and mouse work
in this setup.
When input mode is set to 2 (MT_INPUTMODE_TOUCHSCREEN) hid-recorder outputs:

R: 472 05 01 09 06 a1 01 85 01 15 00 25 01 75 01 95 08 05 07 19 e0 29
e7 81 02 75 08 95 0a 19 00 29 91 26 ff 00 81 00 05 0c 0a c0 02 a1 02
1a c1 02 2a c6 02 95 06 b1 03 c0 05 08 19 01 29 03 75 01 95 03 25 01
91 02 95 05 91 03 c0 05 01 09 02 a1 01 85 02 05 09 19 01 29 05 81 02
95 01 75 03 81 03 15 81 25 7f 75 08 95 02 05 01 09 30 09 31 81 06 a1
02 09 48 15 00 25 01 35 01 45 10 75 02 95 01 a4 b1 02 09 38 15 81 25
7f 35 00 45 00 75 08 81 06 c0 a1 02 09 48 b4 b1 02 35 00 45 00 75 04
b1 03 05 0c 0a 38 02 15 81 25 7f 75 08 81 06 c0 c0 05 0c 09 01 a1 01
85 03 75 10 15 00 26 ff 03 19 00 2a ff 03 81 00 c0 06 05 ff 09 01 a1
01 85 09 25 ff 95 02 75 08 09 20 81 02 09 22 91 02 15 81 25 7f 95 20
75 08 09 21 81 02 09 23 91 02 c0 09 02 a1 01 85 0f 15 00 25 ff 95 01
09 00 91 02 c0 05 0d 09 05 a1 01 85 04 09 22 a1 02 15 00 25 01 09 47
09 42 95 02 75 01 81 03 95 01 75 02 25 02 09 51 81 03 75 01 95 04 81
03 05 01 35 00 65 11 55 0d 75 10 95 01 09 30 26 ff 03 46 5e 1a 81 03
09 31 26 ff 01 46 80 0c 81 03 c0 05 0d 09 56 55 0c 66 01 10 47 ff ff
00 00 27 ff ff 00 00 81 03 09 54 25 7f 75 08 81 03 05 09 09 01 25 01
75 01 81 03 95 07 81 03 05 0d 85 04 09 55 09 59 75 04 95 02 25 0f b1
03 06 00 ff 09 c6 85 05 15 00 25 08 75 08 95 01 b1 02 09 c7 26 ff 00
75 08 95 20 b1 02 c0 05 0d 09 0e a1 01 85 06 09 22 a1 02 09 52 09 52
15 00 25 0a 75 08 95 01 b1 02 c0 85 0b 09 22 a1 00 09 57 09 58 15 00
25 01 75 01 95 02 b1 02 95 06 b1 03 c0 c0
N: MICROSOFT SAM
P: usb-0000:00:14.0-3/input2
I: 3 045e 07a9
E: 0.000001 12 01 00 00 00 00 00 00 00 00 00 00 00
E: 1.044575 6 02 00 f7 00 00 00
E: 1.052450 6 02 00 f7 00 00 00
E: 1.056451 6 02 00 fd 00 00 00
E: 1.064307 6 02 00 f3 00 00 00
E: 1.072314 6 02 00 f3 ff 00 00
E: 1.080422 6 02 00 f2 ff 00 00
E: 1.088323 6 02 00 f6 00 00 00
E: 1.096446 6 02 00 f1 00 00 00
E: 1.104276 6 02 00 f2 01 00 00
E: 1.112225 6 02 00 f3 00 00 00
E: 1.120162 6 02 00 f5 00 00 00
E: 1.128130 6 02 00 f8 01 00 00
E: 1.136120 6 02 00 f9 00 00 00
E: 1.144190 6 02 00 fe 00 00 00
E: 1.148212 6 02 00 fb 01 00 00
E: 1.156311 6 02 00 fc 01 00 00
E: 1.164293 6 02 00 fd 00 00 00
E: 1.172407 6 02 00 fe 00 00 00
E: 1.184526 6 02 00 fe 01 00 00
E: 1.192372 6 02 00 ff 00 00 00


When input is set to 3 hid-recorder output is:

R: 472 05 01 09 06 a1 01 85 01 15 00 25 01 75 01 95 08 05 07 19 e0 29
e7 81 02 75 08 95 0a 19 00 29 91 26 ff 00 81 00 05 0c 0a c0 02 a1 02
1a c1 02 2a c6 02 95 06 b1 03 c0 05 08 19 01 29 03 75 01 95 03 25 01
91 02 95 05 91 03 c0 05 01 09 02 a1 01 85 02 05 09 19 01 29 05 81 02
95 01 75 03 81 03 15 81 25 7f 75 08 95 02 05 01 09 30 09 31 81 06 a1
02 09 48 15 00 25 01 35 01 45 10 75 02 95 01 a4 b1 02 09 38 15 81 25
7f 35 00 45 00 75 08 81 06 c0 a1 02 09 48 b4 b1 02 35 00 45 00 75 04
b1 03 05 0c 0a 38 02 15 81 25 7f 75 08 81 06 c0 c0 05 0c 09 01 a1 01
85 03 75 10 15 00 26 ff 03 19 00 2a ff 03 81 00 c0 06 05 ff 09 01 a1
01 85 09 25 ff 95 02 75 08 09 20 81 02 09 22 91 02 15 81 25 7f 95 20
75 08 09 21 81 02 09 23 91 02 c0 09 02 a1 01 85 0f 15 00 25 ff 95 01
09 00 91 02 c0 05 0d 09 05 a1 01 85 04 09 22 a1 02 15 00 25 01 09 47
09 42 95 02 75 01 81 03 95 01 75 02 25 02 09 51 81 03 75 01 95 04 81
03 05 01 35 00 65 11 55 0d 75 10 95 01 09 30 26 ff 03 46 5e 1a 81 03
09 31 26 ff 01 46 80 0c 81 03 c0 05 0d 09 56 55 0c 66 01 10 47 ff ff
00 00 27 ff ff 00 00 81 03 09 54 25 7f 75 08 81 03 05 09 09 01 25 01
75 01 81 03 95 07 81 03 05 0d 85 04 09 55 09 59 75 04 95 02 25 0f b1
03 06 00 ff 09 c6 85 05 15 00 25 08 75 08 95 01 b1 02 09 c7 26 ff 00
75 08 95 20 b1 02 c0 05 0d 09 0e a1 01 85 06 09 22 a1 02 09 52 09 52
15 00 25 0a 75 08 95 01 b1 02 c0 85 0b 09 22 a1 00 09 57 09 58 15 00
25 01 75 01 95 02 b1 02 95 06 b1 03 c0 c0
N: MICROSOFT SAM
P: usb-0000:00:14.0-3/input2
I: 3 045e 07a9

One Finger - side to side swipes

E: 0.000000 10 04 03 1f 02 ed 00 c4 e2 01 00
E: 0.020089 10 04 03 1f 02 ed 00 0a e3 01 00
E: 0.023972 10 04 03 1f 02 ed 00 50 e3 01 00
E: 0.027967 10 04 03 1f 02 ed 00 96 e3 01 00
E: 0.031878 10 04 03 1f 02 ed 00 dc e3 01 00
E: 0.035809 10 04 03 14 02 eb 00 f0 e3 01 00
E: 0.039936 10 04 03 10 02 eb 00 36 e4 01 00
E: 0.043969 10 04 03 0f 02 ea 00 40 e4 01 00
E: 0.047682 10 04 03 04 02 e9 00 86 e4 01 00
E: 0.055592 10 04 03 fb 01 e8 00 cc e4 01 00
E: 0.059593 10 04 03 f9 01 e7 00 d6 e4 01 00
E: 0.063589 10 04 03 f1 01 e5 00 1c e5 01 00
E: 0.067561 10 04 03 ee 01 e4 00 30 e5 01 00
E: 0.071724 10 04 03 eb 01 e4 00 6c e5 01 00
E: 0.075660 10 04 03 e0 01 e3 00 a8 e5 01 00
E: 0.079566 10 04 03 d2 01 e1 00 ee e5 01 00
E: 0.091504 10 04 03 c7 01 df 00 34 e6 01 00
E: 0.095476 10 04 03 c5 01 de 00 3e e6 01 00
E: 0.099484 10 04 03 ba 01 dc 00 84 e6 01 00
E: 0.107550 10 04 03 ac 01 db 00 ca e6 01 00
E: 0.111504 10 04 03 aa 01 da 00 d4 e6 01 00
E: 0.115485 10 04 03 9f 01 d9 00 1a e7 01 00
E: 0.119496 10 04 03 9d 01 d8 00 24 e7 01 00
E: 0.123471 10 04 03 8f 01 d7 00 6a e7 01 00
E: 0.127468 10 04 03 8d 01 d6 00 74 e7 01 00
E: 0.131469 10 04 03 7f 01 d5 00 ba e7 01 00
E: 0.135467 10 04 03 76 01 d4 00 e2 e7 01 00
E: 0.143466 10 04 03 62 01 d3 00 28 e8 01 00
E: 0.147468 10 04 03 5f 01 d2 00 32 e8 01 00
E: 0.151467 10 04 03 51 01 d2 00 78 e8 01 00
E: 0.155467 10 04 03 4f 01 d1 00 82 e8 01 00
E: 0.159467 10 04 03 48 01 d1 00 c8 e8 01 00
E: 0.163467 10 04 03 36 01 d0 00 04 e9 01 00
E: 0.167467 10 04 03 28 01 cf 00 4a e9 01 00
E: 0.179468 10 04 03 1e 01 cf 00 90 e9 01 00
E: 0.183466 10 04 03 1c 01 cf 00 9a e9 01 00
E: 0.187468 10 04 03 14 01 ce 00 e0 e9 01 00
E: 0.191467 10 04 03 0c 01 ce 00 26 ea 01 00
E: 0.195467 10 04 03 0a 01 cf 00 30 ea 01 00
E: 0.199467 10 04 03 04 01 cf 00 76 ea 01 00
E: 0.203467 10 04 03 02 01 cf 00 8a ea 01 00
E: 0.211466 10 04 03 fd 00 cf 00 d0 ea 01 00
E: 0.215467 10 04 03 fc 00 cf 00 da ea 01 00
E: 0.219467 10 04 03 f8 00 cf 00 20 eb 01 00
E: 0.223470 10 04 03 f6 00 ce 00 3e eb 01 00
E: 0.227468 10 04 03 f1 00 ce 00 84 eb 01 00
E: 0.231467 10 04 03 f0 00 ce 00 8e eb 01 00
E: 0.235467 10 04 03 ed 00 ce 00 d4 eb 01 00
E: 0.239466 10 04 03 ec 00 ce 00 de eb 01 00
E: 0.243467 10 04 03 ea 00 ce 00 24 ec 01 00
E: 0.251464 10 04 03 e9 00 ce 00 6a ec 01 00
E: 0.255466 10 04 03 e8 00 ce 00 74 ec 01 00
E: 0.259467 10 04 03 e6 00 ce 00 ba ec 01 00
E: 0.263467 10 04 03 e5 00 ce 00 c4 ec 01 00
E: 0.267467 10 04 03 e5 00 ce 00 0a ed 01 00
E: 0.271479 10 04 03 e4 00 ce 00 3c ed 01 00
E: 1.167556 10 04 01 79 01 b6 00 64 10 01 00

Two Fingers

E: 3.404049 10 04 03 85 03 fc 00 e4 67 01 00
E: 3.428076 10 04 03 85 03 fc 00 2a 68 01 00
E: 3.431899 10 04 03 85 03 fc 00 70 68 01 00
E: 3.435812 10 04 03 85 03 fc 00 a2 68 02 00
E: 3.439773 10 04 07 98 01 af 00 a2 68 00 00
E: 3.447819 10 04 03 85 03 fc 00 f2 68 02 00
E: 3.451729 10 04 07 99 01 b0 00 f2 68 00 00
E: 3.455721 10 04 03 85 03 fc 00 42 69 02 00
E: 3.459697 10 04 07 99 01 b0 00 42 69 00 00
E: 3.463677 10 04 03 85 03 fc 00 92 69 02 00
E: 3.467672 10 04 07 99 01 b0 00 92 69 00 00
E: 3.471641 10 04 03 85 03 fc 00 e2 69 02 00
E: 3.475641 10 04 07 99 01 b0 00 e2 69 00 00
E: 3.479649 10 04 03 85 03 fc 00 32 6a 02 00
E: 3.483616 10 04 07 99 01 b0 00 32 6a 00 00
E: 3.487614 10 04 03 85 03 fc 00 82 6a 02 00
E: 3.491461 10 04 07 99 01 b0 00 82 6a 00 00
E: 3.495460 10 04 03 85 03 fc 00 d2 6a 02 00
E: 3.499461 10 04 07 99 01 b0 00 d2 6a 00 00
E: 3.503460 10 04 03 85 03 fc 00 22 6b 02 00
E: 3.507461 10 04 07 99 01 b0 00 22 6b 00 00
E: 3.511458 10 04 03 85 03 fc 00 72 6b 02 00
E: 3.515460 10 04 07 99 01 b0 00 72 6b 00 00
E: 3.519460 10 04 03 85 03 fc 00 c2 6b 02 00
E: 3.523460 10 04 07 99 01 b0 00 c2 6b 00 00
E: 3.527460 10 04 03 85 03 fc 00 12 6c 02 00
E: 3.531466 10 04 07 99 01 b0 00 12 6c 00 00
E: 3.535459 10 04 03 85 03 fc 00 62 6c 02 00
E: 3.539460 10 04 07 99 01 b0 00 62 6c 00 00
E: 3.543460 10 04 03 85 03 fc 00 b2 6c 02 00
E: 3.547461 10 04 07 99 01 b0 00 b2 6c 00 00
E: 3.551460 10 04 03 85 03 fc 00 02 6d 02 00
E: 3.555460 10 04 07 99 01 b0 00 02 6d 00 00
E: 3.559460 10 04 03 85 03 fc 00 52 6d 02 00
E: 3.563460 10 04 07 99 01 b0 00 52 6d 00 00
E: 3.567459 10 04 03 85 03 fc 00 a2 6d 02 00
E: 3.571460 10 04 07 99 01 b0 00 a2 6d 00 00
E: 3.575460 10 04 03 85 03 fc 00 f2 6d 02 00
E: 3.579460 10 04 07 99 01 b0 00 f2 6d 00 00
E: 3.583460 10 04 03 85 03 fc 00 42 6e 02 00
E: 3.587460 10 04 07 99 01 b0 00 42 6e 00 00
E: 3.591459 10 04 03 85 03 fc 00 92 6e 02 00
E: 3.595460 10 04 07 99 01 b0 00 92 6e 00 00
E: 3.599459 10 04 03 85 03 fc 00 e2 6e 02 00
E: 3.603460 10 04 07 99 01 b0 00 e2 6e 00 00
E: 3.607459 10 04 03 85 03 fc 00 32 6f 02 00
E: 3.611460 10 04 07 99 01 b0 00 32 6f 00 00
E: 3.615459 10 04 03 85 03 fc 00 82 6f 02 00
E: 3.619460 10 04 07 8d 01 b2 00 82 6f 00 00
E: 3.623460 10 04 03 7b 03 02 01 d2 6f 02 00
E: 3.627476 10 04 07 84 01 b2 00 d2 6f 00 00
E: 3.631423 10 04 03 6c 03 02 01 22 70 02 00
E: 3.635495 10 04 07 73 01 b3 00 22 70 00 00
E: 3.639475 10 04 03 5a 03 01 01 68 70 02 00
E: 3.643479 10 04 07 67 01 b4 00 68 70 00 00
E: 3.647369 10 04 03 4d 03 01 01 ae 70 02 00
E: 3.651602 10 04 07 52 01 b5 00 ae 70 00 00
E: 3.655649 10 04 03 4c 03 01 01 fe 70 02 00
E: 3.659657 10 04 07 51 01 b6 00 fe 70 00 00
E: 3.663650 10 04 03 34 03 01 01 08 71 02 00
E: 3.667663 10 04 07 43 01 b6 00 08 71 00 00
E: 3.671650 10 04 03 25 03 02 01 4e 71 02 00
E: 3.675577 10 04 07 32 01 b7 00 4e 71 00 00
E: 3.679686 10 04 03 1a 03 02 01 94 71 02 00
E: 3.684002 10 04 07 29 01 b8 00 94 71 00 00
E: 3.687960 10 04 03 0b 03 03 01 da 71 02 00
E: 5.011753 10 04 05 b9 00 ea 00 e8 9a 00 00

Three Fingers - I can't imagine someone using more on this size of touchpad

E: 8.512034 10 04 03 01 01 30 01 44 2f 01 00
E: 8.531887 10 04 03 01 01 30 01 8a 2f 01 00
E: 8.535992 10 04 03 01 01 30 01 d0 2f 01 00
E: 8.539861 10 04 03 01 01 30 01 16 30 01 00
E: 8.543796 10 04 03 01 01 30 01 5c 30 01 00
E: 8.547750 10 04 03 01 01 30 01 a2 30 01 00
E: 8.551763 10 04 03 01 01 30 01 e8 30 01 00
E: 8.559774 10 04 03 01 01 30 01 2e 31 01 00
E: 8.563713 10 04 03 01 01 30 01 74 31 01 00
E: 8.571685 10 04 03 fa 00 2c 01 c4 31 01 00
E: 8.579631 10 04 03 f9 00 2b 01 14 32 01 00
E: 8.595606 10 04 03 f9 00 2b 01 5a 32 01 00
E: 8.599448 10 04 03 f9 00 2b 01 6e 32 02 00
E: 8.603459 10 04 07 8a 03 36 01 6e 32 00 00
E: 8.607448 10 04 03 f9 00 2b 01 be 32 02 00
E: 8.611449 10 04 07 8b 03 37 01 be 32 00 00
E: 8.615447 10 04 03 f9 00 2b 01 c8 32 03 00
E: 8.619449 10 04 07 8a 03 36 01 c8 32 00 00
E: 8.623450 10 04 0b 29 02 ab 00 c8 32 00 00
E: 8.627449 10 04 03 f8 00 2b 01 0e 33 03 00
E: 8.631448 10 04 07 8a 03 36 01 0e 33 00 00
E: 8.635448 10 04 0b 29 02 ab 00 0e 33 00 00
E: 8.639448 10 04 03 f7 00 2b 01 5e 33 03 00
E: 8.643448 10 04 07 8a 03 36 01 5e 33 00 00
E: 8.647448 10 04 0b 29 02 ab 00 5e 33 00 00
E: 8.651448 10 04 03 f8 00 2a 01 86 33 03 00
E: 8.655448 10 04 07 8a 03 36 01 86 33 00 00
E: 8.659448 10 04 0b 29 02 ab 00 86 33 00 00
E: 8.663447 10 04 03 f7 00 2a 01 cc 33 03 00
E: 8.667449 10 04 07 8a 03 36 01 cc 33 00 00
E: 8.671448 10 04 0b 29 02 ab 00 cc 33 00 00
E: 8.675447 10 04 03 f6 00 2a 01 1c 34 03 00
E: 8.679448 10 04 07 8a 03 36 01 1c 34 00 00
E: 8.683448 10 04 0b 29 02 ab 00 1c 34 00 00
E: 8.687447 10 04 03 f6 00 2a 01 62 34 03 00
E: 8.691448 10 04 07 8a 03 36 01 62 34 00 00
E: 8.695469 10 04 0b 29 02 ab 00 62 34 00 00
E: 8.699449 10 04 03 f6 00 2a 01 b2 34 03 00
E: 8.703447 10 04 07 8a 03 36 01 b2 34 00 00
E: 8.707446 10 04 0b 29 02 ab 00 b2 34 00 00
E: 8.711447 10 04 03 f5 00 2a 01 f8 34 03 00
E: 8.715448 10 04 07 8a 03 36 01 f8 34 00 00
E: 8.719447 10 04 0b 29 02 ab 00 f8 34 00 00
E: 8.723448 10 04 03 f5 00 2a 01 48 35 03 00
E: 8.727446 10 04 07 82 03 36 01 48 35 00 00
E: 9.867933 10 04 05 36 03 1f 01 86 5b 00 00

Tested keyboard - worked as expected

E: 12.139656 12 01 00 14 00 00 00 00 00 00 00 00 00
qE: 12.251482 12 01 00 00 00 00 00 00 00 00 00 00 00
E: 12.579961 12 01 00 1a 00 00 00 00 00 00 00 00 00
wE: 12.691797 12 01 00 00 00 00 00 00 00 00 00 00 00
E: 13.027924 12 01 00 08 00 00 00 00 00 00 00 00 00
eE: 13.159919 12 01 00 00 00 00 00 00 00 00 00 00 00
E: 13.479970 12 01 00 15 00 00 00 00 00 00 00 00 00
rE: 13.579955 12 01 00 00 00 00 00 00 00 00 00 00 00
E: 14.007968 12 01 00 17 00 00 00 00 00 00 00 00 00
tE: 14.107946 12 01 00 00 00 00 00 00 00 00 00 00 00
E: 14.471932 12 01 00 1c 00 00 00 00 00 00 00 00 00
yE: 14.571838 12 01 00 00 00 00 00 00 00 00 00 00 00

Hope this is everything you needed. If there is any other test you
need performed just let me know. One more thing I should note is that
I did not see a cursor when input mode is set to three.

On Sat, Mar 29, 2014 at 11:07 PM, Benjamin Tissoires
<benjamin.tissoires@gmail.com> wrote:
> Hi Reyad,
>
> Thanks for the tests. I was surprised to hear that this patch did not
> work for you. I made some tests too and the touchpad collection does
> not appear right now.
> This was until I realized that the report descriptor I have regarding
> the Surface 2 was completely buggy.
> So it seems that either I have a bad one, or the one actually inside
> the device is buggy (which would explain why you don't get any
> output).
>
> The report descriptor declares all the events regarding the touchpad
> as constant, and the hid subsystem ignores them :)
>
> To be able to provide a good solution, I would like you to conduct
> some more tests:
>
> - revert commit 117309c51dca42121f70cacec801511b76acf75c (yours
> actually :-P ) to handle the touch cover through hid-multitouch (you
> should have done it already I think).
> - register the touchcover surface 2 as using the class
> MT_CLS_EXPORT_ALL_INPUTS (optional step, but you should be able to
> have a keyboard with this)
> - change mt_set_input_mode() in hid-multitouch.c to actually use "3"
> as the td->inputmode_value (just overwite the value before putting it
> in the field)
> - please download and install hid-replay [1]
>
> run hid-recorder with (and without to check) the 3 as input mode, you
> should receive events starting with "E: xxxxx..xxx XX 04 ....." when
> playing with the touchpad.
> (without the 3 as inputmode_value, you should receive  "E: xxxxx..xxx
> XX 02 .....")
>
> Then, send me the recording from hid-recorder of a few keyboard
> touches + touchpad events (single touch, dual touch, and more fingers)
> so I can test and explain you how to fix the report descriptor in the
> kernel.
>
>
> Cheers,
> Benjamin
>
>
> On Sat, Mar 29, 2014 at 9:23 PM, Reyad Attiyat <reyad.attiyat@gmail.com> wrote:
>> Hey Benjamin,
>>
>> I was the one to submit the original Surface 2 patch. I have been
>> testing the 3.15/multitouch branch with the Surface Pro 2 type cover.
>> This patch doesn't actual enable the keyboard/mouse to work. This
>> patch only works when there is a HID_UP_BUTTON and/or HID_DG_TOUCHPAD
>> in usage, which is not the case on this device. The reason the type
>> cover is not working with hid-multitouch is mt_input_mapping is
>> returing -1 to ignore the device. This happens becuase of:
>>
>> if (!td->mtclass.export_all_inputs &&
>>    field->application != HID_DG_TOUCHSCREEN &&
>>    field->application != HID_DG_PEN &&
>>    field->application != HID_DG_TOUCHPAD)
>> return -1;
>>
>>
>> I notice that there is now a mt.export_all_inputs which could allow
>> the surface type cover keyboard to get handled properly. Is this
>> something that sould be added to hid-multitouch for this device? The
>> driver could check for device ID's and set export_all_inputs to true.
>> It could also check for GenericDesktop application in hid field and
>> return 0 in mt_input_mapping.
>>
>> I can submit a patch with one of these changes if you think it would
>> be better than the current patch for the surface from Derya. I belive
>> that patch adds hardware ID's to hid core and sets the HID Group to
>> generic.
>>
>> On Thu, Mar 20, 2014 at 12:36 PM, Benjamin Tissoires
>> <benjamin.tissoires@gmail.com> wrote:
>>> On Thu, Mar 20, 2014 at 5:02 AM, Jiri Kosina <jkosina@suse.cz> wrote:
>>>> On Wed, 19 Mar 2014, Andrew Duggan wrote:
>>>>
>>>>> Multitouch touchpads built for Win 8.1 need to be sent an input mode feature report
>>>>> in order to start reporting multitouch events. This is the same process sent
>>>>> to Win 7 multitouch touchscreens except the value of the feature report is 3 for
>>>>> touchpads.
>>>>>
>>>>> Signed-off-by: Andrew Duggan <aduggan@synaptics.com>
>>>>> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
>>>>
>>>> Applied, thanks.
>>>
>>> Thanks Jiri.
>>>
>>> Derya, can you test if this also solves the problem with the Surface 2
>>> touch cover?
>>> (if you remove the special vendor handling in hid_scan_report)
>>>
>>> Cheers,
>>> Benjamin
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-input" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-input" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Benjamin Tissoires March 31, 2014, 3:19 p.m. UTC | #6
Hi Reyad,

thanks for the logs.

So, several things here:
- the report descriptor is indeed messed, so we will have to fix it
- once it will be fixed, we can use hid-mt to deal with the touch cover
- however, either you truncated the events, or the device is pure
crap. I got touches stuck with the values you submitted, and I have no
way to retrieve the releases.
- hid_scan_report needs to be fixed to prevent this failures in the future.

I am going to submit a revert of the hid-microsoft commit and a fix
for the hid_scan_report().

Depending on whether you truncated the events, we will think at
patching the report descriptor to make it actually working.

Cheers,
Benjamin


On Sun, Mar 30, 2014 at 1:29 AM, Reyad Attiyat <reyad.attiyat@gmail.com> wrote:
> Hey,
>
> I have reverted the old patch 117309.. and forced the class
> MT_CLS_EXPORT_ALL_INPUTS on this device. The keyboard and mouse work
> in this setup.
> When input mode is set to 2 (MT_INPUTMODE_TOUCHSCREEN) hid-recorder outputs:
>
> R: 472 05 01 09 06 a1 01 85 01 15 00 25 01 75 01 95 08 05 07 19 e0 29
> e7 81 02 75 08 95 0a 19 00 29 91 26 ff 00 81 00 05 0c 0a c0 02 a1 02
> 1a c1 02 2a c6 02 95 06 b1 03 c0 05 08 19 01 29 03 75 01 95 03 25 01
> 91 02 95 05 91 03 c0 05 01 09 02 a1 01 85 02 05 09 19 01 29 05 81 02
> 95 01 75 03 81 03 15 81 25 7f 75 08 95 02 05 01 09 30 09 31 81 06 a1
> 02 09 48 15 00 25 01 35 01 45 10 75 02 95 01 a4 b1 02 09 38 15 81 25
> 7f 35 00 45 00 75 08 81 06 c0 a1 02 09 48 b4 b1 02 35 00 45 00 75 04
> b1 03 05 0c 0a 38 02 15 81 25 7f 75 08 81 06 c0 c0 05 0c 09 01 a1 01
> 85 03 75 10 15 00 26 ff 03 19 00 2a ff 03 81 00 c0 06 05 ff 09 01 a1
> 01 85 09 25 ff 95 02 75 08 09 20 81 02 09 22 91 02 15 81 25 7f 95 20
> 75 08 09 21 81 02 09 23 91 02 c0 09 02 a1 01 85 0f 15 00 25 ff 95 01
> 09 00 91 02 c0 05 0d 09 05 a1 01 85 04 09 22 a1 02 15 00 25 01 09 47
> 09 42 95 02 75 01 81 03 95 01 75 02 25 02 09 51 81 03 75 01 95 04 81
> 03 05 01 35 00 65 11 55 0d 75 10 95 01 09 30 26 ff 03 46 5e 1a 81 03
> 09 31 26 ff 01 46 80 0c 81 03 c0 05 0d 09 56 55 0c 66 01 10 47 ff ff
> 00 00 27 ff ff 00 00 81 03 09 54 25 7f 75 08 81 03 05 09 09 01 25 01
> 75 01 81 03 95 07 81 03 05 0d 85 04 09 55 09 59 75 04 95 02 25 0f b1
> 03 06 00 ff 09 c6 85 05 15 00 25 08 75 08 95 01 b1 02 09 c7 26 ff 00
> 75 08 95 20 b1 02 c0 05 0d 09 0e a1 01 85 06 09 22 a1 02 09 52 09 52
> 15 00 25 0a 75 08 95 01 b1 02 c0 85 0b 09 22 a1 00 09 57 09 58 15 00
> 25 01 75 01 95 02 b1 02 95 06 b1 03 c0 c0
> N: MICROSOFT SAM
> P: usb-0000:00:14.0-3/input2
> I: 3 045e 07a9
> E: 0.000001 12 01 00 00 00 00 00 00 00 00 00 00 00
> E: 1.044575 6 02 00 f7 00 00 00
> E: 1.052450 6 02 00 f7 00 00 00
> E: 1.056451 6 02 00 fd 00 00 00
> E: 1.064307 6 02 00 f3 00 00 00
> E: 1.072314 6 02 00 f3 ff 00 00
> E: 1.080422 6 02 00 f2 ff 00 00
> E: 1.088323 6 02 00 f6 00 00 00
> E: 1.096446 6 02 00 f1 00 00 00
> E: 1.104276 6 02 00 f2 01 00 00
> E: 1.112225 6 02 00 f3 00 00 00
> E: 1.120162 6 02 00 f5 00 00 00
> E: 1.128130 6 02 00 f8 01 00 00
> E: 1.136120 6 02 00 f9 00 00 00
> E: 1.144190 6 02 00 fe 00 00 00
> E: 1.148212 6 02 00 fb 01 00 00
> E: 1.156311 6 02 00 fc 01 00 00
> E: 1.164293 6 02 00 fd 00 00 00
> E: 1.172407 6 02 00 fe 00 00 00
> E: 1.184526 6 02 00 fe 01 00 00
> E: 1.192372 6 02 00 ff 00 00 00
>
>
> When input is set to 3 hid-recorder output is:
>
> R: 472 05 01 09 06 a1 01 85 01 15 00 25 01 75 01 95 08 05 07 19 e0 29
> e7 81 02 75 08 95 0a 19 00 29 91 26 ff 00 81 00 05 0c 0a c0 02 a1 02
> 1a c1 02 2a c6 02 95 06 b1 03 c0 05 08 19 01 29 03 75 01 95 03 25 01
> 91 02 95 05 91 03 c0 05 01 09 02 a1 01 85 02 05 09 19 01 29 05 81 02
> 95 01 75 03 81 03 15 81 25 7f 75 08 95 02 05 01 09 30 09 31 81 06 a1
> 02 09 48 15 00 25 01 35 01 45 10 75 02 95 01 a4 b1 02 09 38 15 81 25
> 7f 35 00 45 00 75 08 81 06 c0 a1 02 09 48 b4 b1 02 35 00 45 00 75 04
> b1 03 05 0c 0a 38 02 15 81 25 7f 75 08 81 06 c0 c0 05 0c 09 01 a1 01
> 85 03 75 10 15 00 26 ff 03 19 00 2a ff 03 81 00 c0 06 05 ff 09 01 a1
> 01 85 09 25 ff 95 02 75 08 09 20 81 02 09 22 91 02 15 81 25 7f 95 20
> 75 08 09 21 81 02 09 23 91 02 c0 09 02 a1 01 85 0f 15 00 25 ff 95 01
> 09 00 91 02 c0 05 0d 09 05 a1 01 85 04 09 22 a1 02 15 00 25 01 09 47
> 09 42 95 02 75 01 81 03 95 01 75 02 25 02 09 51 81 03 75 01 95 04 81
> 03 05 01 35 00 65 11 55 0d 75 10 95 01 09 30 26 ff 03 46 5e 1a 81 03
> 09 31 26 ff 01 46 80 0c 81 03 c0 05 0d 09 56 55 0c 66 01 10 47 ff ff
> 00 00 27 ff ff 00 00 81 03 09 54 25 7f 75 08 81 03 05 09 09 01 25 01
> 75 01 81 03 95 07 81 03 05 0d 85 04 09 55 09 59 75 04 95 02 25 0f b1
> 03 06 00 ff 09 c6 85 05 15 00 25 08 75 08 95 01 b1 02 09 c7 26 ff 00
> 75 08 95 20 b1 02 c0 05 0d 09 0e a1 01 85 06 09 22 a1 02 09 52 09 52
> 15 00 25 0a 75 08 95 01 b1 02 c0 85 0b 09 22 a1 00 09 57 09 58 15 00
> 25 01 75 01 95 02 b1 02 95 06 b1 03 c0 c0
> N: MICROSOFT SAM
> P: usb-0000:00:14.0-3/input2
> I: 3 045e 07a9
>
> One Finger - side to side swipes
>
> E: 0.000000 10 04 03 1f 02 ed 00 c4 e2 01 00
> E: 0.020089 10 04 03 1f 02 ed 00 0a e3 01 00
> E: 0.023972 10 04 03 1f 02 ed 00 50 e3 01 00
> E: 0.027967 10 04 03 1f 02 ed 00 96 e3 01 00
> E: 0.031878 10 04 03 1f 02 ed 00 dc e3 01 00
> E: 0.035809 10 04 03 14 02 eb 00 f0 e3 01 00
> E: 0.039936 10 04 03 10 02 eb 00 36 e4 01 00
> E: 0.043969 10 04 03 0f 02 ea 00 40 e4 01 00
> E: 0.047682 10 04 03 04 02 e9 00 86 e4 01 00
> E: 0.055592 10 04 03 fb 01 e8 00 cc e4 01 00
> E: 0.059593 10 04 03 f9 01 e7 00 d6 e4 01 00
> E: 0.063589 10 04 03 f1 01 e5 00 1c e5 01 00
> E: 0.067561 10 04 03 ee 01 e4 00 30 e5 01 00
> E: 0.071724 10 04 03 eb 01 e4 00 6c e5 01 00
> E: 0.075660 10 04 03 e0 01 e3 00 a8 e5 01 00
> E: 0.079566 10 04 03 d2 01 e1 00 ee e5 01 00
> E: 0.091504 10 04 03 c7 01 df 00 34 e6 01 00
> E: 0.095476 10 04 03 c5 01 de 00 3e e6 01 00
> E: 0.099484 10 04 03 ba 01 dc 00 84 e6 01 00
> E: 0.107550 10 04 03 ac 01 db 00 ca e6 01 00
> E: 0.111504 10 04 03 aa 01 da 00 d4 e6 01 00
> E: 0.115485 10 04 03 9f 01 d9 00 1a e7 01 00
> E: 0.119496 10 04 03 9d 01 d8 00 24 e7 01 00
> E: 0.123471 10 04 03 8f 01 d7 00 6a e7 01 00
> E: 0.127468 10 04 03 8d 01 d6 00 74 e7 01 00
> E: 0.131469 10 04 03 7f 01 d5 00 ba e7 01 00
> E: 0.135467 10 04 03 76 01 d4 00 e2 e7 01 00
> E: 0.143466 10 04 03 62 01 d3 00 28 e8 01 00
> E: 0.147468 10 04 03 5f 01 d2 00 32 e8 01 00
> E: 0.151467 10 04 03 51 01 d2 00 78 e8 01 00
> E: 0.155467 10 04 03 4f 01 d1 00 82 e8 01 00
> E: 0.159467 10 04 03 48 01 d1 00 c8 e8 01 00
> E: 0.163467 10 04 03 36 01 d0 00 04 e9 01 00
> E: 0.167467 10 04 03 28 01 cf 00 4a e9 01 00
> E: 0.179468 10 04 03 1e 01 cf 00 90 e9 01 00
> E: 0.183466 10 04 03 1c 01 cf 00 9a e9 01 00
> E: 0.187468 10 04 03 14 01 ce 00 e0 e9 01 00
> E: 0.191467 10 04 03 0c 01 ce 00 26 ea 01 00
> E: 0.195467 10 04 03 0a 01 cf 00 30 ea 01 00
> E: 0.199467 10 04 03 04 01 cf 00 76 ea 01 00
> E: 0.203467 10 04 03 02 01 cf 00 8a ea 01 00
> E: 0.211466 10 04 03 fd 00 cf 00 d0 ea 01 00
> E: 0.215467 10 04 03 fc 00 cf 00 da ea 01 00
> E: 0.219467 10 04 03 f8 00 cf 00 20 eb 01 00
> E: 0.223470 10 04 03 f6 00 ce 00 3e eb 01 00
> E: 0.227468 10 04 03 f1 00 ce 00 84 eb 01 00
> E: 0.231467 10 04 03 f0 00 ce 00 8e eb 01 00
> E: 0.235467 10 04 03 ed 00 ce 00 d4 eb 01 00
> E: 0.239466 10 04 03 ec 00 ce 00 de eb 01 00
> E: 0.243467 10 04 03 ea 00 ce 00 24 ec 01 00
> E: 0.251464 10 04 03 e9 00 ce 00 6a ec 01 00
> E: 0.255466 10 04 03 e8 00 ce 00 74 ec 01 00
> E: 0.259467 10 04 03 e6 00 ce 00 ba ec 01 00
> E: 0.263467 10 04 03 e5 00 ce 00 c4 ec 01 00
> E: 0.267467 10 04 03 e5 00 ce 00 0a ed 01 00
> E: 0.271479 10 04 03 e4 00 ce 00 3c ed 01 00
> E: 1.167556 10 04 01 79 01 b6 00 64 10 01 00
>
> Two Fingers
>
> E: 3.404049 10 04 03 85 03 fc 00 e4 67 01 00
> E: 3.428076 10 04 03 85 03 fc 00 2a 68 01 00
> E: 3.431899 10 04 03 85 03 fc 00 70 68 01 00
> E: 3.435812 10 04 03 85 03 fc 00 a2 68 02 00
> E: 3.439773 10 04 07 98 01 af 00 a2 68 00 00
> E: 3.447819 10 04 03 85 03 fc 00 f2 68 02 00
> E: 3.451729 10 04 07 99 01 b0 00 f2 68 00 00
> E: 3.455721 10 04 03 85 03 fc 00 42 69 02 00
> E: 3.459697 10 04 07 99 01 b0 00 42 69 00 00
> E: 3.463677 10 04 03 85 03 fc 00 92 69 02 00
> E: 3.467672 10 04 07 99 01 b0 00 92 69 00 00
> E: 3.471641 10 04 03 85 03 fc 00 e2 69 02 00
> E: 3.475641 10 04 07 99 01 b0 00 e2 69 00 00
> E: 3.479649 10 04 03 85 03 fc 00 32 6a 02 00
> E: 3.483616 10 04 07 99 01 b0 00 32 6a 00 00
> E: 3.487614 10 04 03 85 03 fc 00 82 6a 02 00
> E: 3.491461 10 04 07 99 01 b0 00 82 6a 00 00
> E: 3.495460 10 04 03 85 03 fc 00 d2 6a 02 00
> E: 3.499461 10 04 07 99 01 b0 00 d2 6a 00 00
> E: 3.503460 10 04 03 85 03 fc 00 22 6b 02 00
> E: 3.507461 10 04 07 99 01 b0 00 22 6b 00 00
> E: 3.511458 10 04 03 85 03 fc 00 72 6b 02 00
> E: 3.515460 10 04 07 99 01 b0 00 72 6b 00 00
> E: 3.519460 10 04 03 85 03 fc 00 c2 6b 02 00
> E: 3.523460 10 04 07 99 01 b0 00 c2 6b 00 00
> E: 3.527460 10 04 03 85 03 fc 00 12 6c 02 00
> E: 3.531466 10 04 07 99 01 b0 00 12 6c 00 00
> E: 3.535459 10 04 03 85 03 fc 00 62 6c 02 00
> E: 3.539460 10 04 07 99 01 b0 00 62 6c 00 00
> E: 3.543460 10 04 03 85 03 fc 00 b2 6c 02 00
> E: 3.547461 10 04 07 99 01 b0 00 b2 6c 00 00
> E: 3.551460 10 04 03 85 03 fc 00 02 6d 02 00
> E: 3.555460 10 04 07 99 01 b0 00 02 6d 00 00
> E: 3.559460 10 04 03 85 03 fc 00 52 6d 02 00
> E: 3.563460 10 04 07 99 01 b0 00 52 6d 00 00
> E: 3.567459 10 04 03 85 03 fc 00 a2 6d 02 00
> E: 3.571460 10 04 07 99 01 b0 00 a2 6d 00 00
> E: 3.575460 10 04 03 85 03 fc 00 f2 6d 02 00
> E: 3.579460 10 04 07 99 01 b0 00 f2 6d 00 00
> E: 3.583460 10 04 03 85 03 fc 00 42 6e 02 00
> E: 3.587460 10 04 07 99 01 b0 00 42 6e 00 00
> E: 3.591459 10 04 03 85 03 fc 00 92 6e 02 00
> E: 3.595460 10 04 07 99 01 b0 00 92 6e 00 00
> E: 3.599459 10 04 03 85 03 fc 00 e2 6e 02 00
> E: 3.603460 10 04 07 99 01 b0 00 e2 6e 00 00
> E: 3.607459 10 04 03 85 03 fc 00 32 6f 02 00
> E: 3.611460 10 04 07 99 01 b0 00 32 6f 00 00
> E: 3.615459 10 04 03 85 03 fc 00 82 6f 02 00
> E: 3.619460 10 04 07 8d 01 b2 00 82 6f 00 00
> E: 3.623460 10 04 03 7b 03 02 01 d2 6f 02 00
> E: 3.627476 10 04 07 84 01 b2 00 d2 6f 00 00
> E: 3.631423 10 04 03 6c 03 02 01 22 70 02 00
> E: 3.635495 10 04 07 73 01 b3 00 22 70 00 00
> E: 3.639475 10 04 03 5a 03 01 01 68 70 02 00
> E: 3.643479 10 04 07 67 01 b4 00 68 70 00 00
> E: 3.647369 10 04 03 4d 03 01 01 ae 70 02 00
> E: 3.651602 10 04 07 52 01 b5 00 ae 70 00 00
> E: 3.655649 10 04 03 4c 03 01 01 fe 70 02 00
> E: 3.659657 10 04 07 51 01 b6 00 fe 70 00 00
> E: 3.663650 10 04 03 34 03 01 01 08 71 02 00
> E: 3.667663 10 04 07 43 01 b6 00 08 71 00 00
> E: 3.671650 10 04 03 25 03 02 01 4e 71 02 00
> E: 3.675577 10 04 07 32 01 b7 00 4e 71 00 00
> E: 3.679686 10 04 03 1a 03 02 01 94 71 02 00
> E: 3.684002 10 04 07 29 01 b8 00 94 71 00 00
> E: 3.687960 10 04 03 0b 03 03 01 da 71 02 00
> E: 5.011753 10 04 05 b9 00 ea 00 e8 9a 00 00
>
> Three Fingers - I can't imagine someone using more on this size of touchpad
>
> E: 8.512034 10 04 03 01 01 30 01 44 2f 01 00
> E: 8.531887 10 04 03 01 01 30 01 8a 2f 01 00
> E: 8.535992 10 04 03 01 01 30 01 d0 2f 01 00
> E: 8.539861 10 04 03 01 01 30 01 16 30 01 00
> E: 8.543796 10 04 03 01 01 30 01 5c 30 01 00
> E: 8.547750 10 04 03 01 01 30 01 a2 30 01 00
> E: 8.551763 10 04 03 01 01 30 01 e8 30 01 00
> E: 8.559774 10 04 03 01 01 30 01 2e 31 01 00
> E: 8.563713 10 04 03 01 01 30 01 74 31 01 00
> E: 8.571685 10 04 03 fa 00 2c 01 c4 31 01 00
> E: 8.579631 10 04 03 f9 00 2b 01 14 32 01 00
> E: 8.595606 10 04 03 f9 00 2b 01 5a 32 01 00
> E: 8.599448 10 04 03 f9 00 2b 01 6e 32 02 00
> E: 8.603459 10 04 07 8a 03 36 01 6e 32 00 00
> E: 8.607448 10 04 03 f9 00 2b 01 be 32 02 00
> E: 8.611449 10 04 07 8b 03 37 01 be 32 00 00
> E: 8.615447 10 04 03 f9 00 2b 01 c8 32 03 00
> E: 8.619449 10 04 07 8a 03 36 01 c8 32 00 00
> E: 8.623450 10 04 0b 29 02 ab 00 c8 32 00 00
> E: 8.627449 10 04 03 f8 00 2b 01 0e 33 03 00
> E: 8.631448 10 04 07 8a 03 36 01 0e 33 00 00
> E: 8.635448 10 04 0b 29 02 ab 00 0e 33 00 00
> E: 8.639448 10 04 03 f7 00 2b 01 5e 33 03 00
> E: 8.643448 10 04 07 8a 03 36 01 5e 33 00 00
> E: 8.647448 10 04 0b 29 02 ab 00 5e 33 00 00
> E: 8.651448 10 04 03 f8 00 2a 01 86 33 03 00
> E: 8.655448 10 04 07 8a 03 36 01 86 33 00 00
> E: 8.659448 10 04 0b 29 02 ab 00 86 33 00 00
> E: 8.663447 10 04 03 f7 00 2a 01 cc 33 03 00
> E: 8.667449 10 04 07 8a 03 36 01 cc 33 00 00
> E: 8.671448 10 04 0b 29 02 ab 00 cc 33 00 00
> E: 8.675447 10 04 03 f6 00 2a 01 1c 34 03 00
> E: 8.679448 10 04 07 8a 03 36 01 1c 34 00 00
> E: 8.683448 10 04 0b 29 02 ab 00 1c 34 00 00
> E: 8.687447 10 04 03 f6 00 2a 01 62 34 03 00
> E: 8.691448 10 04 07 8a 03 36 01 62 34 00 00
> E: 8.695469 10 04 0b 29 02 ab 00 62 34 00 00
> E: 8.699449 10 04 03 f6 00 2a 01 b2 34 03 00
> E: 8.703447 10 04 07 8a 03 36 01 b2 34 00 00
> E: 8.707446 10 04 0b 29 02 ab 00 b2 34 00 00
> E: 8.711447 10 04 03 f5 00 2a 01 f8 34 03 00
> E: 8.715448 10 04 07 8a 03 36 01 f8 34 00 00
> E: 8.719447 10 04 0b 29 02 ab 00 f8 34 00 00
> E: 8.723448 10 04 03 f5 00 2a 01 48 35 03 00
> E: 8.727446 10 04 07 82 03 36 01 48 35 00 00
> E: 9.867933 10 04 05 36 03 1f 01 86 5b 00 00
>
> Tested keyboard - worked as expected
>
> E: 12.139656 12 01 00 14 00 00 00 00 00 00 00 00 00
> qE: 12.251482 12 01 00 00 00 00 00 00 00 00 00 00 00
> E: 12.579961 12 01 00 1a 00 00 00 00 00 00 00 00 00
> wE: 12.691797 12 01 00 00 00 00 00 00 00 00 00 00 00
> E: 13.027924 12 01 00 08 00 00 00 00 00 00 00 00 00
> eE: 13.159919 12 01 00 00 00 00 00 00 00 00 00 00 00
> E: 13.479970 12 01 00 15 00 00 00 00 00 00 00 00 00
> rE: 13.579955 12 01 00 00 00 00 00 00 00 00 00 00 00
> E: 14.007968 12 01 00 17 00 00 00 00 00 00 00 00 00
> tE: 14.107946 12 01 00 00 00 00 00 00 00 00 00 00 00
> E: 14.471932 12 01 00 1c 00 00 00 00 00 00 00 00 00
> yE: 14.571838 12 01 00 00 00 00 00 00 00 00 00 00 00
>
> Hope this is everything you needed. If there is any other test you
> need performed just let me know. One more thing I should note is that
> I did not see a cursor when input mode is set to three.
>
> On Sat, Mar 29, 2014 at 11:07 PM, Benjamin Tissoires
> <benjamin.tissoires@gmail.com> wrote:
>> Hi Reyad,
>>
>> Thanks for the tests. I was surprised to hear that this patch did not
>> work for you. I made some tests too and the touchpad collection does
>> not appear right now.
>> This was until I realized that the report descriptor I have regarding
>> the Surface 2 was completely buggy.
>> So it seems that either I have a bad one, or the one actually inside
>> the device is buggy (which would explain why you don't get any
>> output).
>>
>> The report descriptor declares all the events regarding the touchpad
>> as constant, and the hid subsystem ignores them :)
>>
>> To be able to provide a good solution, I would like you to conduct
>> some more tests:
>>
>> - revert commit 117309c51dca42121f70cacec801511b76acf75c (yours
>> actually :-P ) to handle the touch cover through hid-multitouch (you
>> should have done it already I think).
>> - register the touchcover surface 2 as using the class
>> MT_CLS_EXPORT_ALL_INPUTS (optional step, but you should be able to
>> have a keyboard with this)
>> - change mt_set_input_mode() in hid-multitouch.c to actually use "3"
>> as the td->inputmode_value (just overwite the value before putting it
>> in the field)
>> - please download and install hid-replay [1]
>>
>> run hid-recorder with (and without to check) the 3 as input mode, you
>> should receive events starting with "E: xxxxx..xxx XX 04 ....." when
>> playing with the touchpad.
>> (without the 3 as inputmode_value, you should receive  "E: xxxxx..xxx
>> XX 02 .....")
>>
>> Then, send me the recording from hid-recorder of a few keyboard
>> touches + touchpad events (single touch, dual touch, and more fingers)
>> so I can test and explain you how to fix the report descriptor in the
>> kernel.
>>
>>
>> Cheers,
>> Benjamin
>>
>>
>> On Sat, Mar 29, 2014 at 9:23 PM, Reyad Attiyat <reyad.attiyat@gmail.com> wrote:
>>> Hey Benjamin,
>>>
>>> I was the one to submit the original Surface 2 patch. I have been
>>> testing the 3.15/multitouch branch with the Surface Pro 2 type cover.
>>> This patch doesn't actual enable the keyboard/mouse to work. This
>>> patch only works when there is a HID_UP_BUTTON and/or HID_DG_TOUCHPAD
>>> in usage, which is not the case on this device. The reason the type
>>> cover is not working with hid-multitouch is mt_input_mapping is
>>> returing -1 to ignore the device. This happens becuase of:
>>>
>>> if (!td->mtclass.export_all_inputs &&
>>>    field->application != HID_DG_TOUCHSCREEN &&
>>>    field->application != HID_DG_PEN &&
>>>    field->application != HID_DG_TOUCHPAD)
>>> return -1;
>>>
>>>
>>> I notice that there is now a mt.export_all_inputs which could allow
>>> the surface type cover keyboard to get handled properly. Is this
>>> something that sould be added to hid-multitouch for this device? The
>>> driver could check for device ID's and set export_all_inputs to true.
>>> It could also check for GenericDesktop application in hid field and
>>> return 0 in mt_input_mapping.
>>>
>>> I can submit a patch with one of these changes if you think it would
>>> be better than the current patch for the surface from Derya. I belive
>>> that patch adds hardware ID's to hid core and sets the HID Group to
>>> generic.
>>>
>>> On Thu, Mar 20, 2014 at 12:36 PM, Benjamin Tissoires
>>> <benjamin.tissoires@gmail.com> wrote:
>>>> On Thu, Mar 20, 2014 at 5:02 AM, Jiri Kosina <jkosina@suse.cz> wrote:
>>>>> On Wed, 19 Mar 2014, Andrew Duggan wrote:
>>>>>
>>>>>> Multitouch touchpads built for Win 8.1 need to be sent an input mode feature report
>>>>>> in order to start reporting multitouch events. This is the same process sent
>>>>>> to Win 7 multitouch touchscreens except the value of the feature report is 3 for
>>>>>> touchpads.
>>>>>>
>>>>>> Signed-off-by: Andrew Duggan <aduggan@synaptics.com>
>>>>>> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
>>>>>
>>>>> Applied, thanks.
>>>>
>>>> Thanks Jiri.
>>>>
>>>> Derya, can you test if this also solves the problem with the Surface 2
>>>> touch cover?
>>>> (if you remove the special vendor handling in hid_scan_report)
>>>>
>>>> Cheers,
>>>> Benjamin
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-input" in
>>>> the body of a message to majordomo@vger.kernel.org
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-input" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Reyad Attiyat March 31, 2014, 4:54 p.m. UTC | #7
Hey Benjamin,

I did truncate the hid-recorder log. I didn't want to end up spamming
the mailing list. I'll attach to this email a full untocuhed log from
using the tocuhpad with one, two, and three fingers.



On Mon, Mar 31, 2014 at 10:19 AM, Benjamin Tissoires
<benjamin.tissoires@gmail.com> wrote:
> Hi Reyad,
>
> thanks for the logs.
>
> So, several things here:
> - the report descriptor is indeed messed, so we will have to fix it
> - once it will be fixed, we can use hid-mt to deal with the touch cover
> - however, either you truncated the events, or the device is pure
> crap. I got touches stuck with the values you submitted, and I have no
> way to retrieve the releases.
> - hid_scan_report needs to be fixed to prevent this failures in the future.
>
> I am going to submit a revert of the hid-microsoft commit and a fix
> for the hid_scan_report().
>
> Depending on whether you truncated the events, we will think at
> patching the report descriptor to make it actually working.
>
> Cheers,
> Benjamin
>
>
> On Sun, Mar 30, 2014 at 1:29 AM, Reyad Attiyat <reyad.attiyat@gmail.com> wrote:
>> Hey,
>>
>> I have reverted the old patch 117309.. and forced the class
>> MT_CLS_EXPORT_ALL_INPUTS on this device. The keyboard and mouse work
>> in this setup.
>> When input mode is set to 2 (MT_INPUTMODE_TOUCHSCREEN) hid-recorder outputs:
>>
>> R: 472 05 01 09 06 a1 01 85 01 15 00 25 01 75 01 95 08 05 07 19 e0 29
>> e7 81 02 75 08 95 0a 19 00 29 91 26 ff 00 81 00 05 0c 0a c0 02 a1 02
>> 1a c1 02 2a c6 02 95 06 b1 03 c0 05 08 19 01 29 03 75 01 95 03 25 01
>> 91 02 95 05 91 03 c0 05 01 09 02 a1 01 85 02 05 09 19 01 29 05 81 02
>> 95 01 75 03 81 03 15 81 25 7f 75 08 95 02 05 01 09 30 09 31 81 06 a1
>> 02 09 48 15 00 25 01 35 01 45 10 75 02 95 01 a4 b1 02 09 38 15 81 25
>> 7f 35 00 45 00 75 08 81 06 c0 a1 02 09 48 b4 b1 02 35 00 45 00 75 04
>> b1 03 05 0c 0a 38 02 15 81 25 7f 75 08 81 06 c0 c0 05 0c 09 01 a1 01
>> 85 03 75 10 15 00 26 ff 03 19 00 2a ff 03 81 00 c0 06 05 ff 09 01 a1
>> 01 85 09 25 ff 95 02 75 08 09 20 81 02 09 22 91 02 15 81 25 7f 95 20
>> 75 08 09 21 81 02 09 23 91 02 c0 09 02 a1 01 85 0f 15 00 25 ff 95 01
>> 09 00 91 02 c0 05 0d 09 05 a1 01 85 04 09 22 a1 02 15 00 25 01 09 47
>> 09 42 95 02 75 01 81 03 95 01 75 02 25 02 09 51 81 03 75 01 95 04 81
>> 03 05 01 35 00 65 11 55 0d 75 10 95 01 09 30 26 ff 03 46 5e 1a 81 03
>> 09 31 26 ff 01 46 80 0c 81 03 c0 05 0d 09 56 55 0c 66 01 10 47 ff ff
>> 00 00 27 ff ff 00 00 81 03 09 54 25 7f 75 08 81 03 05 09 09 01 25 01
>> 75 01 81 03 95 07 81 03 05 0d 85 04 09 55 09 59 75 04 95 02 25 0f b1
>> 03 06 00 ff 09 c6 85 05 15 00 25 08 75 08 95 01 b1 02 09 c7 26 ff 00
>> 75 08 95 20 b1 02 c0 05 0d 09 0e a1 01 85 06 09 22 a1 02 09 52 09 52
>> 15 00 25 0a 75 08 95 01 b1 02 c0 85 0b 09 22 a1 00 09 57 09 58 15 00
>> 25 01 75 01 95 02 b1 02 95 06 b1 03 c0 c0
>> N: MICROSOFT SAM
>> P: usb-0000:00:14.0-3/input2
>> I: 3 045e 07a9
>> E: 0.000001 12 01 00 00 00 00 00 00 00 00 00 00 00
>> E: 1.044575 6 02 00 f7 00 00 00
>> E: 1.052450 6 02 00 f7 00 00 00
>> E: 1.056451 6 02 00 fd 00 00 00
>> E: 1.064307 6 02 00 f3 00 00 00
>> E: 1.072314 6 02 00 f3 ff 00 00
>> E: 1.080422 6 02 00 f2 ff 00 00
>> E: 1.088323 6 02 00 f6 00 00 00
>> E: 1.096446 6 02 00 f1 00 00 00
>> E: 1.104276 6 02 00 f2 01 00 00
>> E: 1.112225 6 02 00 f3 00 00 00
>> E: 1.120162 6 02 00 f5 00 00 00
>> E: 1.128130 6 02 00 f8 01 00 00
>> E: 1.136120 6 02 00 f9 00 00 00
>> E: 1.144190 6 02 00 fe 00 00 00
>> E: 1.148212 6 02 00 fb 01 00 00
>> E: 1.156311 6 02 00 fc 01 00 00
>> E: 1.164293 6 02 00 fd 00 00 00
>> E: 1.172407 6 02 00 fe 00 00 00
>> E: 1.184526 6 02 00 fe 01 00 00
>> E: 1.192372 6 02 00 ff 00 00 00
>>
>>
>> When input is set to 3 hid-recorder output is:
>>
>> R: 472 05 01 09 06 a1 01 85 01 15 00 25 01 75 01 95 08 05 07 19 e0 29
>> e7 81 02 75 08 95 0a 19 00 29 91 26 ff 00 81 00 05 0c 0a c0 02 a1 02
>> 1a c1 02 2a c6 02 95 06 b1 03 c0 05 08 19 01 29 03 75 01 95 03 25 01
>> 91 02 95 05 91 03 c0 05 01 09 02 a1 01 85 02 05 09 19 01 29 05 81 02
>> 95 01 75 03 81 03 15 81 25 7f 75 08 95 02 05 01 09 30 09 31 81 06 a1
>> 02 09 48 15 00 25 01 35 01 45 10 75 02 95 01 a4 b1 02 09 38 15 81 25
>> 7f 35 00 45 00 75 08 81 06 c0 a1 02 09 48 b4 b1 02 35 00 45 00 75 04
>> b1 03 05 0c 0a 38 02 15 81 25 7f 75 08 81 06 c0 c0 05 0c 09 01 a1 01
>> 85 03 75 10 15 00 26 ff 03 19 00 2a ff 03 81 00 c0 06 05 ff 09 01 a1
>> 01 85 09 25 ff 95 02 75 08 09 20 81 02 09 22 91 02 15 81 25 7f 95 20
>> 75 08 09 21 81 02 09 23 91 02 c0 09 02 a1 01 85 0f 15 00 25 ff 95 01
>> 09 00 91 02 c0 05 0d 09 05 a1 01 85 04 09 22 a1 02 15 00 25 01 09 47
>> 09 42 95 02 75 01 81 03 95 01 75 02 25 02 09 51 81 03 75 01 95 04 81
>> 03 05 01 35 00 65 11 55 0d 75 10 95 01 09 30 26 ff 03 46 5e 1a 81 03
>> 09 31 26 ff 01 46 80 0c 81 03 c0 05 0d 09 56 55 0c 66 01 10 47 ff ff
>> 00 00 27 ff ff 00 00 81 03 09 54 25 7f 75 08 81 03 05 09 09 01 25 01
>> 75 01 81 03 95 07 81 03 05 0d 85 04 09 55 09 59 75 04 95 02 25 0f b1
>> 03 06 00 ff 09 c6 85 05 15 00 25 08 75 08 95 01 b1 02 09 c7 26 ff 00
>> 75 08 95 20 b1 02 c0 05 0d 09 0e a1 01 85 06 09 22 a1 02 09 52 09 52
>> 15 00 25 0a 75 08 95 01 b1 02 c0 85 0b 09 22 a1 00 09 57 09 58 15 00
>> 25 01 75 01 95 02 b1 02 95 06 b1 03 c0 c0
>> N: MICROSOFT SAM
>> P: usb-0000:00:14.0-3/input2
>> I: 3 045e 07a9
>>
>> One Finger - side to side swipes
>>
>> E: 0.000000 10 04 03 1f 02 ed 00 c4 e2 01 00
>> E: 0.020089 10 04 03 1f 02 ed 00 0a e3 01 00
>> E: 0.023972 10 04 03 1f 02 ed 00 50 e3 01 00
>> E: 0.027967 10 04 03 1f 02 ed 00 96 e3 01 00
>> E: 0.031878 10 04 03 1f 02 ed 00 dc e3 01 00
>> E: 0.035809 10 04 03 14 02 eb 00 f0 e3 01 00
>> E: 0.039936 10 04 03 10 02 eb 00 36 e4 01 00
>> E: 0.043969 10 04 03 0f 02 ea 00 40 e4 01 00
>> E: 0.047682 10 04 03 04 02 e9 00 86 e4 01 00
>> E: 0.055592 10 04 03 fb 01 e8 00 cc e4 01 00
>> E: 0.059593 10 04 03 f9 01 e7 00 d6 e4 01 00
>> E: 0.063589 10 04 03 f1 01 e5 00 1c e5 01 00
>> E: 0.067561 10 04 03 ee 01 e4 00 30 e5 01 00
>> E: 0.071724 10 04 03 eb 01 e4 00 6c e5 01 00
>> E: 0.075660 10 04 03 e0 01 e3 00 a8 e5 01 00
>> E: 0.079566 10 04 03 d2 01 e1 00 ee e5 01 00
>> E: 0.091504 10 04 03 c7 01 df 00 34 e6 01 00
>> E: 0.095476 10 04 03 c5 01 de 00 3e e6 01 00
>> E: 0.099484 10 04 03 ba 01 dc 00 84 e6 01 00
>> E: 0.107550 10 04 03 ac 01 db 00 ca e6 01 00
>> E: 0.111504 10 04 03 aa 01 da 00 d4 e6 01 00
>> E: 0.115485 10 04 03 9f 01 d9 00 1a e7 01 00
>> E: 0.119496 10 04 03 9d 01 d8 00 24 e7 01 00
>> E: 0.123471 10 04 03 8f 01 d7 00 6a e7 01 00
>> E: 0.127468 10 04 03 8d 01 d6 00 74 e7 01 00
>> E: 0.131469 10 04 03 7f 01 d5 00 ba e7 01 00
>> E: 0.135467 10 04 03 76 01 d4 00 e2 e7 01 00
>> E: 0.143466 10 04 03 62 01 d3 00 28 e8 01 00
>> E: 0.147468 10 04 03 5f 01 d2 00 32 e8 01 00
>> E: 0.151467 10 04 03 51 01 d2 00 78 e8 01 00
>> E: 0.155467 10 04 03 4f 01 d1 00 82 e8 01 00
>> E: 0.159467 10 04 03 48 01 d1 00 c8 e8 01 00
>> E: 0.163467 10 04 03 36 01 d0 00 04 e9 01 00
>> E: 0.167467 10 04 03 28 01 cf 00 4a e9 01 00
>> E: 0.179468 10 04 03 1e 01 cf 00 90 e9 01 00
>> E: 0.183466 10 04 03 1c 01 cf 00 9a e9 01 00
>> E: 0.187468 10 04 03 14 01 ce 00 e0 e9 01 00
>> E: 0.191467 10 04 03 0c 01 ce 00 26 ea 01 00
>> E: 0.195467 10 04 03 0a 01 cf 00 30 ea 01 00
>> E: 0.199467 10 04 03 04 01 cf 00 76 ea 01 00
>> E: 0.203467 10 04 03 02 01 cf 00 8a ea 01 00
>> E: 0.211466 10 04 03 fd 00 cf 00 d0 ea 01 00
>> E: 0.215467 10 04 03 fc 00 cf 00 da ea 01 00
>> E: 0.219467 10 04 03 f8 00 cf 00 20 eb 01 00
>> E: 0.223470 10 04 03 f6 00 ce 00 3e eb 01 00
>> E: 0.227468 10 04 03 f1 00 ce 00 84 eb 01 00
>> E: 0.231467 10 04 03 f0 00 ce 00 8e eb 01 00
>> E: 0.235467 10 04 03 ed 00 ce 00 d4 eb 01 00
>> E: 0.239466 10 04 03 ec 00 ce 00 de eb 01 00
>> E: 0.243467 10 04 03 ea 00 ce 00 24 ec 01 00
>> E: 0.251464 10 04 03 e9 00 ce 00 6a ec 01 00
>> E: 0.255466 10 04 03 e8 00 ce 00 74 ec 01 00
>> E: 0.259467 10 04 03 e6 00 ce 00 ba ec 01 00
>> E: 0.263467 10 04 03 e5 00 ce 00 c4 ec 01 00
>> E: 0.267467 10 04 03 e5 00 ce 00 0a ed 01 00
>> E: 0.271479 10 04 03 e4 00 ce 00 3c ed 01 00
>> E: 1.167556 10 04 01 79 01 b6 00 64 10 01 00
>>
>> Two Fingers
>>
>> E: 3.404049 10 04 03 85 03 fc 00 e4 67 01 00
>> E: 3.428076 10 04 03 85 03 fc 00 2a 68 01 00
>> E: 3.431899 10 04 03 85 03 fc 00 70 68 01 00
>> E: 3.435812 10 04 03 85 03 fc 00 a2 68 02 00
>> E: 3.439773 10 04 07 98 01 af 00 a2 68 00 00
>> E: 3.447819 10 04 03 85 03 fc 00 f2 68 02 00
>> E: 3.451729 10 04 07 99 01 b0 00 f2 68 00 00
>> E: 3.455721 10 04 03 85 03 fc 00 42 69 02 00
>> E: 3.459697 10 04 07 99 01 b0 00 42 69 00 00
>> E: 3.463677 10 04 03 85 03 fc 00 92 69 02 00
>> E: 3.467672 10 04 07 99 01 b0 00 92 69 00 00
>> E: 3.471641 10 04 03 85 03 fc 00 e2 69 02 00
>> E: 3.475641 10 04 07 99 01 b0 00 e2 69 00 00
>> E: 3.479649 10 04 03 85 03 fc 00 32 6a 02 00
>> E: 3.483616 10 04 07 99 01 b0 00 32 6a 00 00
>> E: 3.487614 10 04 03 85 03 fc 00 82 6a 02 00
>> E: 3.491461 10 04 07 99 01 b0 00 82 6a 00 00
>> E: 3.495460 10 04 03 85 03 fc 00 d2 6a 02 00
>> E: 3.499461 10 04 07 99 01 b0 00 d2 6a 00 00
>> E: 3.503460 10 04 03 85 03 fc 00 22 6b 02 00
>> E: 3.507461 10 04 07 99 01 b0 00 22 6b 00 00
>> E: 3.511458 10 04 03 85 03 fc 00 72 6b 02 00
>> E: 3.515460 10 04 07 99 01 b0 00 72 6b 00 00
>> E: 3.519460 10 04 03 85 03 fc 00 c2 6b 02 00
>> E: 3.523460 10 04 07 99 01 b0 00 c2 6b 00 00
>> E: 3.527460 10 04 03 85 03 fc 00 12 6c 02 00
>> E: 3.531466 10 04 07 99 01 b0 00 12 6c 00 00
>> E: 3.535459 10 04 03 85 03 fc 00 62 6c 02 00
>> E: 3.539460 10 04 07 99 01 b0 00 62 6c 00 00
>> E: 3.543460 10 04 03 85 03 fc 00 b2 6c 02 00
>> E: 3.547461 10 04 07 99 01 b0 00 b2 6c 00 00
>> E: 3.551460 10 04 03 85 03 fc 00 02 6d 02 00
>> E: 3.555460 10 04 07 99 01 b0 00 02 6d 00 00
>> E: 3.559460 10 04 03 85 03 fc 00 52 6d 02 00
>> E: 3.563460 10 04 07 99 01 b0 00 52 6d 00 00
>> E: 3.567459 10 04 03 85 03 fc 00 a2 6d 02 00
>> E: 3.571460 10 04 07 99 01 b0 00 a2 6d 00 00
>> E: 3.575460 10 04 03 85 03 fc 00 f2 6d 02 00
>> E: 3.579460 10 04 07 99 01 b0 00 f2 6d 00 00
>> E: 3.583460 10 04 03 85 03 fc 00 42 6e 02 00
>> E: 3.587460 10 04 07 99 01 b0 00 42 6e 00 00
>> E: 3.591459 10 04 03 85 03 fc 00 92 6e 02 00
>> E: 3.595460 10 04 07 99 01 b0 00 92 6e 00 00
>> E: 3.599459 10 04 03 85 03 fc 00 e2 6e 02 00
>> E: 3.603460 10 04 07 99 01 b0 00 e2 6e 00 00
>> E: 3.607459 10 04 03 85 03 fc 00 32 6f 02 00
>> E: 3.611460 10 04 07 99 01 b0 00 32 6f 00 00
>> E: 3.615459 10 04 03 85 03 fc 00 82 6f 02 00
>> E: 3.619460 10 04 07 8d 01 b2 00 82 6f 00 00
>> E: 3.623460 10 04 03 7b 03 02 01 d2 6f 02 00
>> E: 3.627476 10 04 07 84 01 b2 00 d2 6f 00 00
>> E: 3.631423 10 04 03 6c 03 02 01 22 70 02 00
>> E: 3.635495 10 04 07 73 01 b3 00 22 70 00 00
>> E: 3.639475 10 04 03 5a 03 01 01 68 70 02 00
>> E: 3.643479 10 04 07 67 01 b4 00 68 70 00 00
>> E: 3.647369 10 04 03 4d 03 01 01 ae 70 02 00
>> E: 3.651602 10 04 07 52 01 b5 00 ae 70 00 00
>> E: 3.655649 10 04 03 4c 03 01 01 fe 70 02 00
>> E: 3.659657 10 04 07 51 01 b6 00 fe 70 00 00
>> E: 3.663650 10 04 03 34 03 01 01 08 71 02 00
>> E: 3.667663 10 04 07 43 01 b6 00 08 71 00 00
>> E: 3.671650 10 04 03 25 03 02 01 4e 71 02 00
>> E: 3.675577 10 04 07 32 01 b7 00 4e 71 00 00
>> E: 3.679686 10 04 03 1a 03 02 01 94 71 02 00
>> E: 3.684002 10 04 07 29 01 b8 00 94 71 00 00
>> E: 3.687960 10 04 03 0b 03 03 01 da 71 02 00
>> E: 5.011753 10 04 05 b9 00 ea 00 e8 9a 00 00
>>
>> Three Fingers - I can't imagine someone using more on this size of touchpad
>>
>> E: 8.512034 10 04 03 01 01 30 01 44 2f 01 00
>> E: 8.531887 10 04 03 01 01 30 01 8a 2f 01 00
>> E: 8.535992 10 04 03 01 01 30 01 d0 2f 01 00
>> E: 8.539861 10 04 03 01 01 30 01 16 30 01 00
>> E: 8.543796 10 04 03 01 01 30 01 5c 30 01 00
>> E: 8.547750 10 04 03 01 01 30 01 a2 30 01 00
>> E: 8.551763 10 04 03 01 01 30 01 e8 30 01 00
>> E: 8.559774 10 04 03 01 01 30 01 2e 31 01 00
>> E: 8.563713 10 04 03 01 01 30 01 74 31 01 00
>> E: 8.571685 10 04 03 fa 00 2c 01 c4 31 01 00
>> E: 8.579631 10 04 03 f9 00 2b 01 14 32 01 00
>> E: 8.595606 10 04 03 f9 00 2b 01 5a 32 01 00
>> E: 8.599448 10 04 03 f9 00 2b 01 6e 32 02 00
>> E: 8.603459 10 04 07 8a 03 36 01 6e 32 00 00
>> E: 8.607448 10 04 03 f9 00 2b 01 be 32 02 00
>> E: 8.611449 10 04 07 8b 03 37 01 be 32 00 00
>> E: 8.615447 10 04 03 f9 00 2b 01 c8 32 03 00
>> E: 8.619449 10 04 07 8a 03 36 01 c8 32 00 00
>> E: 8.623450 10 04 0b 29 02 ab 00 c8 32 00 00
>> E: 8.627449 10 04 03 f8 00 2b 01 0e 33 03 00
>> E: 8.631448 10 04 07 8a 03 36 01 0e 33 00 00
>> E: 8.635448 10 04 0b 29 02 ab 00 0e 33 00 00
>> E: 8.639448 10 04 03 f7 00 2b 01 5e 33 03 00
>> E: 8.643448 10 04 07 8a 03 36 01 5e 33 00 00
>> E: 8.647448 10 04 0b 29 02 ab 00 5e 33 00 00
>> E: 8.651448 10 04 03 f8 00 2a 01 86 33 03 00
>> E: 8.655448 10 04 07 8a 03 36 01 86 33 00 00
>> E: 8.659448 10 04 0b 29 02 ab 00 86 33 00 00
>> E: 8.663447 10 04 03 f7 00 2a 01 cc 33 03 00
>> E: 8.667449 10 04 07 8a 03 36 01 cc 33 00 00
>> E: 8.671448 10 04 0b 29 02 ab 00 cc 33 00 00
>> E: 8.675447 10 04 03 f6 00 2a 01 1c 34 03 00
>> E: 8.679448 10 04 07 8a 03 36 01 1c 34 00 00
>> E: 8.683448 10 04 0b 29 02 ab 00 1c 34 00 00
>> E: 8.687447 10 04 03 f6 00 2a 01 62 34 03 00
>> E: 8.691448 10 04 07 8a 03 36 01 62 34 00 00
>> E: 8.695469 10 04 0b 29 02 ab 00 62 34 00 00
>> E: 8.699449 10 04 03 f6 00 2a 01 b2 34 03 00
>> E: 8.703447 10 04 07 8a 03 36 01 b2 34 00 00
>> E: 8.707446 10 04 0b 29 02 ab 00 b2 34 00 00
>> E: 8.711447 10 04 03 f5 00 2a 01 f8 34 03 00
>> E: 8.715448 10 04 07 8a 03 36 01 f8 34 00 00
>> E: 8.719447 10 04 0b 29 02 ab 00 f8 34 00 00
>> E: 8.723448 10 04 03 f5 00 2a 01 48 35 03 00
>> E: 8.727446 10 04 07 82 03 36 01 48 35 00 00
>> E: 9.867933 10 04 05 36 03 1f 01 86 5b 00 00
>>
>> Tested keyboard - worked as expected
>>
>> E: 12.139656 12 01 00 14 00 00 00 00 00 00 00 00 00
>> qE: 12.251482 12 01 00 00 00 00 00 00 00 00 00 00 00
>> E: 12.579961 12 01 00 1a 00 00 00 00 00 00 00 00 00
>> wE: 12.691797 12 01 00 00 00 00 00 00 00 00 00 00 00
>> E: 13.027924 12 01 00 08 00 00 00 00 00 00 00 00 00
>> eE: 13.159919 12 01 00 00 00 00 00 00 00 00 00 00 00
>> E: 13.479970 12 01 00 15 00 00 00 00 00 00 00 00 00
>> rE: 13.579955 12 01 00 00 00 00 00 00 00 00 00 00 00
>> E: 14.007968 12 01 00 17 00 00 00 00 00 00 00 00 00
>> tE: 14.107946 12 01 00 00 00 00 00 00 00 00 00 00 00
>> E: 14.471932 12 01 00 1c 00 00 00 00 00 00 00 00 00
>> yE: 14.571838 12 01 00 00 00 00 00 00 00 00 00 00 00
>>
>> Hope this is everything you needed. If there is any other test you
>> need performed just let me know. One more thing I should note is that
>> I did not see a cursor when input mode is set to three.
>>
>> On Sat, Mar 29, 2014 at 11:07 PM, Benjamin Tissoires
>> <benjamin.tissoires@gmail.com> wrote:
>>> Hi Reyad,
>>>
>>> Thanks for the tests. I was surprised to hear that this patch did not
>>> work for you. I made some tests too and the touchpad collection does
>>> not appear right now.
>>> This was until I realized that the report descriptor I have regarding
>>> the Surface 2 was completely buggy.
>>> So it seems that either I have a bad one, or the one actually inside
>>> the device is buggy (which would explain why you don't get any
>>> output).
>>>
>>> The report descriptor declares all the events regarding the touchpad
>>> as constant, and the hid subsystem ignores them :)
>>>
>>> To be able to provide a good solution, I would like you to conduct
>>> some more tests:
>>>
>>> - revert commit 117309c51dca42121f70cacec801511b76acf75c (yours
>>> actually :-P ) to handle the touch cover through hid-multitouch (you
>>> should have done it already I think).
>>> - register the touchcover surface 2 as using the class
>>> MT_CLS_EXPORT_ALL_INPUTS (optional step, but you should be able to
>>> have a keyboard with this)
>>> - change mt_set_input_mode() in hid-multitouch.c to actually use "3"
>>> as the td->inputmode_value (just overwite the value before putting it
>>> in the field)
>>> - please download and install hid-replay [1]
>>>
>>> run hid-recorder with (and without to check) the 3 as input mode, you
>>> should receive events starting with "E: xxxxx..xxx XX 04 ....." when
>>> playing with the touchpad.
>>> (without the 3 as inputmode_value, you should receive  "E: xxxxx..xxx
>>> XX 02 .....")
>>>
>>> Then, send me the recording from hid-recorder of a few keyboard
>>> touches + touchpad events (single touch, dual touch, and more fingers)
>>> so I can test and explain you how to fix the report descriptor in the
>>> kernel.
>>>
>>>
>>> Cheers,
>>> Benjamin
>>>
>>>
>>> On Sat, Mar 29, 2014 at 9:23 PM, Reyad Attiyat <reyad.attiyat@gmail.com> wrote:
>>>> Hey Benjamin,
>>>>
>>>> I was the one to submit the original Surface 2 patch. I have been
>>>> testing the 3.15/multitouch branch with the Surface Pro 2 type cover.
>>>> This patch doesn't actual enable the keyboard/mouse to work. This
>>>> patch only works when there is a HID_UP_BUTTON and/or HID_DG_TOUCHPAD
>>>> in usage, which is not the case on this device. The reason the type
>>>> cover is not working with hid-multitouch is mt_input_mapping is
>>>> returing -1 to ignore the device. This happens becuase of:
>>>>
>>>> if (!td->mtclass.export_all_inputs &&
>>>>    field->application != HID_DG_TOUCHSCREEN &&
>>>>    field->application != HID_DG_PEN &&
>>>>    field->application != HID_DG_TOUCHPAD)
>>>> return -1;
>>>>
>>>>
>>>> I notice that there is now a mt.export_all_inputs which could allow
>>>> the surface type cover keyboard to get handled properly. Is this
>>>> something that sould be added to hid-multitouch for this device? The
>>>> driver could check for device ID's and set export_all_inputs to true.
>>>> It could also check for GenericDesktop application in hid field and
>>>> return 0 in mt_input_mapping.
>>>>
>>>> I can submit a patch with one of these changes if you think it would
>>>> be better than the current patch for the surface from Derya. I belive
>>>> that patch adds hardware ID's to hid core and sets the HID Group to
>>>> generic.
>>>>
>>>> On Thu, Mar 20, 2014 at 12:36 PM, Benjamin Tissoires
>>>> <benjamin.tissoires@gmail.com> wrote:
>>>>> On Thu, Mar 20, 2014 at 5:02 AM, Jiri Kosina <jkosina@suse.cz> wrote:
>>>>>> On Wed, 19 Mar 2014, Andrew Duggan wrote:
>>>>>>
>>>>>>> Multitouch touchpads built for Win 8.1 need to be sent an input mode feature report
>>>>>>> in order to start reporting multitouch events. This is the same process sent
>>>>>>> to Win 7 multitouch touchscreens except the value of the feature report is 3 for
>>>>>>> touchpads.
>>>>>>>
>>>>>>> Signed-off-by: Andrew Duggan <aduggan@synaptics.com>
>>>>>>> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
>>>>>>
>>>>>> Applied, thanks.
>>>>>
>>>>> Thanks Jiri.
>>>>>
>>>>> Derya, can you test if this also solves the problem with the Surface 2
>>>>> touch cover?
>>>>> (if you remove the special vendor handling in hid_scan_report)
>>>>>
>>>>> Cheers,
>>>>> Benjamin
>>>>> --
>>>>> To unsubscribe from this list: send the line "unsubscribe linux-input" in
>>>>> the body of a message to majordomo@vger.kernel.org
>>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-input" in
>>>> the body of a message to majordomo@vger.kernel.org
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
R: 472 05 01 09 06 a1 01 85 01 15 00 25 01 75 01 95 08 05 07 19 e0 29 e7 81 02 75 08 95 0a 19 00 29 91 26 ff 00 81 00 05 0c 0a c0 02 a1 02 1a c1 02 2a c6 02 95 06 b1 03 c0 05 08 19 01 29 03 75 01 95 03 25 01 91 02 95 05 91 03 c0 05 01 09 02 a1 01 85 02 05 09 19 01 29 05 81 02 95 01 75 03 81 03 15 81 25 7f 75 08 95 02 05 01 09 30 09 31 81 06 a1 02 09 48 15 00 25 01 35 01 45 10 75 02 95 01 a4 b1 02 09 38 15 81 25 7f 35 00 45 00 75 08 81 06 c0 a1 02 09 48 b4 b1 02 35 00 45 00 75 04 b1 03 05 0c 0a 38 02 15 81 25 7f 75 08 81 06 c0 c0 05 0c 09 01 a1 01 85 03 75 10 15 00 26 ff 03 19 00 2a ff 03 81 00 c0 06 05 ff 09 01 a1 01 85 09 25 ff 95 02 75 08 09 20 81 02 09 22 91 02 15 81 25 7f 95 20 75 08 09 21 81 02 09 23 91 02 c0 09 02 a1 01 85 0f 15 00 25 ff 95 01 09 00 91 02 c0 05 0d 09 05 a1 01 85 04 09 22 a1 02 15 00 25 01 09 47 09 42 95 02 75 01 81 03 95 01 75 02 25 02 09 51 81 03 75 01 95 04 81 03 05 01 35 00 65 11 55 0d 75 10 95 01 09 30 26 ff 03 46 5e 1a 81 03 09 31 26 ff 01 46 80 0c 81 03 c0 05 0d 09 56 55 0c 66 01 10 47 ff ff 00 00 27 ff ff 00 00 81 03 09 54 25 7f 75 08 81 03 05 09 09 01 25 01 75 01 81 03 95 07 81 03 05 0d 85 04 09 55 09 59 75 04 95 02 25 0f b1 03 06 00 ff 09 c6 85 05 15 00 25 08 75 08 95 01 b1 02 09 c7 26 ff 00 75 08 95 20 b1 02 c0 05 0d 09 0e a1 01 85 06 09 22 a1 02 09 52 09 52 15 00 25 0a 75 08 95 01 b1 02 c0 85 0b 09 22 a1 00 09 57 09 58 15 00 25 01 75 01 95 02 b1 02 95 06 b1 03 c0 c0
N: MICROSOFT SAM
P: usb-0000:00:14.0-3/input2
I: 3 045e 07a9
E: 0.000000 12 01 00 00 00 00 00 00 00 00 00 00 00
E: 2.076042 10 04 03 c0 00 00 01 60 43 01 00
E: 2.096023 10 04 03 c0 00 00 01 a6 43 01 00
E: 2.100025 10 04 03 c0 00 00 01 ec 43 01 00
E: 2.104025 10 04 03 c0 00 00 01 32 44 01 00
E: 2.108034 10 04 03 c0 00 00 01 78 44 01 00
E: 2.112024 10 04 03 ca 00 00 01 8c 44 01 00
E: 2.120022 10 04 03 cd 00 00 01 d2 44 01 00
E: 2.124024 10 04 03 ce 00 ff 00 e6 44 01 00
E: 2.128023 10 04 03 d3 00 fe 00 2c 45 01 00
E: 2.132023 10 04 03 dd 00 fd 00 68 45 01 00
E: 2.136023 10 04 03 e8 00 fc 00 ae 45 01 00
E: 2.148020 10 04 03 ee 00 fc 00 f4 45 01 00
E: 2.152022 10 04 03 ef 00 fb 00 fe 45 01 00
E: 2.156022 10 04 03 fd 00 f9 00 44 46 01 00
E: 2.164019 10 04 03 0d 01 f7 00 8a 46 01 00
E: 2.168023 10 04 03 10 01 f6 00 94 46 01 00
E: 2.172022 10 04 03 1e 01 f3 00 da 46 01 00
E: 2.176021 10 04 03 21 01 f2 00 e4 46 01 00
E: 2.180021 10 04 03 26 01 f1 00 2a 47 01 00
E: 2.184022 10 04 03 36 01 ef 00 66 47 01 00
E: 2.192018 10 04 03 41 01 ee 00 ac 47 01 00
E: 2.196020 10 04 03 43 01 ed 00 b6 47 01 00
E: 2.200020 10 04 03 4d 01 ec 00 fc 47 01 00
E: 2.204021 10 04 03 4f 01 eb 00 06 48 01 00
E: 2.208019 10 04 03 54 01 ea 00 4c 48 01 00
E: 2.212020 10 04 03 64 01 e7 00 88 48 01 00
E: 2.216020 10 04 03 71 01 e6 00 ce 48 01 00
E: 2.228016 10 04 03 7a 01 e6 00 14 49 01 00
E: 2.232017 10 04 03 7c 01 e5 00 1e 49 01 00
E: 2.236019 10 04 03 84 01 e4 00 64 49 01 00
E: 2.244017 10 04 03 90 01 e3 00 aa 49 01 00
E: 2.248019 10 04 03 92 01 e2 00 b4 49 01 00
E: 2.252019 10 04 03 9f 01 df 00 fa 49 01 00
E: 2.256018 10 04 03 a1 01 de 00 04 4a 01 00
E: 2.260004 10 04 03 ad 01 dd 00 4a 4a 01 00
E: 2.264017 10 04 03 b1 01 dc 00 5e 4a 01 00
E: 2.268017 10 04 03 ba 01 dc 00 a4 4a 01 00
E: 2.272016 10 04 03 bf 01 db 00 c2 4a 01 00
E: 2.280014 10 04 03 cb 01 db 00 08 4b 01 00
E: 2.284017 10 04 03 cd 01 da 00 12 4b 01 00
E: 2.288014 10 04 03 da 01 da 00 58 4b 01 00
E: 2.292017 10 04 03 dc 01 d9 00 62 4b 01 00
E: 2.295999 10 04 03 e8 01 d8 00 a8 4b 01 00
E: 2.304013 10 04 03 f6 01 d7 00 ee 4b 01 00
E: 2.308016 10 04 03 f9 01 d6 00 f8 4b 01 00
E: 2.312013 10 04 03 07 02 d6 00 3e 4c 01 00
E: 2.316015 10 04 03 09 02 d6 00 48 4c 01 00
E: 2.320015 10 04 03 15 02 d6 00 8e 4c 01 00
E: 2.324015 10 04 03 17 02 d7 00 98 4c 01 00
E: 2.328022 10 04 03 20 02 d7 00 de 4c 01 00
E: 2.332015 10 04 03 26 02 d7 00 06 4d 01 00
E: 2.336015 10 04 03 31 02 d7 00 4c 4d 01 00
E: 2.340017 10 04 03 33 02 d6 00 56 4d 01 00
E: 2.344013 10 04 03 3b 02 d6 00 9c 4d 01 00
E: 2.348014 10 04 03 3d 02 d6 00 a6 4d 01 00
E: 2.352014 10 04 03 41 02 d6 00 ec 4d 01 00
E: 2.356014 10 04 03 4b 02 d6 00 28 4e 01 00
E: 2.359999 10 04 03 52 02 d6 00 6e 4e 01 00
E: 2.372010 10 04 03 56 02 d6 00 b4 4e 01 00
E: 2.376015 10 04 03 57 02 d6 00 be 4e 01 00
E: 2.380013 10 04 03 59 02 d6 00 04 4f 01 00
E: 2.388010 10 04 03 5a 02 d6 00 4a 4f 01 00
E: 2.392012 10 04 03 5b 02 d6 00 54 4f 01 00
E: 2.396012 10 04 03 5c 02 d6 00 9a 4f 01 00
E: 2.400012 10 04 03 5d 02 d6 00 ae 4f 01 00
E: 2.404012 10 04 03 5e 02 d6 00 f4 4f 01 00
E: 2.408011 10 04 03 5f 02 d6 00 fe 4f 01 00
E: 2.412011 10 04 03 60 02 d6 00 44 50 01 00
E: 2.416021 10 04 03 61 02 d6 00 76 50 01 00
E: 2.424009 10 04 03 61 02 d6 00 bc 50 01 00
E: 2.428012 10 04 03 62 02 d6 00 f8 50 01 00
E: 2.432010 10 04 03 63 02 d6 00 3e 51 01 00
E: 2.452299 10 04 03 63 02 d6 00 84 51 01 00
E: 2.456303 10 04 03 63 02 d6 00 ca 51 01 00
E: 2.460284 10 04 03 64 02 d6 00 de 51 01 00
E: 2.468301 10 04 03 64 02 d6 00 24 52 01 00
E: 2.472301 10 04 03 64 02 d6 00 6a 52 01 00
E: 2.476298 10 04 03 5e 02 d6 00 a6 52 01 00
E: 2.480300 10 04 03 58 02 d8 00 ec 52 01 00
E: 2.484303 10 04 03 57 02 d9 00 f6 52 01 00
E: 2.488304 10 04 03 4f 02 da 00 3c 53 01 00
E: 2.492302 10 04 03 4d 02 db 00 46 53 01 00
E: 2.496302 10 04 03 45 02 db 00 8c 53 01 00
E: 2.500302 10 04 03 41 02 da 00 aa 53 01 00
E: 2.508298 10 04 03 35 02 da 00 f0 53 01 00
E: 2.512299 10 04 03 33 02 d9 00 fa 53 01 00
E: 2.516299 10 04 03 27 02 d9 00 40 54 01 00
E: 2.520300 10 04 03 25 02 d8 00 4a 54 01 00
E: 2.524300 10 04 03 1d 02 d7 00 90 54 01 00
E: 2.532295 10 04 03 13 02 d7 00 d6 54 01 00
E: 2.536298 10 04 03 11 02 d6 00 e0 54 01 00
E: 2.540298 10 04 03 07 02 d6 00 26 55 01 00
E: 2.544301 10 04 03 04 02 d5 00 3a 55 01 00
E: 2.548297 10 04 03 f9 01 d4 00 80 55 01 00
E: 2.552298 10 04 03 f7 01 d3 00 8a 55 01 00
E: 2.556298 10 04 03 ee 01 d1 00 d0 55 01 00
E: 2.560275 10 04 03 e9 01 cf 00 ee 55 01 00
E: 2.564298 10 04 03 de 01 cc 00 34 56 01 00
E: 2.568298 10 04 03 dc 01 cb 00 3e 56 01 00
E: 2.572298 10 04 03 d0 01 ca 00 84 56 01 00
E: 2.576295 10 04 03 ce 01 c9 00 8e 56 01 00
E: 2.580298 10 04 03 c7 01 c8 00 d4 56 01 00
E: 2.588293 10 04 03 bd 01 c8 00 1a 57 01 00
E: 2.592295 10 04 03 bb 01 c7 00 24 57 01 00
E: 2.596296 10 04 03 ad 01 c6 00 6a 57 01 00
E: 2.600296 10 04 03 ab 01 c5 00 74 57 01 00
E: 2.604293 10 04 03 9e 01 c5 00 ba 57 01 00
E: 2.608295 10 04 03 9a 01 c4 00 ce 57 01 00
E: 2.612293 10 04 03 8f 01 c2 00 14 58 01 00
E: 2.616295 10 04 03 89 01 c1 00 32 58 01 00
E: 2.624291 10 04 03 7d 01 c1 00 78 58 01 00
E: 2.628294 10 04 03 7b 01 c0 00 82 58 01 00
E: 2.632293 10 04 03 73 01 c0 00 c8 58 01 00
E: 2.636291 10 04 03 71 01 c0 00 d2 58 01 00
E: 2.640294 10 04 03 6d 01 c0 00 18 59 01 00
E: 2.644294 10 04 03 5e 01 bf 00 54 59 01 00
E: 2.648294 10 04 03 4f 01 bf 00 9a 59 01 00
E: 2.660241 10 04 03 43 01 bf 00 e0 59 01 00
E: 2.664292 10 04 03 41 01 be 00 ea 59 01 00
E: 2.668294 10 04 03 38 01 be 00 30 5a 01 00
E: 2.676288 10 04 03 2e 01 be 00 76 5a 01 00
E: 2.680292 10 04 03 2b 01 bf 00 8a 5a 01 00
E: 2.684294 10 04 03 1f 01 c0 00 d0 5a 01 00
E: 2.688295 10 04 03 1d 01 c1 00 da 5a 01 00
E: 2.692291 10 04 03 0f 01 c1 00 20 5b 01 00
E: 2.696290 10 04 03 0c 01 c2 00 2a 5b 01 00
E: 2.700290 10 04 03 03 01 c2 00 70 5b 01 00
E: 2.704289 10 04 03 fe 00 c3 00 8e 5b 01 00
E: 2.712289 10 04 03 f7 00 c3 00 d4 5b 01 00
E: 2.716290 10 04 03 f5 00 c3 00 de 5b 01 00
E: 2.720291 10 04 03 ee 00 c3 00 24 5c 01 00
E: 2.724291 10 04 03 ed 00 c3 00 2e 5c 01 00
E: 2.728309 10 04 03 e9 00 c3 00 74 5c 01 00
E: 2.732290 10 04 03 e2 00 c3 00 ba 5c 01 00
E: 2.736289 10 04 03 e1 00 c2 00 c4 5c 01 00
E: 2.740290 10 04 03 dc 00 c2 00 0a 5d 01 00
E: 2.744289 10 04 03 da 00 c2 00 1e 5d 01 00
E: 2.752287 10 04 03 d5 00 c2 00 64 5d 01 00
E: 2.756288 10 04 03 d4 00 c2 00 6e 5d 01 00
E: 2.760500 10 04 03 d0 00 c3 00 b4 5d 01 00
E: 2.764293 10 04 03 cd 00 c4 00 d2 5d 01 00
E: 2.768287 10 04 03 c6 00 c5 00 18 5e 01 00
E: 2.772289 10 04 03 c5 00 c6 00 22 5e 01 00
E: 2.776286 10 04 03 bf 00 c7 00 68 5e 01 00
E: 2.780287 10 04 03 be 00 c8 00 72 5e 01 00
E: 2.784288 10 04 03 bb 00 c8 00 b8 5e 01 00
E: 2.788288 10 04 03 b5 00 ca 00 fe 5e 01 00
E: 2.792288 10 04 03 af 00 cb 00 44 5f 01 00
E: 2.800286 10 04 03 a9 00 cb 00 8a 5f 01 00
E: 2.812286 10 04 03 a5 00 cb 00 d0 5f 01 00
E: 2.816287 10 04 03 a4 00 ca 00 da 5f 01 00
E: 2.820287 10 04 03 a2 00 ca 00 2a 60 01 00
E: 2.828283 10 04 01 a2 00 ca 00 98 60 01 00
E: 3.924290 10 04 03 5f 00 22 01 54 8b 01 00
E: 3.940236 10 04 03 5f 00 22 01 9a 8b 01 00
E: 3.944216 10 04 03 5f 00 22 01 e0 8b 01 00
E: 3.948236 10 04 03 5f 00 22 01 26 8c 01 00
E: 3.952237 10 04 03 5f 00 22 01 6c 8c 01 00
E: 3.956235 10 04 03 5f 00 22 01 b2 8c 01 00
E: 3.960231 10 04 03 5f 00 22 01 f8 8c 01 00
E: 3.968232 10 04 03 5f 00 22 01 0c 8d 02 00
E: 3.972234 10 04 07 bf 01 72 00 0c 8d 00 00
E: 3.988234 10 04 03 5f 00 22 01 5c 8d 02 00
E: 3.992234 10 04 07 c0 01 73 00 5c 8d 00 00
E: 3.996234 10 04 03 5f 00 22 01 ac 8d 02 00
E: 4.000233 10 04 07 c0 01 73 00 ac 8d 00 00
E: 4.004235 10 04 03 5f 00 22 01 fc 8d 02 00
E: 4.008234 10 04 07 c0 01 73 00 fc 8d 00 00
E: 4.012234 10 04 03 5f 00 22 01 4c 8e 02 00
E: 4.016234 10 04 07 c0 01 73 00 4c 8e 00 00
E: 4.020235 10 04 03 5f 00 22 01 9c 8e 02 00
E: 4.024231 10 04 07 c0 01 73 00 9c 8e 00 00
E: 4.028233 10 04 03 5f 00 22 01 ec 8e 02 00
E: 4.032233 10 04 07 c0 01 73 00 ec 8e 00 00
E: 4.036249 10 04 03 69 00 28 01 00 8f 02 00
E: 4.040232 10 04 07 bf 01 72 00 00 8f 00 00
E: 4.044212 10 04 03 73 00 29 01 46 8f 02 00
E: 4.048230 10 04 07 bf 01 72 00 46 8f 00 00
E: 4.052232 10 04 03 7c 00 2b 01 8c 8f 02 00
E: 4.056231 10 04 07 bf 01 72 00 8c 8f 00 00
E: 4.060227 10 04 03 86 00 2e 01 d2 8f 02 00
E: 4.064232 10 04 07 bf 01 72 00 d2 8f 00 00
E: 4.068230 10 04 03 94 00 32 01 18 90 02 00
E: 4.072230 10 04 07 bf 01 72 00 18 90 00 00
E: 4.076233 10 04 03 9e 00 35 01 5e 90 02 00
E: 4.080232 10 04 07 c4 01 79 00 5e 90 00 00
E: 4.084230 10 04 03 a7 00 38 01 a4 90 02 00
E: 4.088230 10 04 07 c6 01 7b 00 a4 90 00 00
E: 4.092232 10 04 03 ab 00 39 01 ea 90 02 00
E: 4.096227 10 04 07 c8 01 7c 00 ea 90 00 00
E: 4.100402 10 04 03 bb 00 3a 01 30 91 02 00
E: 4.104284 10 04 07 ce 01 7e 00 30 91 00 00
E: 4.108092 10 04 03 bc 00 3b 01 80 91 02 00
E: 4.112348 10 04 07 cf 01 7f 00 80 91 00 00
E: 4.116230 10 04 03 e4 00 3f 01 94 91 02 00
E: 4.120233 10 04 07 e9 01 84 00 94 91 00 00
E: 4.124228 10 04 03 f2 00 40 01 e4 91 02 00
E: 4.128240 10 04 07 fb 01 87 00 e4 91 00 00
E: 4.132229 10 04 03 f9 00 41 01 2a 92 02 00
E: 4.136242 10 04 07 0a 02 8a 00 2a 92 00 00
E: 4.140227 10 04 03 fe 00 41 01 70 92 02 00
E: 4.144209 10 04 07 0a 02 8a 00 70 92 00 00
E: 4.148228 10 04 03 11 01 41 01 a2 92 02 00
E: 4.152226 10 04 07 19 02 8c 00 a2 92 00 00
E: 4.156228 10 04 03 12 01 41 01 f2 92 02 00
E: 4.160224 10 04 07 1a 02 8d 00 f2 92 00 00
E: 4.164225 10 04 03 33 01 41 01 10 93 02 00
E: 4.168229 10 04 07 2d 02 8e 00 10 93 00 00
E: 4.172226 10 04 03 44 01 42 01 56 93 02 00
E: 4.176228 10 04 07 42 02 8f 00 56 93 00 00
E: 4.180227 10 04 03 45 01 43 01 a6 93 02 00
E: 4.184224 10 04 07 43 02 90 00 a6 93 00 00
E: 4.188226 10 04 03 51 01 41 01 b0 93 02 00
E: 4.192224 10 04 07 4d 02 90 00 b0 93 00 00
E: 4.196225 10 04 03 52 01 40 01 00 94 02 00
E: 4.200225 10 04 07 4e 02 90 00 00 94 00 00
E: 4.204224 10 04 03 66 01 40 01 1e 94 02 00
E: 4.208223 10 04 07 5e 02 92 00 1e 94 00 00
E: 4.212225 10 04 03 71 01 3f 01 6e 94 02 00
E: 4.216226 10 04 07 66 02 92 00 6e 94 00 00
E: 4.220226 10 04 03 8b 01 3e 01 b4 94 02 00
E: 4.224226 10 04 07 79 02 93 00 b4 94 00 00
E: 4.228224 10 04 03 94 01 3d 01 fa 94 02 00
E: 4.232227 10 04 07 81 02 94 00 fa 94 00 00
E: 4.236225 10 04 03 a8 01 3b 01 40 95 02 00
E: 4.240224 10 04 07 91 02 95 00 40 95 00 00
E: 4.244174 10 04 03 b2 01 3b 01 90 95 02 00
E: 4.248223 10 04 07 9c 02 95 00 90 95 00 00
E: 4.252224 10 04 03 ca 01 3a 01 d6 95 02 00
E: 4.256222 10 04 07 b8 02 96 00 d6 95 00 00
E: 4.260222 10 04 03 cb 01 39 01 26 96 02 00
E: 4.264223 10 04 07 b9 02 97 00 26 96 00 00
E: 4.268223 10 04 03 d8 01 38 01 3a 96 02 00
E: 4.272223 10 04 07 c5 02 96 00 3a 96 00 00
E: 4.276223 10 04 03 f0 01 36 01 80 96 02 00
E: 4.280223 10 04 07 dc 02 98 00 80 96 00 00
E: 4.284222 10 04 03 05 02 35 01 d0 96 02 00
E: 4.288223 10 04 07 f6 02 96 00 d0 96 00 00
E: 4.292222 10 04 03 16 02 34 01 20 97 02 00
E: 4.296223 10 04 07 0a 03 96 00 20 97 00 00
E: 4.300256 10 04 03 17 02 33 01 70 97 02 00
E: 4.304221 10 04 07 0b 03 96 00 70 97 00 00
E: 4.308221 10 04 03 2e 02 31 01 98 97 02 00
E: 4.312223 10 04 07 1e 03 95 00 98 97 00 00
E: 4.316221 10 04 03 37 02 30 01 e8 97 02 00
E: 4.320220 10 04 07 2f 03 94 00 e8 97 00 00
E: 4.324222 10 04 03 3d 02 2f 01 2e 98 02 00
E: 4.328221 10 04 07 38 03 94 00 2e 98 00 00
E: 4.332222 10 04 03 3e 02 2e 01 7e 98 02 00
E: 4.336220 10 04 07 39 03 94 00 7e 98 00 00
E: 4.340220 10 04 03 43 02 2e 01 88 98 02 00
E: 4.344198 10 04 07 3f 03 94 00 88 98 00 00
E: 4.348219 10 04 03 44 02 2e 01 d8 98 02 00
E: 4.352218 10 04 07 40 03 94 00 d8 98 00 00
E: 4.356216 10 04 03 4a 02 2c 01 ec 98 02 00
E: 4.360216 10 04 07 47 03 94 00 ec 98 00 00
E: 4.364218 10 04 03 4b 02 2b 01 3c 99 02 00
E: 4.368219 10 04 07 48 03 94 00 3c 99 00 00
E: 4.372218 10 04 03 4f 02 2b 01 46 99 02 00
E: 4.376217 10 04 07 4c 03 94 00 46 99 00 00
E: 4.380216 10 04 03 54 02 2a 01 96 99 02 00
E: 4.384217 10 04 07 50 03 94 00 96 99 00 00
E: 4.388066 10 04 03 55 02 29 01 e6 99 02 00
E: 4.391884 10 04 07 51 03 94 00 e6 99 00 00
E: 4.396219 10 04 03 58 02 29 01 f0 99 02 00
E: 4.400218 10 04 07 54 03 94 00 f0 99 00 00
E: 4.404216 10 04 03 59 02 29 01 40 9a 02 00
E: 4.408213 10 04 07 55 03 94 00 40 9a 00 00
E: 4.412215 10 04 03 5c 02 29 01 45 9a 02 00
E: 4.416214 10 04 07 57 03 94 00 45 9a 00 00
E: 4.420213 10 04 03 5d 02 29 01 90 9a 02 00
E: 4.424216 10 04 07 58 03 94 00 90 9a 00 00
E: 4.428287 10 04 03 5e 02 28 01 ae 9a 02 00
E: 4.432215 10 04 07 59 03 94 00 ae 9a 00 00
E: 4.436214 10 04 03 5f 02 27 01 fe 9a 02 00
E: 4.440214 10 04 07 5a 03 94 00 fe 9a 00 00
E: 4.444143 10 04 03 60 02 27 01 08 9b 02 00
E: 4.448214 10 04 07 5b 03 94 00 08 9b 00 00
E: 4.452214 10 04 03 61 02 27 01 58 9b 02 00
E: 4.456213 10 04 07 5c 03 94 00 58 9b 00 00
E: 4.460212 10 04 03 61 02 27 01 62 9b 02 00
E: 4.464213 10 04 07 5d 03 96 00 62 9b 00 00
E: 4.468212 10 04 03 63 02 27 01 b2 9b 02 00
E: 4.472212 10 04 07 5e 03 96 00 b2 9b 00 00
E: 4.476211 10 04 03 64 02 27 01 02 9c 02 00
E: 4.480213 10 04 07 5f 03 96 00 02 9c 00 00
E: 4.484212 10 04 03 64 02 26 01 0c 9c 02 00
E: 4.488212 10 04 07 5f 03 96 00 0c 9c 00 00
E: 4.492210 10 04 03 64 02 25 01 5c 9c 02 00
E: 4.496213 10 04 07 5f 03 96 00 5c 9c 00 00
E: 4.500213 10 04 03 64 02 26 01 70 9c 02 00
E: 4.504212 10 04 07 60 03 96 00 70 9c 00 00
E: 4.508211 10 04 03 65 02 26 01 c0 9c 02 00
E: 4.512210 10 04 07 60 03 97 00 c0 9c 00 00
E: 4.516212 10 04 03 66 02 26 01 10 9d 02 00
E: 4.520209 10 04 07 60 03 98 00 10 9d 00 00
E: 4.524209 10 04 03 66 02 26 01 60 9d 02 00
E: 4.528210 10 04 07 60 03 98 00 60 9d 00 00
E: 4.532211 10 04 03 63 02 26 01 74 9d 02 00
E: 4.536209 10 04 07 60 03 98 00 74 9d 00 00
E: 4.540210 10 04 03 61 02 26 01 ba 9d 02 00
E: 4.544183 10 04 07 59 03 99 00 ba 9d 00 00
E: 4.548211 10 04 03 60 02 26 01 0a 9e 02 00
E: 4.552209 10 04 07 58 03 9a 00 0a 9e 00 00
E: 4.556209 10 04 03 5c 02 27 01 14 9e 02 00
E: 4.560210 10 04 07 54 03 9b 00 14 9e 00 00
E: 4.564244 10 04 03 58 02 27 01 64 9e 02 00
E: 4.568209 10 04 07 4c 03 9b 00 64 9e 00 00
E: 4.572209 10 04 03 4e 02 27 01 a0 9e 02 00
E: 4.576208 10 04 07 48 03 9c 00 a0 9e 00 00
E: 4.580209 10 04 03 41 02 25 01 f0 9e 02 00
E: 4.584207 10 04 07 3b 03 9d 00 f0 9e 00 00
E: 4.588206 10 04 03 38 02 25 01 4a 9f 02 00
E: 4.592206 10 04 07 31 03 9d 00 4a 9f 00 00
E: 4.596206 10 04 03 1f 02 26 01 90 9f 02 00
E: 4.600208 10 04 07 13 03 9e 00 90 9f 00 00
E: 4.604207 10 04 03 1e 02 27 01 e0 9f 02 00
E: 4.608208 10 04 07 12 03 9f 00 e0 9f 00 00
E: 4.612208 10 04 03 10 02 27 01 e5 9f 02 00
E: 4.616207 10 04 07 06 03 9e 00 e5 9f 00 00
E: 4.620207 10 04 03 0f 02 27 01 30 a0 02 00
E: 4.624207 10 04 07 05 03 9d 00 30 a0 00 00
E: 4.628206 10 04 03 00 02 27 01 44 a0 02 00
E: 4.632206 10 04 07 fb 02 9e 00 44 a0 00 00
E: 4.636208 10 04 03 f9 01 26 01 94 a0 02 00
E: 4.640205 10 04 07 ee 02 9d 00 94 a0 00 00
E: 4.644246 10 04 03 ea 01 24 01 da a0 02 00
E: 4.648210 10 04 07 e5 02 9d 00 da a0 00 00
E: 4.652207 10 04 03 e9 01 23 01 2a a1 02 00
E: 4.656205 10 04 07 e4 02 9d 00 2a a1 00 00
E: 4.660207 10 04 03 d8 01 25 01 3e a1 02 00
E: 4.664204 10 04 07 c8 02 9d 00 3e a1 00 00
E: 4.668206 10 04 03 cd 01 26 01 8e a1 02 00
E: 4.672205 10 04 07 af 02 9d 00 8e a1 00 00
E: 4.676205 10 04 03 b9 01 27 01 d4 a1 02 00
E: 4.680201 10 04 07 a6 02 9d 00 d4 a1 00 00
E: 4.684205 10 04 03 a5 01 26 01 1a a2 02 00
E: 4.688203 10 04 07 91 02 9f 00 1a a2 00 00
E: 4.692203 10 04 03 a4 01 25 01 6a a2 02 00
E: 4.696200 10 04 07 90 02 a0 00 6a a2 00 00
E: 4.700410 10 04 03 99 01 27 01 7e a2 02 00
E: 4.704227 10 04 07 82 02 9f 00 7e a2 00 00
E: 4.708091 10 04 03 80 01 2a 01 c4 a2 02 00
E: 4.712203 10 04 07 69 02 a1 00 c4 a2 00 00
E: 4.716203 10 04 03 7f 01 2b 01 14 a3 02 00
E: 4.720204 10 04 07 68 02 a2 00 14 a3 00 00
E: 4.724204 10 04 03 6c 01 2d 01 1e a3 02 00
E: 4.728203 10 04 07 59 02 a1 00 1e a3 00 00
E: 4.732201 10 04 03 65 01 2d 01 78 a3 02 00
E: 4.736206 10 04 07 4b 02 a1 00 78 a3 00 00
E: 4.740201 10 04 03 59 01 2c 01 be a3 02 00
E: 4.744184 10 04 07 43 02 a3 00 be a3 00 00
E: 4.748199 10 04 03 50 01 2c 01 04 a4 02 00
E: 4.752213 10 04 07 34 02 a5 00 04 a4 00 00
E: 4.756201 10 04 03 4b 01 2c 01 5e a4 02 00
E: 4.760201 10 04 07 2f 02 a6 00 5e a4 00 00
E: 4.764201 10 04 03 45 01 2c 01 a4 a4 02 00
E: 4.768214 10 04 07 26 02 a6 00 a4 a4 00 00
E: 4.772201 10 04 03 44 01 2c 01 f4 a4 02 00
E: 4.776199 10 04 07 25 02 a6 00 f4 a4 00 00
E: 4.780198 10 04 03 3d 01 2d 01 fe a4 02 00
E: 4.784197 10 04 07 1e 02 a6 00 fe a4 00 00
E: 4.788197 10 04 03 34 01 2f 01 44 a5 02 00
E: 4.792199 10 04 07 15 02 a8 00 44 a5 00 00
E: 4.796199 10 04 03 2c 01 32 01 8a a5 02 00
E: 4.800199 10 04 07 07 02 ad 00 8a a5 00 00
E: 4.804198 10 04 01 2c 01 32 01 e4 a5 02 00
E: 4.808200 10 04 07 02 02 ae 00 e4 a5 00 00
E: 4.812197 10 04 05 02 02 ae 00 48 a6 01 00
E: 5.184176 10 04 03 68 02 f7 00 8c bc 01 00
E: 5.200126 10 04 03 68 02 f7 00 d2 bc 01 00
E: 5.204125 10 04 03 68 02 f7 00 18 bd 01 00
E: 5.208156 10 04 03 68 02 f7 00 54 bd 03 00
E: 5.212127 10 04 07 79 00 5c 01 54 bd 00 00
E: 5.216126 10 04 0b 60 01 8c 00 54 bd 00 00
E: 5.224121 10 04 03 68 02 f7 00 a4 bd 03 00
E: 5.228125 10 04 07 78 00 5d 01 a4 bd 00 00
E: 5.232123 10 04 0b 61 01 8d 00 a4 bd 00 00
E: 5.236126 10 04 03 68 02 f7 00 f4 bd 03 00
E: 5.240123 10 04 07 78 00 5d 01 f4 bd 00 00
E: 5.244129 10 04 0b 61 01 8d 00 f4 bd 00 00
E: 5.248123 10 04 03 68 02 f7 00 44 be 03 00
E: 5.252124 10 04 07 78 00 5d 01 44 be 00 00
E: 5.256122 10 04 0b 61 01 8d 00 44 be 00 00
E: 5.260122 10 04 03 68 02 f7 00 94 be 03 00
E: 5.264122 10 04 07 78 00 5d 01 94 be 00 00
E: 5.268121 10 04 0b 61 01 8d 00 94 be 00 00
E: 5.272123 10 04 03 68 02 f7 00 e4 be 03 00
E: 5.276122 10 04 07 78 00 5d 01 e4 be 00 00
E: 5.280123 10 04 0b 61 01 8d 00 e4 be 00 00
E: 5.284124 10 04 03 68 02 f7 00 34 bf 03 00
E: 5.288122 10 04 07 80 00 5c 01 34 bf 00 00
E: 5.292122 10 04 0b 60 01 8c 00 34 bf 00 00
E: 5.296119 10 04 03 68 02 f7 00 70 bf 03 00
E: 5.300117 10 04 07 83 00 5d 01 70 bf 00 00
E: 5.303755 10 04 0b 60 01 8c 00 70 bf 00 00
E: 5.308207 10 04 03 68 02 f7 00 b6 bf 03 00
E: 5.312046 10 04 07 88 00 5d 01 b6 bf 00 00
E: 5.316177 10 04 0b 60 01 8c 00 b6 bf 00 00
E: 5.320181 10 04 03 68 02 f7 00 f2 bf 03 00
E: 5.324175 10 04 07 8d 00 5d 01 f2 bf 00 00
E: 5.328226 10 04 0b 60 01 8c 00 f2 bf 00 00
E: 5.332177 10 04 03 68 02 f7 00 2e c0 03 00
E: 5.336190 10 04 07 93 00 5c 01 2e c0 00 00
E: 5.340176 10 04 0b 60 01 8c 00 2e c0 00 00
E: 5.344180 10 04 03 68 02 f7 00 6a c0 03 00
E: 5.348173 10 04 07 99 00 5c 01 6a c0 00 00
E: 5.352187 10 04 0b 67 01 8c 00 6a c0 00 00
E: 5.356172 10 04 03 68 02 f7 00 ba c0 03 00
E: 5.360174 10 04 07 9f 00 5b 01 ba c0 00 00
E: 5.364175 10 04 0b 69 01 8c 00 ba c0 00 00
E: 5.368175 10 04 03 6f 02 f7 00 00 c1 03 00
E: 5.372173 10 04 07 a5 00 5b 01 00 c1 00 00
E: 5.376172 10 04 0b 6b 01 8e 00 00 c1 00 00
E: 5.380172 10 04 03 74 02 f8 00 46 c1 03 00
E: 5.384170 10 04 07 b1 00 5a 01 46 c1 00 00
E: 5.388186 10 04 0b 70 01 8e 00 46 c1 00 00
E: 5.392173 10 04 03 75 02 f9 00 96 c1 03 00
E: 5.396171 10 04 07 b2 00 59 01 96 c1 00 00
E: 5.400172 10 04 0b 71 01 8e 00 96 c1 00 00
E: 5.404173 10 04 03 77 02 f9 00 b4 c1 03 00
E: 5.408267 10 04 07 b6 00 5a 01 b4 c1 00 00
E: 5.412177 10 04 0b 73 01 8d 00 b4 c1 00 00
E: 5.416173 10 04 03 78 02 f9 00 04 c2 03 00
E: 5.420171 10 04 07 b7 00 5b 01 04 c2 00 00
E: 5.424171 10 04 0b 74 01 8c 00 04 c2 00 00
E: 5.428150 10 04 03 7a 02 f9 00 0e c2 03 00
E: 5.432170 10 04 07 c0 00 5b 01 0e c2 00 00
E: 5.436170 10 04 0b 76 01 8e 00 0e c2 00 00
E: 5.440169 10 04 03 7e 02 fa 00 54 c2 03 00
E: 5.444168 10 04 07 d4 00 5a 01 54 c2 00 00
E: 5.448168 10 04 0b 7e 01 8e 00 54 c2 00 00
E: 5.452169 10 04 03 85 02 fa 00 9a c2 03 00
E: 5.456169 10 04 07 e2 00 57 01 9a c2 00 00
E: 5.460171 10 04 0b 82 01 8f 00 9a c2 00 00
E: 5.464168 10 04 03 8a 02 fa 00 ea c2 03 00
E: 5.468170 10 04 07 eb 00 57 01 ea c2 00 00
E: 5.472171 10 04 0b 87 01 8f 00 ea c2 00 00
E: 5.476168 10 04 03 8f 02 fb 00 30 c3 03 00
E: 5.480167 10 04 07 f5 00 56 01 30 c3 00 00
E: 5.484205 10 04 0b 8e 01 8f 00 30 c3 00 00
E: 5.488167 10 04 03 97 02 fb 00 76 c3 03 00
E: 5.492167 10 04 07 00 01 57 01 76 c3 00 00
E: 5.496169 10 04 0b 9f 01 90 00 76 c3 00 00
E: 5.500169 10 04 03 a1 02 fa 00 bc c3 03 00
E: 5.504169 10 04 07 00 01 57 01 bc c3 00 00
E: 5.508168 10 04 0b 9f 01 90 00 bc c3 00 00
E: 5.512165 10 04 03 b1 02 fc 00 f8 c3 03 00
E: 5.516168 10 04 07 08 01 59 01 f8 c3 00 00
E: 5.520166 10 04 0b ac 01 91 00 f8 c3 00 00
E: 5.524167 10 04 03 c3 02 fd 00 48 c4 03 00
E: 5.528146 10 04 07 1f 01 56 01 48 c4 00 00
E: 5.532168 10 04 0b bf 01 91 00 48 c4 00 00
E: 5.536168 10 04 03 e0 02 00 01 8e c4 03 00
E: 5.540165 10 04 07 44 01 54 01 8e c4 00 00
E: 5.544165 10 04 0b dc 01 92 00 8e c4 00 00
E: 5.548166 10 04 03 e1 02 01 01 de c4 03 00
E: 5.552167 10 04 07 45 01 53 01 de c4 00 00
E: 5.556164 10 04 0b dd 01 93 00 de c4 00 00
E: 5.560165 10 04 03 f0 02 ff 00 f2 c4 03 00
E: 5.564166 10 04 07 4e 01 55 01 f2 c4 00 00
E: 5.568168 10 04 0b ec 01 91 00 f2 c4 00 00
E: 5.572166 10 04 03 01 03 00 01 38 c5 03 00
E: 5.576165 10 04 07 57 01 56 01 38 c5 00 00
E: 5.580165 10 04 0b fc 01 91 00 38 c5 00 00
E: 5.588162 10 04 03 b5 03 fe 00 40 cc 03 00
E: 5.592164 10 04 07 1a 02 3e 01 40 cc 00 00
E: 5.596165 10 04 0b c0 02 86 00 40 cc 00 00
E: 5.600165 10 04 03 b5 03 fe 00 86 cc 03 00
E: 5.604163 10 04 07 1b 02 3e 01 86 cc 00 00
E: 5.608164 10 04 0b c1 02 86 00 86 cc 00 00
E: 5.612164 10 04 03 b5 03 fe 00 d6 cc 03 00
E: 5.616164 10 04 07 1c 02 3e 01 d6 cc 00 00
E: 5.620162 10 04 0b c2 02 86 00 d6 cc 00 00
E: 5.624163 10 04 03 b6 03 fe 00 fe cc 03 00
E: 5.628144 10 04 07 1b 02 3e 01 fe cc 00 00
E: 5.632163 10 04 0b c1 02 86 00 fe cc 00 00
E: 5.636163 10 04 03 b7 03 fe 00 4e cd 03 00
E: 5.640160 10 04 07 1a 02 3e 01 4e cd 00 00
E: 5.644158 10 04 0b c0 02 86 00 4e cd 00 00
E: 5.648161 10 04 03 b6 03 fc 00 76 cd 03 00
E: 5.652161 10 04 07 19 02 3e 01 76 cd 00 00
E: 5.656159 10 04 0b c1 02 86 00 76 cd 00 00
E: 5.660158 10 04 03 b6 03 fb 00 bc cd 03 00
E: 5.664159 10 04 07 18 02 3e 01 bc cd 00 00
E: 5.668162 10 04 0b c1 02 86 00 bc cd 00 00
E: 5.672161 10 04 03 b6 03 fb 00 f8 cd 03 00
E: 5.676156 10 04 07 17 02 3e 01 f8 cd 00 00
E: 5.680158 10 04 0b c1 02 84 00 f8 cd 00 00
E: 5.684160 10 04 03 b6 03 fb 00 48 ce 03 00
E: 5.688158 10 04 07 16 02 3e 01 48 ce 00 00
E: 5.692160 10 04 0b c1 02 83 00 48 ce 00 00
E: 5.696161 10 04 03 b6 03 fa 00 5c ce 03 00
E: 5.700158 10 04 07 0e 02 3e 01 5c ce 00 00
E: 5.704159 10 04 0b ba 02 81 00 5c ce 00 00
E: 5.708158 10 04 03 b0 03 f7 00 a2 ce 03 00
E: 5.712158 10 04 07 08 02 3d 01 a2 ce 00 00
E: 5.716158 10 04 0b b5 02 7f 00 a2 ce 00 00
E: 5.720159 10 04 03 af 03 f6 00 f2 ce 03 00
E: 5.724158 10 04 07 07 02 3c 01 f2 ce 00 00
E: 5.728139 10 04 0b b4 02 7e 00 f2 ce 00 00
E: 5.732158 10 04 03 ac 03 f4 00 fc ce 03 00
E: 5.736159 10 04 07 fe 01 3b 01 fc ce 00 00
E: 5.740158 10 04 0b b0 02 7c 00 fc ce 00 00
E: 5.744190 10 04 03 a6 03 f1 00 42 cf 03 00
E: 5.748157 10 04 07 f4 01 38 01 42 cf 00 00
E: 5.752159 10 04 0b a7 02 7b 00 42 cf 00 00
E: 5.756157 10 04 03 99 03 ea 00 88 cf 03 00
E: 5.760157 10 04 07 e9 01 38 01 88 cf 00 00
E: 5.764156 10 04 0b 9b 02 79 00 88 cf 00 00
E: 5.768157 10 04 03 88 03 dc 00 ce cf 03 00
E: 5.772153 10 04 07 dd 01 38 01 ce cf 00 00
E: 5.776154 10 04 0b 8a 02 75 00 ce cf 00 00
E: 5.780153 10 04 03 6f 03 d4 00 1e d0 03 00
E: 5.784154 10 04 07 c1 01 36 01 1e d0 00 00
E: 5.788154 10 04 0b 72 02 71 00 1e d0 00 00
E: 5.792154 10 04 03 6e 03 d3 00 6e d0 03 00
E: 5.796154 10 04 07 c0 01 35 01 6e d0 00 00
E: 5.800154 10 04 0b 71 02 70 00 6e d0 00 00
E: 5.804156 10 04 03 57 03 d0 00 82 d0 03 00
E: 5.808152 10 04 07 a1 01 36 01 82 d0 00 00
E: 5.812155 10 04 0b 4e 02 74 00 82 d0 00 00
E: 5.816153 10 04 03 41 03 c9 00 c8 d0 03 00
E: 5.820155 10 04 07 8f 01 35 01 c8 d0 00 00
E: 5.824153 10 04 0b 37 02 73 00 c8 d0 00 00
E: 5.828101 10 04 03 28 03 c6 00 18 d1 03 00
E: 5.832154 10 04 07 71 01 35 01 18 d1 00 00
E: 5.836153 10 04 0b 20 02 6f 00 18 d1 00 00
E: 5.840154 10 04 03 0c 03 be 00 5e d1 03 00
E: 5.844149 10 04 07 51 01 35 01 5e d1 00 00
E: 5.848152 10 04 0b 06 02 6c 00 5e d1 00 00
E: 5.852154 10 04 03 0b 03 bd 00 ae d1 03 00
E: 5.856150 10 04 07 50 01 35 01 ae d1 00 00
E: 5.860151 10 04 0b 05 02 6b 00 ae d1 00 00
E: 5.864153 10 04 03 02 03 bc 00 c2 d1 03 00
E: 5.868151 10 04 07 46 01 36 01 c2 d1 00 00
E: 5.872153 10 04 0b f8 01 6f 00 c2 d1 00 00
E: 5.876152 10 04 03 f6 02 bb 00 08 d2 03 00
E: 5.880150 10 04 07 3a 01 36 01 08 d2 00 00
E: 5.884152 10 04 0b e9 01 6e 00 08 d2 00 00
E: 5.888151 10 04 03 de 02 b9 00 58 d2 03 00
E: 5.892151 10 04 07 26 01 36 01 58 d2 00 00
E: 5.896151 10 04 0b d7 01 6d 00 58 d2 00 00
E: 5.900151 10 04 03 dd 02 b8 00 a8 d2 03 00
E: 5.904312 10 04 07 25 01 36 01 a8 d2 00 00
E: 5.908191 10 04 0b d6 01 6c 00 a8 d2 00 00
E: 5.912034 10 04 03 cb 02 b5 00 b2 d2 03 00
E: 5.916153 10 04 07 0e 01 35 01 b2 d2 00 00
E: 5.920150 10 04 0b bf 01 6c 00 b2 d2 00 00
E: 5.924151 10 04 03 bd 02 b4 00 f8 d2 03 00
E: 5.928528 10 04 07 f9 00 36 01 f8 d2 00 00
E: 5.932150 10 04 0b a6 01 70 00 f8 d2 00 00
E: 5.936162 10 04 03 ad 02 b4 00 48 d3 03 00
E: 5.940149 10 04 07 eb 00 37 01 48 d3 00 00
E: 5.944154 10 04 0b 93 01 6f 00 48 d3 00 00
E: 5.948146 10 04 03 93 02 b5 00 8e d3 03 00
E: 5.952159 10 04 07 d3 00 37 01 8e d3 00 00
E: 5.956148 10 04 0b 80 01 6e 00 8e d3 00 00
E: 5.960149 10 04 03 6d 02 b3 00 d4 d3 03 00
E: 5.964146 10 04 07 b7 00 37 01 d4 d3 00 00
E: 5.968148 10 04 0b 68 01 6d 00 d4 d3 00 00
E: 5.972148 10 04 03 6c 02 b2 00 24 d4 03 00
E: 5.976148 10 04 07 b6 00 37 01 24 d4 00 00
E: 5.980145 10 04 0b 67 01 6c 00 24 d4 00 00
E: 5.984147 10 04 03 63 02 b2 00 38 d4 03 00
E: 5.988145 10 04 07 ab 00 38 01 38 d4 00 00
E: 5.992146 10 04 0b 59 01 70 00 38 d4 00 00
E: 5.996146 10 04 03 58 02 b1 00 7e d4 03 00
E: 6.000147 10 04 07 a0 00 39 01 7e d4 00 00
E: 6.004147 10 04 0b 4c 01 6f 00 7e d4 00 00
E: 6.008143 10 04 03 57 02 b0 00 ce d4 03 00
E: 6.012162 10 04 07 9f 00 3a 01 ce d4 00 00
E: 6.016145 10 04 0b 4b 01 6e 00 ce d4 00 00
E: 6.020145 10 04 03 44 02 b2 00 d8 d4 03 00
E: 6.024144 10 04 07 8f 00 3b 01 d8 d4 00 00
E: 6.028083 10 04 0b 3b 01 6f 00 d8 d4 00 00
E: 6.032147 10 04 03 35 02 b3 00 1e d5 03 00
E: 6.036142 10 04 07 83 00 3c 01 1e d5 00 00
E: 6.040146 10 04 0b 30 01 6f 00 1e d5 00 00
E: 6.044145 10 04 03 22 02 b4 00 64 d5 03 00
E: 6.048146 10 04 07 6d 00 3d 01 64 d5 00 00
E: 6.052143 10 04 0b 18 01 74 00 64 d5 00 00
E: 6.056142 10 04 03 21 02 b5 00 b4 d5 03 00
E: 6.060143 10 04 07 6c 00 3e 01 b4 d5 00 00
E: 6.064143 10 04 0b 17 01 75 00 b4 d5 00 00
E: 6.068141 10 04 03 1b 02 b4 00 b9 d5 03 00
E: 6.072142 10 04 07 64 00 3e 01 b9 d5 00 00
E: 6.076142 10 04 0b 0e 01 76 00 b9 d5 00 00
E: 6.080142 10 04 03 15 02 b6 00 04 d6 03 00
E: 6.084144 10 04 07 5d 00 3e 01 04 d6 00 00
E: 6.088143 10 04 0b 07 01 78 00 04 d6 00 00
E: 6.092142 10 04 03 00 02 bc 00 4a d6 03 00
E: 6.096143 10 04 07 5d 00 3e 01 4a d6 00 00
E: 6.100142 10 04 0b f1 00 7f 00 4a d6 00 00
E: 6.104141 10 04 03 ff 01 bd 00 9a d6 03 00
E: 6.108140 10 04 07 5d 00 3e 01 9a d6 00 00
E: 6.112142 10 04 0b f0 00 80 00 9a d6 00 00
E: 6.116139 10 04 03 f5 01 c3 00 a4 d6 03 00
E: 6.120140 10 04 05 5d 00 3e 01 a4 d6 00 00
E: 6.124141 10 04 09 f0 00 80 00 a4 d6 00 00
E: 6.128126 10 04 03 f1 01 c5 00 f4 d6 01 00
E: 6.132144 10 04 01 f1 01 c5 00 76 d7 01 00
E: 6.464155 12 01 00 72 00 00 00 00 00 00 00 00 00
E: 6.467733 10 04 03 96 00 ff 01 78 ee 01 01
E: 6.472272 10 04 03 96 00 ff 01 be ee 01 01
E: 6.476268 10 04 03 96 00 ff 01 04 ef 01 01
E: 6.480305 10 04 03 96 00 ff 01 4a ef 01 01
E: 6.484103 12 01 00 00 00 00 00 00 00 00 00 00 00
E: 6.487654 10 04 03 96 00 ff 01 90 ef 01 01
E: 6.491948 10 04 03 96 00 ff 01 d6 ef 01 01
E: 6.499964 10 04 03 96 00 ff 01 1c f0 01 01
E: 6.508120 10 04 03 96 00 ff 01 62 f0 01 01
E: 6.512133 10 04 03 96 00 ff 01 a8 f0 01 01
E: 6.520133 10 04 03 96 00 ff 01 ee f0 01 01
E: 6.528125 10 04 03 96 00 ff 01 34 f1 01 01
E: 6.536134 10 04 03 96 00 ff 01 5c f1 01 01
E: 6.544118 10 04 03 96 00 ff 01 a2 f1 01 01
E: 6.548130 10 04 03 96 00 ff 01 de f1 01 01
E: 6.551969 10 04 03 96 00 ff 01 2e f2 01 01
E: 6.568120 10 04 03 96 00 ff 01 74 f2 01 01
E: 6.572121 10 04 03 96 00 ff 01 c4 f2 01 01
E: 6.580118 10 04 03 96 00 ff 01 0a f3 01 01
E: 6.584286 10 04 03 96 00 ff 01 28 f3 01 01
E: 6.592193 10 04 03 96 00 ff 01 6e f3 01 01
E: 6.596233 10 04 03 96 00 ff 01 78 f3 01 01
E: 6.600121 10 04 03 96 00 ff 01 be f3 01 01
E: 6.604127 10 04 03 96 00 ff 01 18 f4 01 01
E: 6.608118 10 04 03 96 00 ff 01 68 f4 01 01
E: 6.632119 10 04 03 96 00 ff 01 ae f4 01 01
E: 6.636116 10 04 03 96 00 ff 01 f4 f4 01 01
E: 6.640116 10 04 03 96 00 ff 01 1c f5 01 01
E: 6.644116 10 04 03 96 00 ff 01 62 f5 01 01
E: 6.648117 10 04 03 96 00 ff 01 80 f5 01 01
E: 6.652118 10 04 03 96 00 ff 01 c6 f5 01 01
E: 6.656115 10 04 03 96 00 ff 01 f8 f5 01 01
E: 6.672115 10 04 03 96 00 ff 01 3e f6 01 01
E: 6.676114 10 04 03 96 00 ff 01 84 f6 01 01
E: 6.680115 10 04 03 96 00 ff 01 ac f6 01 01
E: 6.688113 10 04 03 96 00 ff 01 f2 f6 01 01
E: 6.692114 10 04 03 96 00 ff 01 38 f7 01 01
E: 6.696114 10 04 03 96 00 ff 01 7e f7 01 01
E: 6.700114 10 04 03 96 00 ff 01 c4 f7 01 01
E: 6.704113 10 04 03 96 00 ff 01 0a f8 01 01
E: 6.708114 10 04 03 96 00 ff 01 50 f8 01 01
E: 6.716112 10 04 03 96 00 ff 01 96 f8 01 01
E: 6.724110 10 04 03 96 00 ff 01 dc f8 01 01
E: 6.732148 10 04 03 96 00 ff 01 22 f9 01 01
E: 6.736112 10 04 03 96 00 ff 01 68 f9 01 01
E: 6.752110 10 04 03 96 00 ff 01 ae f9 01 01
E: 6.756112 10 04 03 96 00 ff 01 c2 f9 01 01
E: 6.776112 10 04 01 96 00 ff 01 08 fa 01 00
E: 7.272267 12 01 00 72 00 00 00 00 00 00 00 00 00
E: 7.276189 10 04 03 70 03 ff 01 4e 0e 01 01
E: 7.280217 10 04 03 70 03 ff 01 94 0e 01 01
E: 7.284221 10 04 03 70 03 ff 01 da 0e 01 01
E: 7.292072 12 01 00 00 00 00 00 00 00 00 00 00 00
E: 7.296306 10 04 03 70 03 ff 01 20 0f 01 01
E: 7.300121 10 04 03 70 03 ff 01 66 0f 01 01
E: 7.308080 10 04 03 70 03 ff 01 ac 0f 01 01
E: 7.312234 10 04 03 70 03 ff 01 f2 0f 01 01
E: 7.320097 10 04 03 70 03 ff 01 38 10 01 01
E: 7.328078 10 04 03 70 03 ff 01 7e 10 01 01
E: 7.336092 10 04 03 70 03 ff 01 c4 10 01 01
E: 7.340082 10 04 03 70 03 ff 01 0a 11 01 01
E: 7.348148 10 04 03 70 03 ff 01 50 11 01 01
E: 7.356081 10 04 03 70 03 ff 01 96 11 01 01
E: 7.364130 10 04 03 70 03 ff 01 dc 11 01 01
E: 7.368083 10 04 03 70 03 ff 01 22 12 01 01
E: 7.376076 10 04 03 70 03 ff 01 68 12 01 01
E: 7.383722 10 04 03 70 03 ff 01 ae 12 01 01
E: 7.392033 10 04 03 70 03 ff 01 f4 12 01 01
E: 7.395951 10 04 03 70 03 ff 01 3a 13 01 01
E: 7.403806 10 04 03 70 03 ff 01 80 13 01 01
E: 7.411782 10 04 03 70 03 ff 01 c6 13 01 01
E: 7.419780 10 04 03 70 03 ff 01 0c 14 01 01
E: 7.423752 10 04 03 70 03 ff 01 52 14 01 01
E: 7.431613 10 04 03 70 03 ff 01 98 14 01 01
E: 7.439626 10 04 03 70 03 ff 01 de 14 01 01
E: 7.447564 10 04 03 70 03 ff 01 24 15 01 01
E: 7.451733 10 04 03 70 03 ff 01 6a 15 01 01
E: 7.459664 10 04 03 70 03 ff 01 b0 15 01 01
E: 7.467730 10 04 03 70 03 ff 01 f6 15 01 01
E: 7.475619 10 04 03 70 03 ff 01 3c 16 01 01
E: 7.479613 10 04 03 70 03 ff 01 82 16 01 01
E: 7.487587 10 04 03 70 03 ff 01 c8 16 01 01
E: 7.495738 10 04 03 70 03 ff 01 0e 17 01 01
E: 7.503634 10 04 03 70 03 ff 01 54 17 01 01
E: 7.507639 10 04 03 70 03 ff 01 9a 17 01 01
E: 7.515646 10 04 03 70 03 ff 01 e0 17 01 01
E: 7.523633 10 04 03 70 03 ff 01 26 18 01 01
E: 7.531635 10 04 03 70 03 ff 01 6c 18 01 01
E: 7.535604 10 04 03 70 03 ff 01 b2 18 01 01
E: 7.543629 10 04 03 70 03 ff 01 f8 18 01 01
E: 7.551610 10 04 03 70 03 ff 01 3e 19 01 01
E: 7.559555 10 04 03 70 03 ff 01 84 19 01 01
E: 7.563684 10 04 03 70 03 ff 01 ca 19 01 01
E: 7.571677 10 04 03 70 03 ff 01 10 1a 01 01
E: 7.579640 10 04 03 70 03 ff 01 56 1a 01 01
E: 7.587796 10 04 03 70 03 ff 01 9c 1a 01 01
E: 7.595652 10 04 03 70 03 ff 01 e2 1a 01 01
E: 7.599629 10 04 03 70 03 ff 01 28 1b 01 01
E: 7.607644 10 04 03 70 03 ff 01 6e 1b 01 01
E: 7.615799 10 04 03 70 03 ff 01 b4 1b 01 01
E: 7.623805 10 04 03 70 03 ff 01 fa 1b 01 01
E: 7.627780 10 04 03 70 03 ff 01 40 1c 01 01
E: 7.635776 10 04 03 70 03 ff 01 86 1c 01 01
E: 7.643779 10 04 03 70 03 ff 01 cc 1c 01 01
E: 7.651778 10 04 03 70 03 ff 01 12 1d 01 01
E: 7.655781 10 04 03 70 03 ff 01 58 1d 01 01
E: 7.663778 10 04 03 70 03 ff 01 9e 1d 01 01
E: 7.671776 10 04 03 70 03 ff 01 e4 1d 01 01
E: 7.679781 10 04 03 70 03 ff 01 2a 1e 01 01
E: 7.683781 10 04 03 70 03 ff 01 70 1e 01 01
E: 7.691779 10 04 03 70 03 ff 01 b6 1e 01 01
E: 7.699778 10 04 03 70 03 ff 01 fc 1e 01 01
E: 7.707778 10 04 03 70 03 ff 01 42 1f 01 01
E: 7.711720 10 04 01 70 03 ff 01 88 1f 01 00
E: 8.308205 12 01 01 00 00 00 00 00 00 00 00 00 00
E: 8.488050 12 01 01 06 00 00 00 00 00 00 00 00 00
diff mbox

Patch

diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 221d503..b428a3d 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -68,6 +68,9 @@  MODULE_LICENSE("GPL");
 #define MT_QUIRK_HOVERING		(1 << 11)
 #define MT_QUIRK_CONTACT_CNT_ACCURATE	(1 << 12)
 
+#define MT_INPUTMODE_TOUCHSCREEN	0x02
+#define MT_INPUTMODE_TOUCHPAD		0x03
+
 struct mt_slot {
 	__s32 x, y, cx, cy, p, w, h;
 	__s32 contactid;	/* the device ContactID assigned to this slot */
@@ -105,6 +108,7 @@  struct mt_device {
 	__s16 inputmode_index;	/* InputMode HID feature index in the report */
 	__s16 maxcontact_report_id;	/* Maximum Contact Number HID feature,
 				   -1 if non-existent */
+	__u8 inputmode_value;  /* InputMode HID feature value */
 	__u8 num_received;	/* how many contacts we received */
 	__u8 num_expected;	/* expected last contact index */
 	__u8 maxcontacts;
@@ -415,8 +419,10 @@  static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
 	 * Model touchscreens providing buttons as touchpads.
 	 */
 	if (field->application == HID_DG_TOUCHPAD ||
-	    (usage->hid & HID_USAGE_PAGE) == HID_UP_BUTTON)
+	    (usage->hid & HID_USAGE_PAGE) == HID_UP_BUTTON) {
 		td->mt_flags |= INPUT_MT_POINTER;
+		td->inputmode_value = MT_INPUTMODE_TOUCHPAD;
+	}
 
 	if (usage->usage_index)
 		prev_usage = &field->usage[usage->usage_index - 1];
@@ -841,7 +847,7 @@  static void mt_set_input_mode(struct hid_device *hdev)
 	re = &(hdev->report_enum[HID_FEATURE_REPORT]);
 	r = re->report_id_hash[td->inputmode];
 	if (r) {
-		r->field[0]->value[td->inputmode_index] = 0x02;
+		r->field[0]->value[td->inputmode_index] = td->inputmode_value;
 		hid_hw_request(hdev, r, HID_REQ_SET_REPORT);
 	}
 }
@@ -973,6 +979,7 @@  static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id)
 	td->mtclass = *mtclass;
 	td->inputmode = -1;
 	td->maxcontact_report_id = -1;
+	td->inputmode_value = MT_INPUTMODE_TOUCHSCREEN;
 	td->cc_index = -1;
 	td->mt_report_id = -1;
 	td->pen_report_id = -1;