Why do only specific arduinos support the keyboard and mouse libraries?
Those chips have hardware support built into them to handle the rather strict timing requirements for interpreting (and responding to) USB sequences. You will notice, for example, that on the Arduino Uno there is a second chip (the Atmega16U2) which also can handle USB. In fact the chips with a "U" in the name generally can do this.


  I have Nanos, Unos and Duemilanoves. I am out of luck aren't I?


You have a couple of options. Some people reflash the USB chip on their Uno (for example), although personally I think that is a bit fiddly.

Alternatively, there is a library called VUSB (virtual USB) which lets you do some USB on the non USB chips. Google vusb arduino.

You need three resistors and two zener diodes to make up the hardware that lets this library do its stuff.