If you are having problems with the Leonardo and its flaky bootloader but CAN program an UNO you're in luck. What you'll need is the Leonardo with the ISCP pins installed. You'll need an UNO with the ICSP sketch on it with the anti-reset capacitor. The cap size is not critical. A 4.7 uF cap will do as good as a 10. (I have a few deployed UNOs as light show machines.)
Wire the 2 together according to the diagram on this site and it's time to test it. To load "blink" (or any program) you go to Tools, and set the port to the one with the UNO and Leonardo. Then, set the board to the Leonardo in the Tools feature. Go to Tools, and where it shows "programmer" select "arduino as programmer".
Now for the the crucial part. You go to File and move the cursor to where it says "upload using programmer" and click on it. Assuming the code is good, it SHOULD work!
To play with the mouse and keyboard features, you need a second USB cord for the Leonardo output. Only connect it when actually testing out your code. It'll "hijack" your computer!
Special note here is that the Leonardo's bootloader gets nuked. You will need to program it as above or try to burn it back if you do figure out how the normal way.