I'm using the Marble mouse from Logitech. It has no ordinary scroll-wheel. Scrolling can be achieved by using the small left button together with the marble - I achieve this by modifying properties with xinput. This alternation is not stored, and you have to reapply the changes when you log in.
I have the following lines in a bash script (say MarbleScoll.sh):
xinput set-button-map "Logitech USB Trackball" 1 8 3 4 5 6 7 2 9 xinput set-int-prop "Logitech USB Trackball" "Evdev Wheel Emulation Button" 8 8 xinput set-int-prop "Logitech USB Trackball" "Evdev Wheel Emulation" 8 1 xinput set-int-prop "Logitech USB Trackball" "Evdev Wheel Emulation X Axis" 8 6
Note: On Ubuntu 8.x I did not have "Evdev" in the property names. But with Ubuntu 9.04 "Evdev" has to be added it seems.
Now run the script
sh MarbleScroll.sh
and scrolling should work.