arduino2560 - can I use 16u2 USB protocol stack?

The HIDUINO library should be suitable, if you decide to reprogram the 16U2 on your Mega2560.

Alternatively, I wonder if there is an add-on board that has a second 16U2 and a second USB socket. This could be flashed, and connected to one of the other three serial ports on the Mega2560. That way the original USB port would remain available for code upload and the additional USB port would be seen as a HID.