# Building a Debounced Keyboard with an Arduino Leonardo

DevFeed: [Building a Debounced Keyboard with an Arduino Leonardo](<https://devfeed.tech/articles/arduino-leonardo-fully-featured-keyboard-21765.md>)

Original publisher: [Read original article](<https://enoent.fr/posts/arduino-leonardo-fully-featured-keyboard/>)

Author: Marc Plano-Lesay

Published: 2014-05-04T21:03:16Z

Content type: tutorial

Language: en

Sources: [Marc Plano-Lesay](<https://devfeed.tech/sources/marc-plano-lesay.md>)

Topics: [Arduino](<https://devfeed.tech/topics/arduino.md>), [Code](<https://devfeed.tech/topics/code.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [arduino](<https://devfeed.tech/tags/arduino.md>), [arrays](<https://devfeed.tech/tags/arrays.md>), [circuit](<https://devfeed.tech/tags/circuit.md>), [functional](<https://devfeed.tech/tags/functional.md>), [github](<https://devfeed.tech/tags/github.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [state](<https://devfeed.tech/tags/state.md>), [stateful](<https://devfeed.tech/tags/stateful.md>)

## AI overview

This tutorial explains how to use an Arduino Leonardo to emulate a keyboard with a joystick and arcade buttons. It develops the solution from a basic keyboard implementation to state tracking and button debouncing, while noting that the debounce delay may need adjustment for different buttons.

## Source excerpt

The Leonardo has a simple keyboard API. I needed a way to emulate a keyboard (from a joystick and arcade buttons - you see where I'm going now). Here's how I did it.