From da5bea9b7bafb0e27f9fdadfb741463c5931f0bf Mon Sep 17 00:00:00 2001 From: Willy-JL <49810075+Willy-JL@users.noreply.github.com> Date: Sun, 30 Apr 2023 23:17:01 +0100 Subject: [PATCH] Add BadKB randomize BT MAC option --- .../main/bad_kb/scenes/bad_kb_scene_config.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/applications/main/bad_kb/scenes/bad_kb_scene_config.c b/applications/main/bad_kb/scenes/bad_kb_scene_config.c index 17b4f8674..872b99d35 100644 --- a/applications/main/bad_kb/scenes/bad_kb_scene_config.c +++ b/applications/main/bad_kb/scenes/bad_kb_scene_config.c @@ -9,6 +9,7 @@ enum VarItemListIndex { VarItemListIndexBtRemember, VarItemListIndexBtDeviceName, VarItemListIndexBtMacAddress, + VarItemListIndexRandomizeBtMac, }; void bad_kb_scene_config_connection_callback(VariableItem* item) { @@ -62,6 +63,13 @@ void bad_kb_scene_config_on_enter(void* context) { variable_item_set_locked(item, true, "Remember\nmust be Off!"); } + item = variable_item_list_add(var_item_list, "Randomize BT MAC", 0, NULL, bad_kb); + if(!bad_kb->is_bt) { + variable_item_set_locked(item, true, "Only in\nBT mode!"); + } else if(bad_kb->bt_remember) { + variable_item_set_locked(item, true, "Remember\nmust be Off!"); + } + variable_item_list_set_enter_callback( var_item_list, bad_kb_scene_config_var_item_list_callback, bad_kb); @@ -96,6 +104,10 @@ bool bad_kb_scene_config_on_event(void* context, SceneManagerEvent event) { case VarItemListIndexBtMacAddress: scene_manager_next_scene(bad_kb->scene_manager, BadKbSceneConfigMac); break; + case VarItemListIndexRandomizeBtMac: + furi_hal_random_fill_buf(bad_kb->config.bt_mac, BAD_KB_MAC_ADDRESS_LEN); + bt_set_profile_mac_address(bad_kb->bt, bad_kb->config.bt_mac); + break; default: break; }