I have a lilliput 666GL touchscreen that I am trying to use with ICS rowboat, Im encountering a problem where my touch screen is out of alignment with my touch, when in the Multi Touch App touching the right hand top corner shows the input spot on the top left corner, as I go across the screen the spot moves down to the bottom right. I do believe I am not the only one.
I was able to find some patch someone made for gingerbread, however its for the x86 android project. The author detects one or the other and if the other loads a separate driver, spoofing an unused device id, this seems wrong to me. The correct way be to fix the eGalax driver to handle this differences, second of all is how do we alter or cut this apart to have the patch work for rowboat ICS? To quote him is likely the simplest as he puts it the best (source of quote including the patch<http://code.google.com/p/android-x86/issues/attachmentText?id=474&aid=4740002000&name=new+file&token=vrh4WfqRk_i03pDeqhVqRyz15co%3A1334358364102> ) <http://code.google.com/p/android-x86/issues/attachmentText?id=474&aid=4740002000&name=new+file&token=vrh4WfqRk_i03pDeqhVqRyz15co%3A1334358364102> eGalax has 2 different touch controllers both with the ID of 0xeef:0001 type one (1) is a cap. type controller which is covered by the HID section of the code type two (2) is a resistive type controller which needs a different handling can be seen by looking at the first byte of the packet it will have an 0xA1 if touched or 0xA0 when released (nothing else) also byte 6 will always be 0. (note: in type one byte 6 is the amount of pressure applied to a mutlitouch screen) Moreover, the LSB / MSB byte order is reversed from the type one and reversed from the documentation (version 1.1 and 2.0) The packet is as follows Status LSB X MSB X LSB Y MSB Y Always 0 ************************************************************************************************************************* * * * * * * * * 1 0 0 0 0 0 0 X * 0 X X X X X X X * 0 0 0 0 X X X X * 0 Y Y Y Y Y Y Y * 0 0 0 0 Y Y Y Y * 0 0 0 0 0 0 0 0 * * * * * * * * ************************************************************************************************************************* The following patches setup a few items in Kconfig TOUCHSCREEN_USB_EGALAX_REVERSE is added as a bool under TOUCCHSCREEN_USB_EGALAX if this bool is selected than than eGalax type two for 0xeef:0001 is setup if not selected than 0xeef:0001 is setup as a multitouch device and hid will be used (HID-MULTITOUCH) TOUCHSCREEN_USB_EGALAX_REVERSE dose the following 1. changes the USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER from 0x0001 to an unused 0xfff1 in the HID drivers 2. setup the EGALAX2 reverse driver in usbtouchscreen.c and set 0xeef:0001 to a type 2 eGalax device handled by usbtouchscreen.c -- unsubscribe: [email protected] website: http://groups.google.com/group/android-porting
