Anyone know a USB keyboard library for Arduino UNO?

I’m looking for a library like the one used in this project: keyboard.
Unfortunately, it’s only compatible with the Due, so if anybody could tell me about any library compatible with the UNO, that would be great.

Your link to http://keyboard is not good.

If it's really a USB keyboard, you need some additonal hardware - a USB host shield.
The Uno is only a USB slave.

Sorry, copy and paste error.

CrossRoads advice is still the same..

only boards like Leonardo/Due..etc are capable of acting as a 'direct connect' USB keyboard..

if you still want to use the UNO.. you'll need a USB host shield.. :slight_smile:

if you still want to use the UNO.. you'll need a USB host shield.. :slight_smile:

According to that link the question is how to make the Arduino emulate a keyboard, not how to make it receive events from a keyboard.

There are plenty of examples on the internet of people who have used an Arduino to emulate a keyboard, including some that were implemented on a UNO.

thanks :slight_smile:

The link provided by Op references rancidbacon's V-USB library for Arduino. I've played around extensively with his lib on UNO as well as the original code for the "tiny" UC's.

There are examples out where such things as numeric pads and even old non-usb keyboards have been interfaced, but my belief is that Leonardo would be a better platform if cost were not an issue. Getting V-USB to work is straightforward, but the zeners and resistor values are critical components.


Officially, the arduino UNO has only a serial port that does not allow keyboard functionality to the device. However, this hack: Turning An Arduino Into A USB Keyboard | Hackaday makes it possible to do that using a firmware upgrade of UNO. This allows values of the USB HID tables to be sent over the serial port so that a keyboard or other usb device can be emulated.