I'm going to try that one, but now the problem is that i cant get the uno into DFU mode, because it's recognized as a keyboard as soon as in connect it to the pc, and starts sending characters.
You will have to install the Atmega16u2 driver from the ATMEL\FLIP 3.4.7\USB directory. The .hex file will not load into FLIP until you read from the 16u2 information from the chip into FLIP.
To put the R3 in DFU mode, just connect the reset and gnd pins together,hold them for a few seconds adn disconnect them. Then, disconnect the Uno from the PC and connect it again.
Using Atmel's FLIP, select the arduino-1.0.1\hardware\arduino\firmwares\arduino-usbserial\Arduino-usbserial-atmega16u2-Uno-Rev3.hex
Select Settings\Communication\USB and open the port.
Select the Flash memory and check Verify.
Click Run, and that's it.
Disconnect and connect the Uno to the PC.
This way, with this firmware, the Uno will be recognized as Arduino Uno R3, and not Atmega16U2.