user11509: The Arduino website suggests that only three boards are supported for the Mouse and Keyboard library page:

Leonardo
Micro 
Due

What is special about those boards, that the other boards in the Arduino family don't have? I thought they might have the same proceesing chip on them but only two of them do. The CPUs are correspondingly:

ATmega32u4
ATmega32u4
Atmel SAM3X8E ARM Cortex-M3

I have Nanos, Unos and Duemilanoves. I am out of luck aren't I?
So my question is: what do those three boards have that lets them support those libraries?

user10794: 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.

user4131: Another option is to use the PS2Keyboard library, a PS2 connector and a PS2-to-USB converter. 
You will need only two digital pin of your Arduino and have keyboard solution. 

11509: <p>The Arduino website suggests that only three boards are supported for the <a href="https://www.arduino.cc/en/Reference/MouseKeyboard" rel="nofollow">Mouse and Keyboard library page</a>:</p>

<ul>
<li>Leonardo</li>
<li>Micro </li>
<li>Due</li>
</ul>

<p>What is special about those boards, that the other boards in the Arduino family don't have? I thought they might have the same proceesing chip on them but only two of them do. The CPUs are correspondingly:</p>

<ul>
<li>ATmega32u4</li>
<li>ATmega32u4</li>
<li>Atmel SAM3X8E ARM Cortex-M3</li>
</ul>

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

<p>So my question is: <strong>what do those three boards have that lets them support those libraries?</strong></p>
 10794: <p>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 <em>second</em> chip (the Atmega16U2) which also can handle USB. In fact the chips with a "U" in the name generally can do this.</p>

<blockquote>
  <p>I have Nanos, Unos and Duemilanoves. I am out of luck aren't I?</p>
</blockquote>

<p>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.</p>

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

<p>You need three resistors and two zener diodes to make up the hardware that lets this library do its stuff.</p>
 4131: <p>Another option is to use the <a href="http://playground.arduino.cc/Main/PS2Keyboard" rel="nofollow">PS2Keyboard</a> library, a PS2 connector and a PS2-to-USB converter. </p>

<p>You will need only two digital pin of your Arduino and have keyboard solution. </p>
