Fix bt keys shenanigans

This commit is contained in:
Willy-JL
2023-05-10 13:34:44 +01:00
parent 4aef6a9df8
commit d18623383c
8 changed files with 21 additions and 19 deletions
+1 -1
View File
@@ -27,7 +27,7 @@
#include "views/hid_ytshorts.h"
#include "views/hid_mouse_clicker.h"
#define HID_BT_KEYS_STORAGE_NAME ".bt_hid.keys"
#include "hid_path.h"
typedef enum {
HidTransportUsb,
+3
View File
@@ -0,0 +1,3 @@
#pragma once
#define HID_BT_KEYS_STORAGE_NAME ".bt_hid.keys"
+1 -4
View File
@@ -1,5 +1,4 @@
#include "bad_kb_app.h"
#include "bad_kb_settings_filename.h"
#include <furi.h>
#include <furi_hal.h>
#include <storage/storage.h>
@@ -11,8 +10,6 @@
#include <bt/bt_service/bt_i.h>
#include <bt/bt_service/bt.h>
#define BAD_KB_SETTINGS_PATH BAD_KB_APP_BASE_FOLDER "/" BAD_KB_SETTINGS_FILE_NAME
static bool bad_kb_app_custom_event_callback(void* context, uint32_t event) {
furi_assert(context);
BadKbApp* app = context;
@@ -138,7 +135,7 @@ int32_t bad_kb_connection_init(BadKbApp* app) {
bt_timeout = bt_hid_delays[LevelRssi39_0];
bt_disconnect(app->bt);
bt_keys_storage_set_storage_path(app->bt, BAD_KB_APP_PATH_BOUND_KEYS_FILE);
bt_keys_storage_set_storage_path(app->bt, BAD_KB_KEYS_PATH);
if(strcmp(app->config.bt_name, "") != 0) {
furi_hal_bt_set_profile_adv_name(FuriHalBtProfileHidKeyboard, app->config.bt_name);
}
+1 -2
View File
@@ -1,6 +1,7 @@
#pragma once
#include "bad_kb_app.h"
#include "bad_kb_paths.h"
#include "scenes/bad_kb_scene.h"
#include "helpers/ducky_script.h"
@@ -10,8 +11,6 @@
#include <dialogs/dialogs.h>
#include <notification/notification_messages.h>
#define BAD_KB_APP_BASE_FOLDER EXT_PATH("badkb")
#define BAD_KB_APP_PATH_LAYOUT_FOLDER BAD_KB_APP_BASE_FOLDER "/assets/layouts"
#define BAD_KB_APP_SCRIPT_EXTENSION ".txt"
#define BAD_KB_APP_LAYOUT_EXTENSION ".kl"
+8
View File
@@ -0,0 +1,8 @@
#pragma once
#include <storage/storage.h>
#define BAD_KB_APP_BASE_FOLDER EXT_PATH("badkb")
#define BAD_KB_KEYS_PATH BAD_KB_APP_BASE_FOLDER "/.badkb.keys"
#define BAD_KB_SETTINGS_PATH BAD_KB_APP_BASE_FOLDER "/.badkb.settings"
#define BAD_KB_APP_PATH_LAYOUT_FOLDER BAD_KB_APP_BASE_FOLDER "/assets/layouts"
@@ -1,7 +0,0 @@
#pragma once
#include <storage/storage.h>
#define BAD_KB_SETTINGS_FILE_NAME ".badkb.settings"
#define BAD_KB_APP_PATH_BOUND_KEYS_FOLDER EXT_PATH("badkb/.bt_keys")
#define BAD_KB_APP_PATH_BOUND_KEYS_FILE BAD_KB_APP_PATH_BOUND_KEYS_FOLDER "/.devices.keys"
@@ -23,8 +23,6 @@ const uint8_t BAD_KB_EMPTY_MAC_ADDRESS[BAD_KB_MAC_ADDRESS_LEN] =
#define BADKB_ASCII_TO_KEY(script, x) \
(((uint8_t)x < 128) ? (script->layout[(uint8_t)x]) : HID_KEYBOARD_NONE)
#define HID_BT_KEYS_STORAGE_PATH EXT_PATH("apps/Tools/.bt_hid.keys")
/**
* Delays for waiting between HID key press and key release
*/
@@ -1,6 +1,7 @@
#include "../bt_settings_app.h"
#include <furi_hal_bt.h>
#include <applications/main/bad_kb/bad_kb_settings_filename.h>
#include <applications/main/bad_kb/bad_kb_paths.h>
#include <applications/external/hid_app/hid_path.h>
void bt_settings_scene_forget_dev_confirm_dialog_callback(DialogExResult result, void* context) {
furi_assert(context);
@@ -31,8 +32,11 @@ bool bt_settings_scene_forget_dev_confirm_on_event(void* context, SceneManagerEv
consumed = scene_manager_previous_scene(app->scene_manager);
} else if(event.event == DialogExResultRight) {
bt_forget_bonded_devices(app->bt);
// also removes keys of badkb bonded devices
bt_keys_storage_set_storage_path(app->bt, BAD_KB_APP_PATH_BOUND_KEYS_FILE);
// also remove keys of badkb and bt remote
bt_keys_storage_set_storage_path(app->bt, BAD_KB_KEYS_PATH);
bt_forget_bonded_devices(app->bt);
bt_keys_storage_set_storage_path(
app->bt, EXT_PATH("apps_data/hid_ble") "/" HID_BT_KEYS_STORAGE_NAME);
bt_forget_bonded_devices(app->bt);
bt_keys_storage_set_default_path(app->bt);