esp32-p4-hydra-usb-host-mouse.ino

Adafruit Metro ESP32-P4 Hydra · File : esp32-p4-hydra-usb-host-mouse.ino · Language : C++ (Arduino) · Use case : Détecter une souris USB branchée sur le port USB-A et afficher les coordonnées du curseur.

Exploits the High-Speed USB-A port in Host mode to interact with HID devices like mice or keyboards.

This code requires a USB Host HID library compatible with the ESP32-P4 (check availability in recent ESP32 core). Plug a standard mouse into the USB-A port. Open the Serial Monitor to see real-time movement reports.

esp32-p4-hydra-usb-host-mouse.ino

#include "USB.h"
#include "USBHIDMouse.h"

USBHIDMouse Mouse;

void onMouseConnect() {
  Serial.println("Souris connectée");
}

void onMouseDisconnect() {
  Serial.println("Souris déconnectée");
}

void onMouseMove(int dx, int dy, int dz, uint8_t buttons) {
  Serial.printf("Mouvement: X=%d Y=%d Boutons=%d\n", dx, dy, buttons);
}

void setup() {
  Serial.begin(115200);
  USB.onEvent([](usb_event_t event, void* arg) {
    // Gestion des événements USB génériques si nécessaire
  });
  Mouse.begin();
  Mouse.onConnect(onMouseConnect);
  Mouse.onDisconnect(onMouseDisconnect);
  Mouse.onMove(onMouseMove);
  Serial.println("Mode Hôte USB activé. Branchez une souris.");
}

void loop() {
  // Les callbacks gèrent les événements, le loop peut faire autre chose
  delay(10);
}

← Back to the board