Author Topic: Android Porting : Trouble With Touchscreen  (Read 16547 times)

joey

  • Newbie
  • *
  • Posts: 5
    • View Profile
Android Porting : Trouble With Touchscreen
« on: January 28, 2008, 11:16:50 pm »
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

  • Newbie
  • *
  • Posts: 5
    • View Profile
Android Porting : Trouble With Touchscreen
« Reply #1 on: February 05, 2008, 11:13:54 pm »
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

  • Sr. Member
  • ****
  • Posts: 375
    • View Profile
    • http://www.omegamoon.com
Android Porting : Trouble With Touchscreen
« Reply #2 on: February 06, 2008, 03:47:36 pm »
Quote from: 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.

Sounds great! How did you pass the calibrated values to the subsystem exactly?
[div align=\"center\"]== == == == == == == == == == == == == ==
www.omegamoon.com
Zaurus SL-C750 - Died in a dreadful coffee experiment, has a second life somewhere in the Czech Republic
Zaurus SL-C1000 - Multiboot Zubuntu, Debian, Fedora, Poky, Android and others
Zaurus SL-C3100 - Development device, currently Zubuntu 2.0
Zaurus SL-6000L - The fridge is running Zubuntu 1.0
Zaurus SL-C860 - Cacko, untouched since kindly donated, waiting for Zubuntu
== == == == == == == == == == == == == ==[/div]