Bluetooth Remote Additions (#1330)

* Update the HID Keycodes to pull from the library
* Composite BLE Report Map, add consumer & mouse HID
* Add Mouse & keyboard bt remote, fixed media remote
* BT Keyboard remove long press shift
* Fix usb hid modifier keys
* Fixed misaligned bad usb keys
* Fix keyboard app keys
* Partial fix for bt app and linux
* Update to work across platforms
* Fix for report ids
* BtHidApp: move variable from bss to model, cleanup naming.
* FuriHal: add const to immutable data declaration

Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
Michael Marcucci
2022-07-08 08:36:34 -04:00
committed by GitHub
parent c72b678510
commit 6b3625f46b
18 changed files with 1341 additions and 633 deletions

View File

@@ -3,17 +3,6 @@
#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();
@@ -44,20 +33,51 @@ bool furi_hal_bt_hid_kb_release(uint16_t button);
*/
bool furi_hal_bt_hid_kb_release_all();
/** Release all media buttons
/** Set mouse movement and send HID report
*
* @return true on success
* @param dx x coordinate delta
* @param dy y coordinate delta
*/
bool furi_hal_bt_hid_media_press(uint8_t button);
bool furi_hal_bt_hid_mouse_move(int8_t dx, int8_t dy);
/** Release all media buttons
/** Set mouse button to pressed state and send HID report
*
* @return true on success
* @param button key code
*/
bool furi_hal_bt_hid_media_release(uint8_t button);
bool furi_hal_bt_hid_mouse_press(uint8_t button);
/** Release all media buttons
/** Set mouse button to released state and send HID report
*
* @return true on success
* @param button key code
*/
bool furi_hal_bt_hid_media_release_all();
bool furi_hal_bt_hid_mouse_release(uint8_t button);
/** Set mouse button to released state and send HID report
*
* @param button key code
*/
bool furi_hal_bt_hid_mouse_release_all();
/** Set mouse wheel position and send HID report
*
* @param delta number of scroll steps
*/
bool furi_hal_bt_hid_mouse_scroll(int8_t delta);
/** Set the following consumer key to pressed state and send HID report
*
* @param button key code
*/
bool furi_hal_bt_hid_consumer_key_press(uint16_t button);
/** Set the following consumer key to released state and send HID report
*
* @param button key code
*/
bool furi_hal_bt_hid_consumer_key_release(uint16_t button);
/** Set consumer key to released state and send HID report
*
* @param button key code
*/
bool furi_hal_bt_hid_consumer_key_release_all();