[FL-2119] BT HID App (#888)

* view_dispatcher: add default back processing for Long events
* assets: add ble connected and disconnected assets
* bt keyboard: introduce new application
* bt keyboard: add logic to keyboard mode
* bt: remove debug ble hid application
* bt hid: introduce media controller
* gui canvas: rename CanvasFontDirection -> CanvasDirection
* gui canvas: add arrow element
* assets: update finilized assets
* bt hid: finalise keynote GUI
* bt hid: finalise media player GUI
* bt: add media key buttons support
* bt: add exit confirm view
* bt: change Clicker -> Remote
* bt: support f6 target
* bt: hopefully final bt hid design
* bt hid: add blue led notification when device is connected
* bt: leave only bt clicker for now
* bt: add display notification on pin code show event
This commit is contained in:
gornekich
2021-12-15 20:39:06 +03:00
committed by GitHub
parent 63642617ee
commit f0d4584b40
36 changed files with 1319 additions and 579 deletions

View File

@@ -3,6 +3,17 @@
#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();
@@ -11,7 +22,7 @@ void furi_hal_bt_hid_start();
*/
void furi_hal_bt_hid_stop();
/** Press key button
/** Press keyboard button
*
* @param button button code from HID specification
*
@@ -19,7 +30,7 @@ void furi_hal_bt_hid_stop();
*/
bool furi_hal_bt_hid_kb_press(uint16_t button);
/** Release key button
/** Release keyboard button
*
* @param button button code from HID specification
*
@@ -27,8 +38,26 @@ bool furi_hal_bt_hid_kb_press(uint16_t button);
*/
bool furi_hal_bt_hid_kb_release(uint16_t button);
/** Release all key buttons
/** 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();