Pero no puedo encontrar qué secuencia de bits se envía cuando se presiona un botón en el joystick. Me gustaría encontrar cuál es esa secuencia.
No hay uno.
Los dispositivos USB funcionan sobre una base de sondeo. No se comunican a través del bus fuera de una transacción del host. Llegar al punto de comunicarse con el dispositivo requiere una cantidad significativa de trabajo para enumerar el dispositivo y configurarlo con una dirección.
Incluso una vez que todo está hecho, no se usa un mensaje específico cuando se presiona un botón. La respuesta del informe de estado del dispositivo tendrá un campo que incluye un mapa de bits que representa los botones del mouse; uno de los bits de ese campo se establecerá cuando se mantenga presionado el botón y se borrará cuando no lo esté.
Dado que el Arduino carece de un periférico de host USB y se ejecuta a una velocidad relativamente baja (8-16 MHz) en comparación con la velocidad de línea USB (1,5 o 12 Mbit / seg), será extremadamente difícil, si no imposible, Implementar un host USB en un dispositivo Arduino. Use un accesorio que implemente un host USB para usted, como el USB Host Shield, o use un microcontrolador diferente que admita la operación del host USB.