Files
Apple-ADB-Ressurector/src/adb_utilities.h
T
Clément SAILLANT 1c51e3c8f3 IA nucleo H7A3
2025-08-07 04:14:00 +02:00

66 lines
1.6 KiB
C

/**
* @file adb_utilities.h
* @brief Utilitaires ADB pour STM32H7A3
*
* Fonctions de conversion et utilitaires ADB
* adaptées du F303 pour le H7A3
*/
#ifndef ADB_UTILITIES_H
#define ADB_UTILITIES_H
#include <stdint.h>
#include <stdbool.h>
#include "hid_structures.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief Convertit un axe de souris ADB en mouvement relatif
* @param axis_value Valeur de l'axe ADB
* @return Mouvement relatif converti
*/
static inline int8_t adbMouseConvertAxis(int8_t axis_value) {
// Conversion simple - peut être ajustée selon les besoins
return axis_value;
}
/**
* @brief Configure les touches du rapport HID à partir du registre ADB
* @param key_report Pointeur vers le rapport HID
* @param key_data Données clavier ADB
* @return true si le rapport a été modifié
*/
bool hid_keyboard_set_keys_from_adb_register(hid_key_report* key_report, const adb_key_data_t* key_data);
/**
* @brief Initialise un rapport clavier vide
* @param key_report Pointeur vers le rapport à initialiser
*/
static inline void hid_keyboard_clear_report(hid_key_report* key_report) {
key_report->modifiers = 0;
key_report->reserved = 0;
for (int i = 0; i < 6; i++) {
key_report->keys[i] = 0;
}
}
/**
* @brief Initialise un rapport souris vide
* @param mouse_report Pointeur vers le rapport à initialiser
*/
static inline void hid_mouse_clear_report(hid_mouse_report* mouse_report) {
mouse_report->buttons = 0;
mouse_report->x = 0;
mouse_report->y = 0;
mouse_report->wheel = 0;
}
#ifdef __cplusplus
}
#endif
#endif // ADB_UTILITIES_H