Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/flipperzero-firmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/targets/furi_hal_include/furi_hal_bt_hid.h')
-rw-r--r--firmware/targets/furi_hal_include/furi_hal_bt_hid.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/firmware/targets/furi_hal_include/furi_hal_bt_hid.h b/firmware/targets/furi_hal_include/furi_hal_bt_hid.h
new file mode 100644
index 00000000..4faeebae
--- /dev/null
+++ b/firmware/targets/furi_hal_include/furi_hal_bt_hid.h
@@ -0,0 +1,63 @@
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+
+enum FuriHalBtHidMediKeys {
+ FuriHalBtHidMediaScanNext,
+ FuriHalBtHidMediaScanPrevious,
+ FuriHalBtHidMediaStop,
+ FuriHalBtHidMediaEject,
+ FuriHalBtHidMediaPlayPause,
+ FuriHalBtHidMediaMute,
+ FuriHalBtHidMediaVolumeUp,
+ FuriHalBtHidMediaVolumeDown,
+};
+
+/** Start Hid Keyboard Profile
+ */
+void furi_hal_bt_hid_start();
+
+/** Stop Hid Keyboard Profile
+ */
+void furi_hal_bt_hid_stop();
+
+/** Press keyboard button
+ *
+ * @param button button code from HID specification
+ *
+ * @return true on success
+ */
+bool furi_hal_bt_hid_kb_press(uint16_t button);
+
+/** Release keyboard button
+ *
+ * @param button button code from HID specification
+ *
+ * @return true on success
+ */
+bool furi_hal_bt_hid_kb_release(uint16_t button);
+
+/** Release all keyboard buttons
+ *
+ * @return true on success
+ */
+bool furi_hal_bt_hid_kb_release_all();
+
+/** Release all media buttons
+ *
+ * @return true on success
+ */
+bool furi_hal_bt_hid_media_press(uint8_t button);
+
+/** Release all media buttons
+ *
+ * @return true on success
+ */
+bool furi_hal_bt_hid_media_release(uint8_t button);
+
+/** Release all media buttons
+ *
+ * @return true on success
+ */
+bool furi_hal_bt_hid_media_release_all();