Touchscreen works!

A reader of this blog, Rebecca, who worked really hard to port Android on to her C760 found out what the touchscreen issue was and sent me a patch for corgi_ts.c! Thank you very much, Rebecca! Following is a part of mail and patch.
I wrote an applet to detect touch events, and found that the Dalvik VM only received "move" events. There was no action of touch pen up detected. So I modified the corgi-ts driver and added codes in function "ts_interrupt_main()".

@@ -215,6 +220,10 @@
/* Enable Falling Edge */
set_irq_type(corgi_ts->irq_gpio, IRQT_FALLING);
corgi_ts->pendown = 0;
+ /* 2008(R) */
+ input_report_key(corgi_ts->input, BTN_TOUCH, corgi_ts->pendown);
+ input_sync(corgi_ts->input);

This patch works on my C3000, too. Now touchscreen works all the time. Fortunately, I don't need much calibrations for now.

It seems Android wants to know not only pressure becomes zero but also pendown becomes zero. Only two lines but very precious lines.

Again, thank you very much, Rebecca! Your contribution is just great!
posted by 安藤恐竜 at 17:40 | Comment(13) | TrackBack(1) | 日記
Comments for this entry
Dear 安藤恐竜 san,

Thank you!
Both you and Rebecca are so great!!

Touchscreen works now! :D
Posted by Marty at 05/14/2008 12:10
Hi, I am interested to run Android on my SL-C760 too. Would you give me some guideline how to get started?

Thanks alot,
Posted by Ricky at 05/15/2008 10:33
Posted by Marty at 05/15/2008 11:44
Could you provide a new rootfs of Android for zaurus, including al the new improvements, especially working touchscreen?

Thanks in advance!!

Posted by matthis at 06/02/2008 23:59
Dear 安藤恐竜-san

Like Matthis, could you provide us the touchscreen improvement?

I'm devlopping an application using touchscreen feature and I do not know how to update the kernel version with rebecca patch.

a link would be very appreciated!!

A droid developper
Posted by droiddevman at 07/21/2008 21:35
I tried with your pacth. But still my touchscreen did not work.

Andorid : m5-rc14 Linux 2.6.23
I am using Compulab EM-X270 PXA270 target with "wm97xx touchscreen" touchscreen driver.

Pleae find my log message:
cat /proc/bus/input/devices
I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="pxa27x-keyboard"
P: Phys=
S: Sysfs=/class/input/input0
U: Uniq=
H: Handlers=kbd mouse0 event0
B: EV=100007
B: KEY=1680 0 0 10000000
B: REL=100

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="wm97xx touchscreen"
P: Phys=
S: Sysfs=/class/input/input1
U: Uniq=
H: Handlers=event1
B: EV=9
B: ABS=1000003
----------------------# cat /proc/bus/input/handlers
N: Number=0 Name=kbd
N: Number=1 Name=mousedev Minor=32
N: Number=2 Name=evdev Minor=64

# add device 1: /dev/input/event1
name: "wm97xx touchscreen"
could not get driver version for /dev/input/mice, Not a typewriter
add device 2: /dev/input/event0
name: "pxa27x-keyboard"
could not get driver version for /dev/input/mouse0, Not a typewriter
when I touched my android screen i got following messgae

/dev/input/event1: 0003 0000 00000352
/dev/input/event1: 0003 0001 00000a5f
/dev/input/event1: 0000 0000 00000000

/dev/input/event1: 0003 0000 00000344
/dev/input/event1: 0000 0000 00000000

looks like kernel is able to read the event but android os does not able to understand it.

Please help me out.

Thanks in advanced

Maneesh Jain

Posted by Maneesh Jain at 04/22/2009 22:03
Thanks for all support.

Good News...

My touchscreen is now working fine with Android.

Now I have a working Android over PXA270 based Compulab EM-X270 target board.
If anybody have any issue to porting the Androidn over this hardware please feel free to ask me any time.
Maneesh Jain
Posted by Maneesh Jain at 05/02/2009 15:38
Hi,Maneesh Jain
I am very glad to hear that you have a working Android over PXA270 based Compulab EM-X270 target board.Now,I also have a PXA270 based board,and I wanna port android on it,but I don't know how to begin with .Could you give me a help?
Posted by steaven at 05/12/2009 10:44
Hi Steanven,

1. First prepare the Kernel. Path your current kernel with android changes.
2. Then prepare the Filesystem for Android using following link.
3. Then boot the kernel with android filesyste,.

Please tell me your setup information like which board you are using & what is kernel version & what is your android verison.
Based on this i can help you more.
Maneesh Jain

Posted by Manesh Jain at 05/14/2009 19:00
Hi Maneesh Jain,
Thank you for your reply!

My board information blow:
touchscreen drvier:ucb1400_ts.c
linux kernel version:2.6.25
android version:2.6.25

Now,I have ported android to my board,but there is something wrong with touchscreen. When I touch the screen,there is a response, but doesn't work well. So, I think I should calibrate touchscreen by modifing ucb1400_ts.c. But, I don't know how to modify it.

I'm looking forward to hearing from again!

Posted by steven at 05/20/2009 17:20
Hi Steven

Looks like you did not add the "BTN_TOUCH" support.

For Android you need to include the "BTN_TOUCH" event in your touchscreen driver.
Like as add for corgi touch screen driver
input_report_key(corgi_ts->input, BTN_TOUCH, corgi_ts->pendown);
Because Android required a PEN down event for working.

Posted by Maneesh Jain at 05/27/2009 19:55
Maneesh I would love to talk to you about porting android to em-x270,please send me an email.Thank you
Posted by Jascha Golden at 06/15/2009 02:43
Posted by 人妻 at 10/26/2009 11:05
Leave your comment
Name: [Must]

EMail: [Must]

URL: [Must]

Comment: [Must]

Confirmation Code: [Must]

Type in alphabets what you see in this image.

Trackbacks to this entry

Android on SL-C860 まとめ
Excerpt: AndroidをSL-C860で制限付きながらも動かせるようになったので、一度、
Weblog: アメリカ王への夢の後
Tracked: 01/19/2009 21:12