66 lines
1.6 KiB
C
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
|