Message ID | BANLkTin1YhxCE5J9suR93eWcWEtviFNLtg@mail.gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Jun 08, 2011 at 10:56:29PM +0800, Chih-Wei Huang wrote: > Thanks, Benjamin and Cascardo. > > 2011/6/8 Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>: > > Thanks, Benjamin. That clarifies a lot and points what the real fix > > should be for this device. > > Chih-Wei, could you send us the results of your tests? I don't have the > > device available right now. I could get it next week, perhaps, if my > > client still gets it. > > I'm glad to do so. > But what test results did you want me to show exactly? > > Let me clarify my situation: > * Device under test: ASUS ET1602, touchscreen id (1bfd:1688). > * Kernel: 2.6.38, with android patches (from Google) > * Android version: 2.2.2 (froyo) > > By the previous observation from getevent, I added > the following patch to android framework: > > diff --git a/libs/ui/EventHub.cpp b/libs/ui/EventHub.cpp > index 0e11823..6ef9da1 100755 > --- a/libs/ui/EventHub.cpp > +++ b/libs/ui/EventHub.cpp > @@ -670,7 +671,7 @@ int EventHub::open_device(const char *deviceName) > device->classes |= CLASS_TOUCHSCREEN | CLASS_TOUCHSCREEN_MT; > > // Is this an old style single-touch driver? > - } else if (test_bit(BTN_TOUCH, key_bitmask) > + } else if ((test_bit(BTN_TOUCH, key_bitmask) || > test_bit(BTN_MOUSE, key_bitmask)) > && test_bit(ABS_X, abs_bitmask) && test_bit(ABS_Y, abs_bitmask)) { > device->classes |= CLASS_TOUCHSCREEN; > } > > Then the touch device (event7) is correctly recognized by > the android framework and works fine. > > Without this patch, event7 is ignored and only event6 is detected, > but no touch event generated from it. > > Let me know if you need more details. > > I'll try Benjamin's suggestion tomorrow. > > Regards, > -- > Chih-Wei > Android-x86 project > http://www.android-x86.org I was referring to Benjamin's multi-touch solution, perhaps, reverting the multi-device patch already. By the way, did you test it without the multi-device patch and did it work, or did you test it only with 2.6.32? Regards, Cascardo.
diff --git a/libs/ui/EventHub.cpp b/libs/ui/EventHub.cpp index 0e11823..6ef9da1 100755 --- a/libs/ui/EventHub.cpp +++ b/libs/ui/EventHub.cpp @@ -670,7 +671,7 @@ int EventHub::open_device(const char *deviceName) device->classes |= CLASS_TOUCHSCREEN | CLASS_TOUCHSCREEN_MT; // Is this an old style single-touch driver? - } else if (test_bit(BTN_TOUCH, key_bitmask) + } else if ((test_bit(BTN_TOUCH, key_bitmask) || test_bit(BTN_MOUSE, key_bitmask)) && test_bit(ABS_X, abs_bitmask) && test_bit(ABS_Y, abs_bitmask)) { device->classes |= CLASS_TOUCHSCREEN;