I've implemented drag-scrolling on my Freerunner (drag on the touchscreen to generate scrolling, instead of dragging events). By placing this code into the X mouse driver, all applications that support the mouse wheel (the vast majority do) automatically become finger-scrolling enabled.
With this patch, scroll events are generated by pressing on the touchscreen, and dragging in the desired scroll direction. Dragging can still happen, by pressing the touchscreen, and not moving the finger for a short time (200ms currently). This is useful for selecting text, for example.
xglamo patch: Media:tslib_scrolling.patch
bitbake recipe including the patch: Media:xserver-kdrive-glamo_220.127.116.11+git.bb
precompiled package (works with SHR): Media:xserver-kdrive-glamo_18.104.22.168+gitr9b28d998424c77fbc057dd3a022ccbb122793a52-r4_armv4t.ipk
This makes applications not specifically designed for touchscreen devices work much better, since scrolling can happen by touching the screen anywhere, not just on the scrollbars at the edges of the windows. Apps designed for touchscreen devices (like illume and anything built with elementary) don't work as well, since some of the scrolling functionality is implemented at a higher level, and potentially conflicts with the new code.
I have patched the Xglamo touchscreen mouse driver, and the most important SHR app that requires dragging: the Illume keyboard. Let me know if these patches work for you.