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!
Thank you!
Both you and Rebecca are so great!!
Touchscreen works now! :D
Thanks alot,
Ricky
check this http://euedge.com/blog/2007/12/06/google-android-runs-on-sharp-zaurus-sl-c760/
it may help you.
Thanks in advance!!
matthis
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
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
-----------------------------
getevent&
# 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
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
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?
Steps:
1. First prepare the Kernel. Path your current kernel with android changes.
2. Then prepare the Filesystem for Android using following link.
http://elinux.org/Android_on_OMAP#FAQ
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
Thank you for your reply!
My board information blow:
cpu:PXA270
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!
truly,
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.
知れてよかった^^
私たちの仲間になりませんか??まずは一歩を踏みしめて♪みんなそこから始ってるよ★