#11 wrong spot - Make click location configurable.

This commit is contained in:
Derek Jamison
2023-06-11 12:11:42 -05:00
parent 554e36a4f2
commit d922892bea
5 changed files with 108 additions and 2 deletions

View File

@@ -20,6 +20,9 @@ typedef struct {
bool is_cursor_set;
float timer_duration;
bool timer_click_enabled;
uint8_t click_x;
uint8_t click_y;
uint8_t click_loop;
} HidCCModel;
static void hid_cc_draw_callback(Canvas* canvas, void* context) {
@@ -114,9 +117,18 @@ static void hid_cc_reset_cursor(HidCC* hid_cc) {
hid_hal_mouse_move(hid_cc->hid, -127, -127);
furi_delay_ms(50);
}
// Move cursor from the corner
hid_hal_mouse_move(hid_cc->hid, 20, 120);
furi_delay_ms(50);
with_view_model(
hid_cc->view,
HidCCModel * model,
{
for(size_t i = 0; i < model->click_loop; i++) {
hid_hal_mouse_move(hid_cc->hid, model->click_x, model->click_y);
furi_delay_ms(50);
}
},
true);
}
static void hid_cc_process_press(HidCC* hid_cc, HidCCModel* model, InputEvent* event) {
@@ -195,6 +207,19 @@ static bool hid_cc_input_callback(InputEvent* event, void* context) {
return consumed;
}
void hid_cc_set_cursor_position(HidCC* hid_cc, uint8_t x, uint8_t y, uint8_t repeat) {
furi_assert(hid_cc);
with_view_model(
hid_cc->view,
HidCCModel * model,
{
model->click_x = x;
model->click_y = y;
model->click_loop = repeat;
},
true);
}
HidCC* hid_cc_alloc(Hid* bt_hid) {
HidCC* hid_cc = malloc(sizeof(HidCC));
hid_cc->hid = bt_hid;