I've created a Mouse HID driver for the UNO's atmega8u2. It makes the Arduino appear to be a USB mouse device, and lets it move the mouse and send button presses on a host PC.
The driver implements a serial protocol that expects to receive 4 bytes from the UNO's main processor. The format is a follows:
||Button states: 0 off, 1 on
Bit 0 - Mouse Button 1
Bit 1 - Mouse Button 2
Bit 2 - Mouse Button 3
||X movement: int8_t range -127 to +128
||Y movement: int8_t range -127 to +128
||Wheel movement: Not implemented, will be added soon.
Here's the firmware, source, and an example sketch that moves the mouse in a clockwise square every 5 seconds. See the earlier posts about how to load the firmware using DFU mode, and how to build the firmware.