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 android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to