Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
 into mntm-dev --nobuild
  • Loading branch information
Willy-JL committed May 16, 2024
2 parents c2b7b9c + 0ae78df commit b628af1
Show file tree
Hide file tree
Showing 18 changed files with 350 additions and 128 deletions.
16 changes: 8 additions & 8 deletions applications/services/gui/modules/submenu.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,14 +53,6 @@ void submenu_add_item(
SubmenuItemCallback callback,
void* callback_context);

/** Change label of an existing item
*
* @param submenu Submenu instance
* @param index The index of the item
* @param label The new label
*/
void submenu_change_item_label(Submenu* submenu, uint32_t index, const char* label);

/** Add lockable item to submenu
*
* @param submenu Submenu instance
Expand All @@ -81,6 +73,14 @@ void submenu_add_lockable_item(
bool locked,
const char* locked_message);

/** Change label of an existing item
*
* @param submenu Submenu instance
* @param index The index of the item
* @param label The new label
*/
void submenu_change_item_label(Submenu* submenu, uint32_t index, const char* label);

/** Remove all items from submenu
*
* @param submenu Submenu instance
Expand Down
11 changes: 10 additions & 1 deletion applications/system/hid_app/hid.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ static void bt_hid_connection_status_changed_callback(BtStatus status, void* con
hid_mouse_set_connected_status(hid->hid_mouse, connected);
hid_mouse_clicker_set_connected_status(hid->hid_mouse_clicker, connected);
hid_mouse_jiggler_set_connected_status(hid->hid_mouse_jiggler, connected);
hid_mouse_jiggler_stealth_set_connected_status(hid->hid_mouse_jiggler_stealth, connected);
hid_ptt_set_connected_status(hid->hid_ptt, connected);
hid_tiktok_set_connected_status(hid->hid_tiktok, connected);
}
Expand All @@ -57,7 +58,7 @@ static uint32_t hid_ptt_menu_view(void* context) {
return HidViewPushToTalkMenu;
}

Hid* hid_alloc() {
Hid* hid_alloc(void) {
Hid* app = malloc(sizeof(Hid));

// Gui
Expand Down Expand Up @@ -146,6 +147,12 @@ Hid* hid_alloc() {
app->view_dispatcher,
HidViewMouseJiggler,
hid_mouse_jiggler_get_view(app->hid_mouse_jiggler));
// Mouse jiggler stealth view
app->hid_mouse_jiggler_stealth = hid_mouse_jiggler_stealth_alloc(app);
view_dispatcher_add_view(
app->view_dispatcher,
HidViewMouseJigglerStealth,
hid_mouse_jiggler_stealth_get_view(app->hid_mouse_jiggler_stealth));

// PushToTalk view
app->hid_ptt_menu = hid_ptt_menu_alloc(app);
Expand Down Expand Up @@ -191,6 +198,8 @@ void hid_free(Hid* app) {
hid_mouse_clicker_free(app->hid_mouse_clicker);
view_dispatcher_remove_view(app->view_dispatcher, HidViewMouseJiggler);
hid_mouse_jiggler_free(app->hid_mouse_jiggler);
view_dispatcher_remove_view(app->view_dispatcher, HidViewMouseJigglerStealth);
hid_mouse_jiggler_stealth_free(app->hid_mouse_jiggler_stealth);
view_dispatcher_remove_view(app->view_dispatcher, HidViewPushToTalkMenu);
hid_ptt_menu_free(app->hid_ptt_menu);
view_dispatcher_remove_view(app->view_dispatcher, HidViewPushToTalk);
Expand Down
2 changes: 2 additions & 0 deletions applications/system/hid_app/hid.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
#include "views/hid_mouse.h"
#include "views/hid_mouse_clicker.h"
#include "views/hid_mouse_jiggler.h"
#include "views/hid_mouse_jiggler_stealth.h"
#include "views/hid_tiktok.h"
#include "views/hid_ptt.h"
#include "views/hid_ptt_menu.h"
Expand Down Expand Up @@ -56,6 +57,7 @@ struct Hid {
HidMouse* hid_mouse;
HidMouseClicker* hid_mouse_clicker;
HidMouseJiggler* hid_mouse_jiggler;
HidMouseJigglerStealth* hid_mouse_jiggler_stealth;
HidTikTok* hid_tiktok;
HidPushToTalk* hid_ptt;
HidPushToTalkMenu* hid_ptt_menu;
Expand Down
2 changes: 1 addition & 1 deletion applications/system/hid_app/scenes/hid_scene_config.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
ADD_SCENE(hid, start, Start)
ADD_SCENE(hid, main, Main)
ADD_SCENE(hid, unpair, Unpair)
ADD_SCENE(hid, unpair, Unpair)
1 change: 1 addition & 0 deletions applications/system/hid_app/scenes/hid_scene_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

void hid_scene_main_on_enter(void* context) {
Hid* app = context;

view_dispatcher_switch_to_view(
app->view_dispatcher, scene_manager_get_scene_state(app->scene_manager, HidSceneMain));
}
Expand Down
10 changes: 10 additions & 0 deletions applications/system/hid_app/scenes/hid_scene_start.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ enum HidSubmenuIndex {
HidSubmenuIndexMouse,
HidSubmenuIndexMouseClicker,
HidSubmenuIndexMouseJiggler,
HidSubmenuIndexMouseJigglerStealth,
HidSubmenuIndexPushToTalk,
HidSubmenuIndexRemovePairing,
};
Expand Down Expand Up @@ -67,6 +68,12 @@ void hid_scene_start_on_enter(void* context) {
HidSubmenuIndexMouseJiggler,
hid_scene_start_submenu_callback,
app);
submenu_add_item(
app->submenu,
"Mouse Jiggler Stealth",
HidSubmenuIndexMouseJigglerStealth,
hid_scene_start_submenu_callback,
app);
submenu_add_item(
app->submenu,
"PushToTalk",
Expand Down Expand Up @@ -133,6 +140,9 @@ bool hid_scene_start_on_event(void* context, SceneManagerEvent event) {
case HidSubmenuIndexMouseJiggler:
view_id = HidViewMouseJiggler;
break;
case HidSubmenuIndexMouseJigglerStealth:
view_id = HidViewMouseJigglerStealth;
break;
case HidSubmenuIndexPushToTalk:
view_id = HidViewPushToTalkMenu;
break;
Expand Down
1 change: 1 addition & 0 deletions applications/system/hid_app/views.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ typedef enum {
HidViewMouse,
HidViewMouseClicker,
HidViewMouseJiggler,
HidViewMouseJigglerStealth,
BtHidViewTikTok,
HidViewPushToTalk,
HidViewPushToTalkMenu,
Expand Down
5 changes: 2 additions & 3 deletions applications/system/hid_app/views/hid_keyboard.c
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ static void hid_keyboard_draw_callback(Canvas* canvas, void* context) {
furi_assert(context);
HidKeyboardModel* model = context;

// Header
// Header
#ifdef HID_TRANSPORT_BLE
if(!model->connected) {
canvas_draw_icon(canvas, 0, 0, &I_Ble_disconnected_15x15);
Expand Down Expand Up @@ -400,8 +400,7 @@ HidKeyboard* hid_keyboard_alloc(Hid* bt_hid) {
view_set_draw_callback(hid_keyboard->view, hid_keyboard_draw_callback);
view_set_input_callback(hid_keyboard->view, hid_keyboard_input_callback);

with_view_model(
hid_keyboard->view, HidKeyboardModel * model, { model->y = 1; }, true);
with_view_model(hid_keyboard->view, HidKeyboardModel * model, { model->y = 1; }, true);

return hid_keyboard;
}
Expand Down
5 changes: 3 additions & 2 deletions applications/system/hid_app/views/hid_keynote.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ static void hid_keynote_draw_callback(Canvas* canvas, void* context) {
furi_assert(context);
HidKeynoteModel* model = context;

// Header
// Header
#ifdef HID_TRANSPORT_BLE
if(model->connected) {
canvas_draw_icon(canvas, 0, 0, &I_Ble_connected_15x15);
Expand Down Expand Up @@ -114,7 +114,7 @@ static void hid_keynote_draw_vertical_callback(Canvas* canvas, void* context) {
furi_assert(context);
HidKeynoteModel* model = context;

// Header
// Header
#ifdef HID_TRANSPORT_BLE
if(model->connected) {
canvas_draw_icon(canvas, 0, 0, &I_Ble_connected_15x15);
Expand Down Expand Up @@ -273,6 +273,7 @@ HidKeynote* hid_keynote_alloc(Hid* hid) {
view_allocate_model(hid_keynote->view, ViewModelTypeLocking, sizeof(HidKeynoteModel));
view_set_draw_callback(hid_keynote->view, hid_keynote_draw_callback);
view_set_input_callback(hid_keynote->view, hid_keynote_input_callback);

return hid_keynote;
}

Expand Down
3 changes: 2 additions & 1 deletion applications/system/hid_app/views/hid_media.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ static void hid_media_draw_callback(Canvas* canvas, void* context) {
furi_assert(context);
HidMediaModel* model = context;

// Header
// Header
#ifdef HID_TRANSPORT_BLE
if(model->connected) {
canvas_draw_icon(canvas, 0, 0, &I_Ble_connected_15x15);
Expand Down Expand Up @@ -208,6 +208,7 @@ HidMedia* hid_media_alloc(Hid* hid) {
view_allocate_model(hid_media->view, ViewModelTypeLocking, sizeof(HidMediaModel));
view_set_draw_callback(hid_media->view, hid_media_draw_callback);
view_set_input_callback(hid_media->view, hid_media_input_callback);

return hid_media;
}

Expand Down
3 changes: 2 additions & 1 deletion applications/system/hid_app/views/hid_mouse.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ static void hid_mouse_draw_callback(Canvas* canvas, void* context) {
furi_assert(context);
HidMouseModel* model = context;

// Header
// Header
#ifdef HID_TRANSPORT_BLE
if(model->connected) {
canvas_draw_icon(canvas, 0, 0, &I_Ble_connected_15x15);
Expand Down Expand Up @@ -226,6 +226,7 @@ HidMouse* hid_mouse_alloc(Hid* hid) {
view_allocate_model(hid_mouse->view, ViewModelTypeLocking, sizeof(HidMouseModel));
view_set_draw_callback(hid_mouse->view, hid_mouse_draw_callback);
view_set_input_callback(hid_mouse->view, hid_mouse_input_callback);

return hid_mouse;
}

Expand Down
42 changes: 21 additions & 21 deletions applications/system/hid_app/views/hid_mouse_clicker.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ static void hid_mouse_clicker_draw_callback(Canvas* canvas, void* context) {
furi_assert(context);
HidMouseClickerModel* model = context;

// Header
// Header
#ifdef HID_TRANSPORT_BLE
if(model->connected) {
canvas_draw_icon(canvas, 0, 0, &I_Ble_connected_15x15);
Expand All @@ -52,37 +52,37 @@ static void hid_mouse_clicker_draw_callback(Canvas* canvas, void* context) {
#endif

canvas_set_font(canvas, FontPrimary);
elements_multiline_text_aligned(canvas, 17, 3, AlignLeft, AlignTop, "Mouse Clicker");
canvas_set_font(canvas, FontSecondary);
elements_multiline_text_aligned(canvas, 27, 3, AlignLeft, AlignTop, "Mouse Clicker");

// Ok
canvas_draw_icon(canvas, 58, 25, &I_Space_65x18);

canvas_draw_icon(canvas, 63, 25, &I_Space_65x18);
if(model->running) {
elements_slightly_rounded_box(canvas, 61, 27, 60, 13);
canvas_set_color(canvas, ColorWhite);
}
canvas_set_font(canvas, FontPrimary);

canvas_draw_icon(canvas, 69, 29, &I_Ok_btn_9x9);
FuriString* rate_label = furi_string_alloc();
furi_string_printf(rate_label, "%d clicks/s\n\nUp / Down", model->rate);
elements_multiline_text(canvas, AlignLeft, 35, furi_string_get_cstr(rate_label));
canvas_set_font(canvas, FontSecondary);
furi_string_free(rate_label);

elements_slightly_rounded_box(canvas, 66, 27, 60, 13);
canvas_set_color(canvas, ColorWhite);
} else {
canvas_set_font(canvas, FontPrimary);
elements_multiline_text(canvas, AlignLeft, 35, "Press Start\nto start\nclicking");
canvas_set_font(canvas, FontSecondary);
}
canvas_draw_icon(canvas, 74, 29, &I_Ok_btn_9x9);
if(model->running) {
elements_multiline_text_aligned(canvas, 86, 37, AlignLeft, AlignBottom, "Stop");
elements_multiline_text_aligned(canvas, 91, 36, AlignLeft, AlignBottom, "Stop");
} else {
elements_multiline_text_aligned(canvas, 86, 37, AlignLeft, AlignBottom, "Start");
elements_multiline_text_aligned(canvas, 91, 36, AlignLeft, AlignBottom, "Start");
}
canvas_set_color(canvas, ColorBlack);

// Clicks/s
char label[20];
snprintf(label, sizeof(label), "%d clicks/s", model->rate);
elements_multiline_text_aligned(canvas, 28, 37, AlignCenter, AlignBottom, label);

canvas_draw_icon(canvas, 25, 20, &I_ButtonUp_7x4);
canvas_draw_icon(canvas, 25, 44, &I_ButtonDown_7x4);

// Back
canvas_draw_icon(canvas, 0, 54, &I_Pin_back_arrow_10x8);
elements_multiline_text_aligned(canvas, 13, 62, AlignLeft, AlignBottom, "Exit");
canvas_draw_icon(canvas, 74, 49, &I_Pin_back_arrow_10x8);
elements_multiline_text_aligned(canvas, 91, 57, AlignLeft, AlignBottom, "Quit");
}

static void hid_mouse_clicker_timer_callback(void* context) {
Expand Down
Loading

0 comments on commit b628af1

Please sign in to comment.