Leonardo suddenly won't upload

Manually resetting during the 1200bps line didn't seem to have any effect.
Changing to COM1 made it so that it at least tries every time I press upload now, but it still hangs at exactly the same place.
In the device manager it shows up as a keyboard probably because the last program uploaded to it was imitating a keyboard with the Keyboard.h library. Also the entries in the device manager never seem to change no matter what I do with the arduino. Even unplugging it doesn't seem to do anything. I suppose this means that it's not actually connected? but if that's the case then why does the upload routine get as far as it does? I guess not since attempting an upload without the arduino plugged in gives the same result. So it seems that my arduino is not actually connected. I'll try a different cable tomorrow since I know I've had that problem before, but I don't have another micro usb cable to try until I go and buy one tomorrow.

Edit:
So after a total of about 3 hours troubleshooting (including almost giving up and going to bed) I remembered that the other people in my household still have microUSB devices and I stole one of their cables to try it. I'VE BEEN CAUGHT BY THIS TWICE NOW
I keep forgetting that not all micro USB cables can transmit data, some are only for power and charging. I'M NOT EVEN SURE WHERE I KEEP GETTING THESE USELESS ONES FROM
Anyway that was my entire problem. I can now fully use my devices and have uploaded multiple programs to the boards. Thank's for the help, sometimes it just helps to talk it out and describe the problem. (The rubber duck and whatnot.) It was when I was double checking the device manager behaviors you mentioned that I realized I should really check that cable. I was planning on getting a new one tomorrow anyway, so I'm glad the problem was solved sooner rather than later.