o7-machinehum před 1 rokem
rodič
revize
4a820e2a4b

+ 2 - 2
blackhat_app_i.h

@@ -51,7 +51,7 @@ typedef struct {
     int num_options_menu;
     char* selected_option;
     char* actual_command;
-    FocusConsole focus_console;
+    bool text_input_req;
 } BlackhatItem;
 
 #define ENTER_NAME_LENGTH 25
@@ -74,9 +74,9 @@ struct BlackhatApp {
     int selected_option_index[NUM_MENU_ITEMS];
     char* selected_tx_string;
     const char* selected_option_item_text;
-    bool focus_console_start;
     char text_store[128];
     char text_input_ch[ENTER_NAME_LENGTH];
+    bool text_input_req;
 };
 
 typedef enum {

+ 8 - 4
scenes/blackhat_scene.h

@@ -13,17 +13,21 @@ typedef enum {
 extern const SceneManagerHandlers blackhat_scene_handlers;
 
 // Generate scene on_enter handlers declaration
-#define ADD_SCENE(prefix, name, id) void prefix##_scene_##name##_on_enter(void*);
+#define ADD_SCENE(prefix, name, id) \
+    void prefix##_scene_##name##_on_enter(void*);
 #include "blackhat_scene_config.h"
 #undef ADD_SCENE
 
 // Generate scene on_event handlers declaration
-#define ADD_SCENE(prefix, name, id) \
-    bool prefix##_scene_##name##_on_event(void* context, SceneManagerEvent event);
+#define ADD_SCENE(prefix, name, id)            \
+    bool prefix##_scene_##name##_on_event(     \
+        void* context, SceneManagerEvent event \
+    );
 #include "blackhat_scene_config.h"
 #undef ADD_SCENE
 
 // Generate scene on_exit handlers declaration
-#define ADD_SCENE(prefix, name, id) void prefix##_scene_##name##_on_exit(void* context);
+#define ADD_SCENE(prefix, name, id) \
+    void prefix##_scene_##name##_on_exit(void* context);
 #include "blackhat_scene_config.h"
 #undef ADD_SCENE

+ 3 - 10
scenes/blackhat_scene_console_output.c

@@ -30,23 +30,16 @@ void blackhat_scene_console_output_on_enter(void* context)
     text_box_reset(app->text_box);
     text_box_set_font(text_box, TextBoxFontText);
 
-    if (app->focus_console_start) {
-        text_box_set_focus(text_box, TextBoxFocusStart);
-    } else {
-        text_box_set_focus(text_box, TextBoxFocusEnd);
-    }
+    text_box_set_focus(text_box, TextBoxFocusEnd);
 
     furi_string_reset(app->text_box_store);
     app->text_box_store_strlen = 0;
 
-    if (!strncmp(
-            SET_INET_SSID_CMD,
-            app->selected_tx_string,
-            strlen(SET_INET_SSID_CMD)
-        )) {
+    if (app->text_input_req) {
         scene_manager_next_scene(app->scene_manager, BlackhatSceneRename);
         return;
     }
+
     snprintf(
         app->text_store,
         sizeof(app->text_store),

+ 13 - 15
scenes/blackhat_scene_start.c

@@ -1,36 +1,36 @@
 #include "../blackhat_app_i.h"
 
 BlackhatItem items[] = {
-    {"Shell", {""}, 1, NULL, SHELL_CMD, FOCUS_CONSOLE_END},
+    {"Shell", {""}, 1, NULL, SHELL_CMD, false},
     {"Connect WiFi",
      {"wlan0", "wlan1", "wlan2"},
      3,
      NULL,
      WIFI_CON_CMD,
      FOCUS_CONSOLE_END},
-    {"Set inet SSID", {""}, 1, NULL, SET_INET_SSID_CMD, FOCUS_CONSOLE_END},
-    {"Set inet Password", {""}, 1, NULL, SET_INET_PWD_CMD, FOCUS_CONSOLE_END},
-    {"Set AP SSID", {""}, 1, NULL, SET_AP_SSID_CMD, FOCUS_CONSOLE_END},
+    {"Set inet SSID", {""}, 1, NULL, SET_INET_SSID_CMD, true},
+    {"Set inet Password", {""}, 1, NULL, SET_INET_PWD_CMD, true},
+    {"Set AP SSID", {""}, 1, NULL, SET_AP_SSID_CMD, true},
     {"List Networks",
      {"wlan0", "wlan1", "wlan2"},
      3,
      NULL,
      LIST_AP_CMD,
      FOCUS_CONSOLE_END},
-    {"Wifi Device Info", {""}, 1, NULL, DEV_CMD, FOCUS_CONSOLE_END},
+    {"Wifi Device Info", {""}, 1, NULL, DEV_CMD, false},
     {"Enable AP",
      {"wlan0", "wlan1", "wlan2"},
      3,
      NULL,
      START_AP_CMD,
      FOCUS_CONSOLE_END},
-    {"Get IP", {""}, 1, NULL, START_AP_CMD, FOCUS_CONSOLE_END},
-    {"Enable SSH", {""}, 1, NULL, START_SSH_CMD, FOCUS_CONSOLE_END},
-    {"Start Evil Twin", {""}, 1, NULL, START_EVIL_TWIN, FOCUS_CONSOLE_END},
-    {"Start Evil Portal", {""}, 1, NULL, START_EVIL_PORT, FOCUS_CONSOLE_END},
-    {"Start RAT Driver", {""}, 1, NULL, START_RAT, FOCUS_CONSOLE_END},
-    {"Get Params", {""}, 1, NULL, GET_CMD, FOCUS_CONSOLE_START},
-    {"Help", {""}, 1, NULL, HELP_CMD, FOCUS_CONSOLE_START},
+    {"Get IP", {""}, 1, NULL, START_AP_CMD, false},
+    {"Enable SSH", {""}, 1, NULL, START_SSH_CMD, false},
+    {"Start Evil Twin", {""}, 1, NULL, START_EVIL_TWIN, false},
+    {"Start Evil Portal", {""}, 1, NULL, START_EVIL_PORT, false},
+    {"Start RAT Driver", {""}, 1, NULL, START_RAT, false},
+    {"Get Params", {""}, 1, NULL, GET_CMD, false},
+    {"Help", {""}, 1, NULL, HELP_CMD, false},
 };
 
 static void blackhat_scene_start_var_list_enter_callback(
@@ -46,10 +46,8 @@ static void blackhat_scene_start_var_list_enter_callback(
     const int selected_option_index = app->selected_option_index[index];
     furi_assert(selected_option_index < item->num_options_menu);
     app->selected_tx_string = item->actual_command;
+    app->text_input_req = item->text_input_req;
     app->selected_menu_index = index;
-    app->focus_console_start = (item->focus_console == FOCUS_CONSOLE_TOGGLE)
-                                   ? (selected_option_index == 0)
-                                   : item->focus_console;
 
     app->selected_option_item_text = item->selected_option;
     view_dispatcher_send_custom_event(