diff --git a/applications/external/hid_app/hid.c b/applications/external/hid_app/hid.c index 82cbd96a1..7e8688229 100644 --- a/applications/external/hid_app/hid.c +++ b/applications/external/hid_app/hid.c @@ -11,7 +11,7 @@ enum HidDebugSubmenuIndex { HidSubmenuIndexKeyboard, HidSubmenuIndexNumpad, HidSubmenuIndexMedia, - HidSubmenuIndexYTShorts, + HidSubmenuIndexTikShorts, HidSubmenuIndexMouse, HidSubmenuIndexMouseClicker, HidSubmenuIndexMouseJiggler, @@ -38,9 +38,9 @@ static void hid_submenu_callback(void* context, uint32_t index) { } else if(index == HidSubmenuIndexMouse) { app->view_id = HidViewMouse; view_dispatcher_switch_to_view(app->view_dispatcher, HidViewMouse); - } else if(index == HidSubmenuIndexYTShorts) { - app->view_id = BtHidViewYTShorts; - view_dispatcher_switch_to_view(app->view_dispatcher, BtHidViewYTShorts); + } else if(index == HidSubmenuIndexTikShorts) { + app->view_id = BtHidViewTikShorts; + view_dispatcher_switch_to_view(app->view_dispatcher, BtHidViewTikShorts); } else if(index == HidSubmenuIndexMouseClicker) { app->view_id = HidViewMouseClicker; view_dispatcher_switch_to_view(app->view_dispatcher, HidViewMouseClicker); @@ -69,7 +69,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_ytshorts_set_connected_status(hid->hid_ytshorts, connected); + hid_tikshorts_set_connected_status(hid->hid_tikshorts, connected); } static void hid_dialog_callback(DialogExResult result, void* context) { @@ -132,8 +132,8 @@ Hid* hid_alloc(HidTransport transport) { if(app->transport == HidTransportBle) { submenu_add_item( app->device_type_submenu, - "YT Shorts Controller", - HidSubmenuIndexYTShorts, + "TikTok / YT Shorts", + HidSubmenuIndexTikShorts, hid_submenu_callback, app); } @@ -204,11 +204,11 @@ Hid* hid_app_alloc_view(void* context) { view_dispatcher_add_view( app->view_dispatcher, HidViewMedia, hid_media_get_view(app->hid_media)); - // YTShorts view - app->hid_ytshorts = hid_ytshorts_alloc(app); - view_set_previous_callback(hid_ytshorts_get_view(app->hid_ytshorts), hid_exit_confirm_view); + // TikTok / YT Shorts view + app->hid_tikshorts = hid_tikshorts_alloc(app); + view_set_previous_callback(hid_tikshorts_get_view(app->hid_tikshorts), hid_exit_confirm_view); view_dispatcher_add_view( - app->view_dispatcher, BtHidViewYTShorts, hid_ytshorts_get_view(app->hid_ytshorts)); + app->view_dispatcher, BtHidViewTikShorts, hid_tikshorts_get_view(app->hid_tikshorts)); // Mouse view app->hid_mouse = hid_mouse_alloc(app); @@ -266,8 +266,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, BtHidViewYTShorts); - hid_ytshorts_free(app->hid_ytshorts); + view_dispatcher_remove_view(app->view_dispatcher, BtHidViewTikShorts); + hid_tikshorts_free(app->hid_tikshorts); view_dispatcher_free(app->view_dispatcher); // Close records diff --git a/applications/external/hid_app/hid.h b/applications/external/hid_app/hid.h index 8392d0e98..f7c310e02 100644 --- a/applications/external/hid_app/hid.h +++ b/applications/external/hid_app/hid.h @@ -23,7 +23,7 @@ #include "views/hid_media.h" #include "views/hid_mouse.h" #include "views/hid_mouse_jiggler.h" -#include "views/hid_ytshorts.h" +#include "views/hid_tikshorts.h" #include "views/hid_mouse_clicker.h" #include "hid_path.h" @@ -50,7 +50,7 @@ struct Hid { HidMouse* hid_mouse; HidMouseClicker* hid_mouse_clicker; HidMouseJiggler* hid_mouse_jiggler; - HidYTShorts* hid_ytshorts; + HidTikShorts* hid_tikshorts; HidTransport transport; uint32_t view_id; diff --git a/applications/external/hid_app/views.h b/applications/external/hid_app/views.h index 903a9d78d..5d02220cd 100644 --- a/applications/external/hid_app/views.h +++ b/applications/external/hid_app/views.h @@ -8,6 +8,6 @@ typedef enum { HidViewMouse, HidViewMouseClicker, HidViewMouseJiggler, - BtHidViewYTShorts, + BtHidViewTikShorts, HidViewExitConfirm, } HidView; diff --git a/applications/external/hid_app/views/hid_ytshorts.c b/applications/external/hid_app/views/hid_tikshorts.c similarity index 61% rename from applications/external/hid_app/views/hid_ytshorts.c rename to applications/external/hid_app/views/hid_tikshorts.c index b1c152660..0e156fdf0 100644 --- a/applications/external/hid_app/views/hid_ytshorts.c +++ b/applications/external/hid_app/views/hid_tikshorts.c @@ -1,12 +1,12 @@ -#include "hid_ytshorts.h" +#include "hid_tikshorts.h" #include "../hid.h" #include #include "hid_icons.h" -#define TAG "HidYTShorts" +#define TAG "HidTikShorts" -struct HidYTShorts { +struct HidTikShorts { View* view; Hid* hid; }; @@ -21,11 +21,11 @@ typedef struct { bool is_cursor_set; bool back_mouse_pressed; HidTransport transport; -} HidYTShortsModel; +} HidTikShortsModel; -static void hid_ytshorts_draw_callback(Canvas* canvas, void* context) { +static void hid_tikshorts_draw_callback(Canvas* canvas, void* context) { furi_assert(context); - HidYTShortsModel* model = context; + HidTikShortsModel* model = context; // Header if(model->transport == HidTransportBle) { @@ -37,7 +37,8 @@ static void hid_ytshorts_draw_callback(Canvas* canvas, void* context) { } canvas_set_font(canvas, FontPrimary); - elements_multiline_text_aligned(canvas, 17, 3, AlignLeft, AlignTop, "Shorts"); + elements_multiline_text_aligned(canvas, 17, 3, AlignLeft, AlignTop, "TikTok /"); + elements_multiline_text_aligned(canvas, 3, 18, AlignLeft, AlignTop, "YT Shorts"); canvas_set_font(canvas, FontSecondary); // Keypad circles @@ -109,21 +110,21 @@ static void hid_ytshorts_draw_callback(Canvas* canvas, void* context) { elements_multiline_text_aligned(canvas, 13, 62, AlignLeft, AlignBottom, "Hold to exit"); } -static void hid_ytshorts_reset_cursor(HidYTShorts* hid_ytshorts) { +static void hid_tikshorts_reset_cursor(HidTikShorts* hid_tikshorts) { // Set cursor to the phone's left up corner // Delays to guarantee one packet per connection interval for(size_t i = 0; i < 8; i++) { - hid_hal_mouse_move(hid_ytshorts->hid, -127, -127); + hid_hal_mouse_move(hid_tikshorts->hid, -127, -127); furi_delay_ms(50); } // Move cursor from the corner - hid_hal_mouse_move(hid_ytshorts->hid, 20, 120); + hid_hal_mouse_move(hid_tikshorts->hid, 20, 120); furi_delay_ms(50); } -static void hid_ytshorts_process_press( - HidYTShorts* hid_ytshorts, - HidYTShortsModel* model, +static void hid_tikshorts_process_press( + HidTikShorts* hid_tikshorts, + HidTikShortsModel* model, InputEvent* event) { if(event->key == InputKeyUp) { model->up_pressed = true; @@ -131,10 +132,10 @@ static void hid_ytshorts_process_press( model->down_pressed = true; } else if(event->key == InputKeyLeft) { model->left_pressed = true; - hid_hal_consumer_key_press(hid_ytshorts->hid, HID_CONSUMER_VOLUME_DECREMENT); + hid_hal_consumer_key_press(hid_tikshorts->hid, HID_CONSUMER_VOLUME_DECREMENT); } else if(event->key == InputKeyRight) { model->right_pressed = true; - hid_hal_consumer_key_press(hid_ytshorts->hid, HID_CONSUMER_VOLUME_INCREMENT); + hid_hal_consumer_key_press(hid_tikshorts->hid, HID_CONSUMER_VOLUME_INCREMENT); } else if(event->key == InputKeyOk) { model->ok_pressed = true; } else if(event->key == InputKeyBack) { @@ -142,9 +143,9 @@ static void hid_ytshorts_process_press( } } -static void hid_ytshorts_process_release( - HidYTShorts* hid_ytshorts, - HidYTShortsModel* model, +static void hid_tikshorts_process_release( + HidTikShorts* hid_tikshorts, + HidTikShortsModel* model, InputEvent* event) { if(event->key == InputKeyUp) { model->up_pressed = false; @@ -152,10 +153,10 @@ static void hid_ytshorts_process_release( model->down_pressed = false; } else if(event->key == InputKeyLeft) { model->left_pressed = false; - hid_hal_consumer_key_release(hid_ytshorts->hid, HID_CONSUMER_VOLUME_DECREMENT); + hid_hal_consumer_key_release(hid_tikshorts->hid, HID_CONSUMER_VOLUME_DECREMENT); } else if(event->key == InputKeyRight) { model->right_pressed = false; - hid_hal_consumer_key_release(hid_ytshorts->hid, HID_CONSUMER_VOLUME_INCREMENT); + hid_hal_consumer_key_release(hid_tikshorts->hid, HID_CONSUMER_VOLUME_INCREMENT); } else if(event->key == InputKeyOk) { model->ok_pressed = false; } else if(event->key == InputKeyBack) { @@ -163,61 +164,61 @@ static void hid_ytshorts_process_release( } } -static bool hid_ytshorts_input_callback(InputEvent* event, void* context) { +static bool hid_tikshorts_input_callback(InputEvent* event, void* context) { furi_assert(context); - HidYTShorts* hid_ytshorts = context; + HidTikShorts* hid_tikshorts = context; bool consumed = false; with_view_model( - hid_ytshorts->view, - HidYTShortsModel * model, + hid_tikshorts->view, + HidTikShortsModel * model, { if(event->type == InputTypePress) { - hid_ytshorts_process_press(hid_ytshorts, model, event); + hid_tikshorts_process_press(hid_tikshorts, model, event); if(model->connected && !model->is_cursor_set) { - hid_ytshorts_reset_cursor(hid_ytshorts); + hid_tikshorts_reset_cursor(hid_tikshorts); model->is_cursor_set = true; } consumed = true; } else if(event->type == InputTypeRelease) { - hid_ytshorts_process_release(hid_ytshorts, model, event); + hid_tikshorts_process_release(hid_tikshorts, model, event); consumed = true; } else if(event->type == InputTypeShort) { if(event->key == InputKeyOk) { - hid_hal_mouse_press(hid_ytshorts->hid, HID_MOUSE_BTN_LEFT); + hid_hal_mouse_press(hid_tikshorts->hid, HID_MOUSE_BTN_LEFT); furi_delay_ms(25); - hid_hal_mouse_release(hid_ytshorts->hid, HID_MOUSE_BTN_LEFT); + hid_hal_mouse_release(hid_tikshorts->hid, HID_MOUSE_BTN_LEFT); furi_delay_ms(100); - hid_hal_mouse_press(hid_ytshorts->hid, HID_MOUSE_BTN_LEFT); + hid_hal_mouse_press(hid_tikshorts->hid, HID_MOUSE_BTN_LEFT); furi_delay_ms(25); - hid_hal_mouse_release(hid_ytshorts->hid, HID_MOUSE_BTN_LEFT); + hid_hal_mouse_release(hid_tikshorts->hid, HID_MOUSE_BTN_LEFT); consumed = true; } else if(event->key == InputKeyDown) { // Swipe to next video - hid_hal_mouse_scroll(hid_ytshorts->hid, 6); - hid_hal_mouse_scroll(hid_ytshorts->hid, 8); - hid_hal_mouse_scroll(hid_ytshorts->hid, 10); - hid_hal_mouse_scroll(hid_ytshorts->hid, 8); - hid_hal_mouse_scroll(hid_ytshorts->hid, 6); + hid_hal_mouse_scroll(hid_tikshorts->hid, 6); + hid_hal_mouse_scroll(hid_tikshorts->hid, 8); + hid_hal_mouse_scroll(hid_tikshorts->hid, 10); + hid_hal_mouse_scroll(hid_tikshorts->hid, 8); + hid_hal_mouse_scroll(hid_tikshorts->hid, 6); consumed = true; } else if(event->key == InputKeyUp) { // Swipe to previous video - hid_hal_mouse_scroll(hid_ytshorts->hid, -6); - hid_hal_mouse_scroll(hid_ytshorts->hid, -8); - hid_hal_mouse_scroll(hid_ytshorts->hid, -10); - hid_hal_mouse_scroll(hid_ytshorts->hid, -8); - hid_hal_mouse_scroll(hid_ytshorts->hid, -6); + hid_hal_mouse_scroll(hid_tikshorts->hid, -6); + hid_hal_mouse_scroll(hid_tikshorts->hid, -8); + hid_hal_mouse_scroll(hid_tikshorts->hid, -10); + hid_hal_mouse_scroll(hid_tikshorts->hid, -8); + hid_hal_mouse_scroll(hid_tikshorts->hid, -6); consumed = true; } else if(event->key == InputKeyBack) { // Pause - hid_hal_mouse_press(hid_ytshorts->hid, HID_MOUSE_BTN_LEFT); + hid_hal_mouse_press(hid_tikshorts->hid, HID_MOUSE_BTN_LEFT); furi_delay_ms(50); - hid_hal_mouse_release(hid_ytshorts->hid, HID_MOUSE_BTN_LEFT); + hid_hal_mouse_release(hid_tikshorts->hid, HID_MOUSE_BTN_LEFT); consumed = true; } } else if(event->type == InputTypeLong) { if(event->key == InputKeyBack) { - hid_hal_consumer_key_release_all(hid_ytshorts->hid); + hid_hal_consumer_key_release_all(hid_tikshorts->hid); model->is_cursor_set = false; consumed = false; } @@ -228,40 +229,40 @@ static bool hid_ytshorts_input_callback(InputEvent* event, void* context) { return consumed; } -HidYTShorts* hid_ytshorts_alloc(Hid* bt_hid) { - HidYTShorts* hid_ytshorts = malloc(sizeof(HidYTShorts)); - hid_ytshorts->hid = bt_hid; - hid_ytshorts->view = view_alloc(); - view_set_context(hid_ytshorts->view, hid_ytshorts); - view_allocate_model(hid_ytshorts->view, ViewModelTypeLocking, sizeof(HidYTShortsModel)); - view_set_draw_callback(hid_ytshorts->view, hid_ytshorts_draw_callback); - view_set_input_callback(hid_ytshorts->view, hid_ytshorts_input_callback); +HidTikShorts* hid_tikshorts_alloc(Hid* bt_hid) { + HidTikShorts* hid_tikshorts = malloc(sizeof(HidTikShorts)); + hid_tikshorts->hid = bt_hid; + hid_tikshorts->view = view_alloc(); + view_set_context(hid_tikshorts->view, hid_tikshorts); + view_allocate_model(hid_tikshorts->view, ViewModelTypeLocking, sizeof(HidTikShortsModel)); + view_set_draw_callback(hid_tikshorts->view, hid_tikshorts_draw_callback); + view_set_input_callback(hid_tikshorts->view, hid_tikshorts_input_callback); with_view_model( - hid_ytshorts->view, - HidYTShortsModel * model, + hid_tikshorts->view, + HidTikShortsModel * model, { model->transport = bt_hid->transport; }, true); - return hid_ytshorts; + return hid_tikshorts; } -void hid_ytshorts_free(HidYTShorts* hid_ytshorts) { - furi_assert(hid_ytshorts); - view_free(hid_ytshorts->view); - free(hid_ytshorts); +void hid_tikshorts_free(HidTikShorts* hid_tikshorts) { + furi_assert(hid_tikshorts); + view_free(hid_tikshorts->view); + free(hid_tikshorts); } -View* hid_ytshorts_get_view(HidYTShorts* hid_ytshorts) { - furi_assert(hid_ytshorts); - return hid_ytshorts->view; +View* hid_tikshorts_get_view(HidTikShorts* hid_tikshorts) { + furi_assert(hid_tikshorts); + return hid_tikshorts->view; } -void hid_ytshorts_set_connected_status(HidYTShorts* hid_ytshorts, bool connected) { - furi_assert(hid_ytshorts); +void hid_tikshorts_set_connected_status(HidTikShorts* hid_tikshorts, bool connected) { + furi_assert(hid_tikshorts); with_view_model( - hid_ytshorts->view, - HidYTShortsModel * model, + hid_tikshorts->view, + HidTikShortsModel * model, { model->connected = connected; model->is_cursor_set = false; diff --git a/applications/external/hid_app/views/hid_tikshorts.h b/applications/external/hid_app/views/hid_tikshorts.h new file mode 100644 index 000000000..5604962ee --- /dev/null +++ b/applications/external/hid_app/views/hid_tikshorts.h @@ -0,0 +1,14 @@ +#pragma once + +#include + +typedef struct Hid Hid; +typedef struct HidTikShorts HidTikShorts; + +HidTikShorts* hid_tikshorts_alloc(Hid* bt_hid); + +void hid_tikshorts_free(HidTikShorts* hid_tikshorts); + +View* hid_tikshorts_get_view(HidTikShorts* hid_tikshorts); + +void hid_tikshorts_set_connected_status(HidTikShorts* hid_tikshorts, bool connected); diff --git a/applications/external/hid_app/views/hid_ytshorts.h b/applications/external/hid_app/views/hid_ytshorts.h deleted file mode 100644 index 03264dd36..000000000 --- a/applications/external/hid_app/views/hid_ytshorts.h +++ /dev/null @@ -1,14 +0,0 @@ -#pragma once - -#include - -typedef struct Hid Hid; -typedef struct HidYTShorts HidYTShorts; - -HidYTShorts* hid_ytshorts_alloc(Hid* bt_hid); - -void hid_ytshorts_free(HidYTShorts* hid_ytshorts); - -View* hid_ytshorts_get_view(HidYTShorts* hid_ytshorts); - -void hid_ytshorts_set_connected_status(HidYTShorts* hid_ytshorts, bool connected);