Test kernel: Zoom bar acting as multitouch pinch to zoom
Someone asked what the point of the new .39 kernel is, well here's a new feature I've coded up that was made possible due to the more modern kernel.
I have modified the touchscreen driver in the kernel so that the zoom bar is now working, and it sends signals to Android that make it think you're sending a multitouch pinch-to-zoom.
I've got it set so that it sends an input from the center of the screen. As you slide right, the driver tells Android two fingers are moving apart from the center. As you slide left, the driver tells Android two fingers are sliding from the sides towards the center. The net result is that the zoom bar works in any app that supports pinch to zoom.
I've uploaded a video showing it in action:
I'm going to submit this patch soon, and I'd like it if some people would try it out and give any feedback before I do so. I suppose things to pay attention to would be any increased wonkiness in the touch response, as well as boundaries for the zoom bar. Also, if you have a better idea on how this should work, it's now or never.
Unfortunately, this is a modification of the new .39 kernel, which means that a lot of things are not working on it, and this test kernel will most likely not be suitable for daily use if you like wifi and the other things that don't work on .39 yet.
In order to install you must do the following:
1. Replace your zImage with the one attached.
2. Use the .39 haret (included in the zip for your convenience) with the .39 startup.txt line (set initrd_offset 0x00a00000)
3. Place the included android.hardware.touchscreen.multitouch.xml under /system/etc/permissions. I tried bind-mounting it from conf, but for some reason that did not work for me. If you don't do add this permission file, the multitouch points will still be sent to Android (and will show up in the app Multitouch Test), but Google's own apps like Browser will ignore them.