furi_hal_bt_hid.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #pragma once
  2. #include <stdint.h>
  3. #include <stdbool.h>
  4. enum FuriHalBtHidMediKeys {
  5. FuriHalBtHidMediaScanNext,
  6. FuriHalBtHidMediaScanPrevious,
  7. FuriHalBtHidMediaStop,
  8. FuriHalBtHidMediaEject,
  9. FuriHalBtHidMediaPlayPause,
  10. FuriHalBtHidMediaMute,
  11. FuriHalBtHidMediaVolumeUp,
  12. FuriHalBtHidMediaVolumeDown,
  13. };
  14. /** Start Hid Keyboard Profile
  15. */
  16. void furi_hal_bt_hid_start();
  17. /** Stop Hid Keyboard Profile
  18. */
  19. void furi_hal_bt_hid_stop();
  20. /** Press keyboard button
  21. *
  22. * @param button button code from HID specification
  23. *
  24. * @return true on success
  25. */
  26. bool furi_hal_bt_hid_kb_press(uint16_t button);
  27. /** Release keyboard button
  28. *
  29. * @param button button code from HID specification
  30. *
  31. * @return true on success
  32. */
  33. bool furi_hal_bt_hid_kb_release(uint16_t button);
  34. /** Release all keyboard buttons
  35. *
  36. * @return true on success
  37. */
  38. bool furi_hal_bt_hid_kb_release_all();
  39. /** Release all media buttons
  40. *
  41. * @return true on success
  42. */
  43. bool furi_hal_bt_hid_media_press(uint8_t button);
  44. /** Release all media buttons
  45. *
  46. * @return true on success
  47. */
  48. bool furi_hal_bt_hid_media_release(uint8_t button);
  49. /** Release all media buttons
  50. *
  51. * @return true on success
  52. */
  53. bool furi_hal_bt_hid_media_release_all();