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

Reply via email to