This commit is contained in:
Clément SAILLANT
2025-03-26 16:09:29 +01:00
parent 8c4cce0006
commit 1f448f8885
30 changed files with 0 additions and 23 deletions
@@ -0,0 +1,9 @@
[env:esp32]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
lib_deps =
electronrare/ADB @ ^1.0.0
electronrare/USBHID @ ^1.0.0
@@ -0,0 +1,55 @@
#include <Arduino.h>
#include <ADB.h>
#include <ADBUtils.h>
#include <USBHID.h>
// Configuration pour ESP32
constexpr uint8_t ADB_PIN = 21; // Pin de données ADB
constexpr uint16_t POLL_INTERVAL = 10; // 10ms (100Hz)
// Variables globales
ADB adb(ADB_PIN);
ADBDevices devices(adb);
ADBUtils utils(devices);
// États
bool keyboardConnected = false;
bool mouseConnected = false;
uint8_t keyboardReport[8] = {0}; // Modificateurs + touches
uint8_t mouseReport[4] = {0}; // Bouton, X, Y, Wheel
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println(F("ADB2USB pour ESP32 - PlatformIO"));
adb.init();
USBHID_begin(true, true);
bool error;
keyboardConnected = !devices.keyboardReadModifiers(&error);
mouseConnected = !devices.mouseReadData(&error);
Serial.print(F("Clavier: "));
Serial.println(keyboardConnected ? F("Connecté") : F("Déconnecté"));
Serial.print(F("Souris: "));
Serial.println(mouseConnected ? F("Connectée") : F("Déconnectée"));
}
void loop() {
if (keyboardConnected) {
bool error = false;
auto keyPress = devices.keyboardReadKeyPress(&error);
if (error) keyboardConnected = false;
// ...traitement clavier...
}
if (mouseConnected) {
bool error = false;
auto mouseData = devices.mouseReadData(&error);
if (error) mouseConnected = false;
// ...traitement souris...
}
delay(POLL_INTERVAL);
}