Loading...
Searching...
No Matches
hid.h
1#pragma once
2
3#include <furi.h>
4#include <furi_hal_bt.h>
5#include <furi_hal_usb.h>
6#include <furi_hal_usb_hid.h>
7
8#include <extra_profiles/hid_profile.h>
9
10#include <bt/bt_service/bt.h>
11#include <gui/gui.h>
12#include <gui/view.h>
13#include <gui/view_dispatcher.h>
14#include <gui/scene_manager.h>
15#include <notification/notification.h>
16#include <storage/storage.h>
17
18#include <gui/modules/submenu.h>
20#include <gui/modules/popup.h>
21#include "views/hid_keynote.h"
22#include "views/hid_keyboard.h"
23#include "views/hid_media.h"
24#include "views/hid_mouse.h"
25#include "views/hid_mouse_clicker.h"
26#include "views/hid_mouse_jiggler.h"
27#include "views/hid_tiktok.h"
28
29#include "scenes/hid_scene.h"
30
31#define HID_BT_KEYS_STORAGE_NAME ".bt_hid.keys"
32
33typedef struct Hid Hid;
34
35struct Hid {
36 FuriHalBleProfileBase* ble_hid_profile;
37 Bt* bt;
38 Gui* gui;
39 NotificationApp* notifications;
40 ViewDispatcher* view_dispatcher;
41 SceneManager* scene_manager;
42 Submenu* submenu;
43 DialogEx* dialog;
44 Popup* popup;
45 HidKeynote* hid_keynote;
46 HidKeyboard* hid_keyboard;
47 HidMedia* hid_media;
48 HidMouse* hid_mouse;
49 HidMouseClicker* hid_mouse_clicker;
50 HidMouseJiggler* hid_mouse_jiggler;
51 HidTikTok* hid_tiktok;
52};
53
54void bt_hid_remove_pairing(Hid* app);
55
56void hid_hal_keyboard_press(Hid* instance, uint16_t event);
57void hid_hal_keyboard_release(Hid* instance, uint16_t event);
58void hid_hal_keyboard_release_all(Hid* instance);
59
60void hid_hal_consumer_key_press(Hid* instance, uint16_t event);
61void hid_hal_consumer_key_release(Hid* instance, uint16_t event);
62void hid_hal_consumer_key_release_all(Hid* instance);
63
64void hid_hal_mouse_move(Hid* instance, int8_t dx, int8_t dy);
65void hid_hal_mouse_scroll(Hid* instance, int8_t delta);
66void hid_hal_mouse_press(Hid* instance, uint16_t event);
67void hid_hal_mouse_release(Hid* instance, uint16_t event);
68void hid_hal_mouse_release_all(Hid* instance);
GUI: DialogEx view module API.
BT/BLE HAL API.
GUI: main API.
GUI: Popup view module API.
GUI: SceneManager API.
APIs for working with storages, directories and files.
Definition bt_i.h:67
Definition dialog_ex.c:5
Definition profile_interface.h:14
Gui structure.
Definition gui_i.h:47
Definition hid.h:35
Definition hid_keyboard.c:10
Definition hid_keynote.c:9
Definition hid_media.c:12
Definition hid_mouse_clicker.c:12
Definition hid_mouse.c:9
Definition hid_mouse_jiggler.c:9
Definition hid_tiktok.c:9
Definition notification_app.h:49
Definition popup.c:5
Definition scene_manager_i.h:17
Definition services/gui/modules/submenu.c:7
Definition view_dispatcher_i.h:16
GUI: SubMenu view module API.
GUI: View API.
GUI: ViewDispatcher API.