Paso 2: Software y Arduino código
También es posible programar el Arduino para ser un dispositivo HID para que no sería necesaria ninguna aplicación externa (más sobre el tema se pueden encontrar aquí). Pero opté por usar una aplicación de Windows ya que tengo intenciones de modificar el proyecto en un futuro cercano.
El controlador se comunica con el PC sobre el bus serial. Escribí un pequeño programa C# que se ejecuta en windows en el fondo y se puede acceder desde el área de notificación de windows haciendo doble clic. El programa guarda la configuración anterior no necesitan establecerse cada vez. Yo también he marcado el programa para ejecutarse cada vez que arranco mi sistema operativo (las instrucciones pueden encontrarse aquí). He incluido los archivos de C# para que la aplicación puede ser fácilmente modificada.
El código de Arduino es bastante simple. El controlador envía bytes de comando para el autobús serial según la operación (pulsar botón, codificador de las agujas del reloj o codificador en sentido antihorario). La aplicación de windows recibe los bytes y simula pulsaciones de teclas en consecuencia. He hecho el código tan simple como sea posible, así que sería fácil de modificar.