Serial AND USB HID on the same Uno?

Howdy, folks. A while ago I made a serial-to-USB HID shield in order to transform the venerable Spacetec SpaceOrb (and Spaceball, etc) into game (joystick/keyboard/mouse) controllers: http://orbduino.sourceforge.net/, http://www.seeedstudio.com/depot/orbshield-v10-kit-p-671.html?cPath=132_134.

Good so far. However, the bit-bang technique I was using to emulate a USB hid device works pretty well but is a little clunky, and recently I've had a rash of shields not being recognized by the host computer (and am unable to tell if it's a timing problem, voltage problem, whatever).

With the Uno and friends able to cleanly emulate a USB HID device, I thought my troubles were over. But it sounds like doing so uses up the serial lines (correct?), and I need the serial interface to communicate with the orb, a serial device.

So what's my best solution? If it was a one-off, I'd probably just get a Mega and have done. But I'd like this available to others, and that means something that fits nicely on a shield. Is there an inexpensive buffering serial device I could just interface with using SPI or something?

Thanks, VPutz

vputz: With the Uno and friends able to cleanly emulate a USB HID device, I thought my troubles were over. But it sounds like doing so uses up the serial lines (correct?), and I need the serial interface to communicate with the orb, a serial device.

So what's my best solution?

The ATmega8u2 (?) used as the USB-to-Serial chip on the Arduino UNO can be re-flashed to act as an HID. If that requires help from the ATmega328 via the RX and TX lines you could always use NewSoftSerial to communicate with the serial device.