Help - Search - Members - Calendar
Full Version: Android Porting : Trouble With Touchscreen
OESF Forums > Distros, Development, and Model Specific Forums > Distro Support and Discussion > Android
joey
Hello all,

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 ?


Any pointers/help would be appreciated


Regards
Joey

joey
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.
cortez
QUOTE(joey @ Feb 6 2008, 05:13 AM) *
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?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2014 Invision Power Services, Inc.