I am porting android to my ARM9 device and am having problems getting the touchscreen to work. On my device the touchpanel driver passes absolute X/Y co-ordinate values to the kernel input subsystem. When i touch the screen, more often than not , nothing happens. But on rare occassions the main screen left/right scroll button might move or the browser "google search" button might get pressed - but even for this i have to give a real good thumb press, a firm tap is not enough.

I ran open source program evtest (which is an input event tester) and it reported the co-ordinates of all my touches.

I then ran strace for the zygote process - i noticed that all of my taps/touches/presses are read() by some thread which opens the /dev/ input/event1 device, but no action is taken on the reported events.

I also modified the (touchpanel) hardware reported raw X/Y co-ordinate values so that they correspond to the screen size (640x480 landscape) and then passed these values to the kernel input subsytem, but there was no change in behaviour.

I have read on some posts about "porting tslib" - what is this for ? Is it required here ? Also some posts mention "normarlization of the coordination" and "auto calibration using sysfs" - what do they mean ?

My touchscreen driver was incorrectly initialising the ABS_X [MIN/MAX], ABS_Y [MIN/MAX] values - these were supposed to be initialised according to the dimensions of the VGA panel (640x480) i am using. Also i had to calibrate the hardware reported X/Y values according to the 640 x 480 screen - i now pass these calibrated values (alongwith pressure value) to the input subsystem. My touch screen works fairly well now.

My touchscreen driver was incorrectly initialising the ABS_X [MIN/MAX], ABS_Y [MIN/MAX] values - these were supposed to be initialised according to the dimensions of the VGA panel (640x480) i am using. Also i had to calibrate the hardware reported X/Y values according to the 640 x 480 screen - i now pass these calibrated values (alongwith pressure value) to the input subsystem. My touch screen works fairly well now.

Sounds great! How did you pass the calibrated values to the subsystem exactly?