Hello there, I posted this first in StackOverflow as suggested but got no
responses. I'm hoping that someone can shed some light...
I will try to describe my problem as clearly as possible. I am trying to
get a touchscreen device working with Android. the device is a USB device
and I have it working correctly in various OSs (Windows, Mac OS X, Ubuntu).
In Android 4.0.4 I seem to be having a problem. There is some touch
response, but it is not correct. the touchscreen manifests itself as a
touchpad rather than an absolute touchscreen, also, touches are not
correctly occurring.
I have been looking at the various HID descriptors and have found the
following that may be causing an issue with Android:
Interface 0 HID Report Descriptor Mouse
Item Tag (Value) Raw Data
Usage Page (Generic Desktop) 05 01
Usage (Mouse) 09 02
Collection (Application) A1 01
Usage (Pointer) 09 01
Collection (Physical) A1 00
Usage Page (Digitizer) 05 0D
Usage (Touch) 09 33
Usage Minimum (Digitizer) 19 01
Usage Maximum (Digitizer) 29 01
Logical Minimum (0) 15 00
Logical Maximum (1) 25 01
Report Count (1) 95 01
Report Size (1) 75 01
Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
Report Count (1) 95 01
Report Size (7) 75 07
Input (Cnst,Ary,Abs) 81 01
Usage Page (Generic Desktop) 05 01
Usage (X) 09 30
Usage (Y) 09 31
Logical Minimum (0) 15 00
Logical Maximum (1024) 26 00 04
Physical Minimum (16) 35 10
Physical Maximum (1024) 46 00 04
Unit (None) 65 00
Report Size (16) 75 10
Report Count (2) 95 02
Input (Data,Var,Abs,NWrp,Lin,NPrf,Null,Bit) 81 62
End Collection C0
End Collection
Now it looks like the device is reporting as both a digitiser and a touch
device? The device is only a single touch "point and press" device, and
reports absolute X and Y coordinates.
I'm wondering if android get confused reading this report and as such loads
a digitiser/tablet configuration rather than the touchscreen one? There are
some pointers here http://source.android.com/tech/input/touch-devices.html,
but I don't really understand where these things are being
reported/defined? I'm not using a specific driver to operate the
touchscreen device, but trying to rely on the inbuilt HID touch driver
present in the OS. I have the sense that the descriptors are causing the OS
to incorrectly define the device and therefore load the wrong inbuilt HID
configuration.
Any help would be greatly appreciated. I can send more info from HID
reports if necessary.
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en