mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-06-07 19:01:54 -07:00
BadKB only save prev config at startup
This commit is contained in:
@@ -130,6 +130,16 @@ BadKbApp* bad_kb_app_alloc(char* arg) {
|
||||
app->bt->suppress_pin_screen = true;
|
||||
app->is_bt = XTREME_SETTINGS()->bad_bt;
|
||||
app->bt_remember = XTREME_SETTINGS()->bad_bt_remember;
|
||||
|
||||
// Save prev config
|
||||
BadKbConfig* prev = &app->prev_config;
|
||||
prev->usb_mode = furi_hal_usb_get_config();
|
||||
FuriHalBtProfile kbd = FuriHalBtProfileHidKeyboard;
|
||||
prev->bt_mode = furi_hal_bt_get_profile_pairing_method(kbd);
|
||||
strcpy(prev->bt_name, furi_hal_bt_get_profile_adv_name(kbd));
|
||||
memcpy(prev->bt_mac, furi_hal_bt_get_profile_mac_addr(kbd), BAD_KB_MAC_LEN);
|
||||
|
||||
// Adjust BT remember MAC to be serial MAC +2
|
||||
memcpy(BAD_KB_BOUND_MAC, furi_hal_version_get_ble_mac(), BAD_KB_MAC_LEN);
|
||||
BAD_KB_BOUND_MAC[2] += 2;
|
||||
|
||||
|
||||
@@ -511,15 +511,9 @@ static uint32_t bad_kb_flags_get(uint32_t flags_mask, uint32_t timeout) {
|
||||
int32_t bad_kb_conn_apply(BadKbApp* app) {
|
||||
if(app->is_bt) {
|
||||
// Shorthands so this bs is readable
|
||||
BadKbConfig* prev = &app->prev_config;
|
||||
BadKbConfig* cfg = app->set_bt_id ? &app->id_config : &app->config;
|
||||
FuriHalBtProfile kbd = FuriHalBtProfileHidKeyboard;
|
||||
|
||||
// Save prev config
|
||||
strcpy(prev->bt_name, furi_hal_bt_get_profile_adv_name(kbd));
|
||||
memcpy(prev->bt_mac, furi_hal_bt_get_profile_mac_addr(kbd), BAD_KB_MAC_LEN);
|
||||
prev->bt_mode = furi_hal_bt_get_profile_pairing_method(kbd);
|
||||
|
||||
// Setup new config
|
||||
bt_timeout = bt_hid_delays[LevelRssi39_0];
|
||||
bt_disconnect(app->bt);
|
||||
@@ -555,9 +549,6 @@ int32_t bad_kb_conn_apply(BadKbApp* app) {
|
||||
app->conn_mode = BadKbConnModeBt;
|
||||
|
||||
} else {
|
||||
// Save prev config (TODO: maybe also restore config context?)
|
||||
app->prev_config.usb_mode = furi_hal_usb_get_config();
|
||||
|
||||
// Unlock RPC connections
|
||||
furi_hal_usb_unlock();
|
||||
|
||||
@@ -590,6 +581,7 @@ void bad_kb_conn_reset(BadKbApp* app) {
|
||||
bt_enable_peer_key_update(app->bt);
|
||||
|
||||
} else if(app->conn_mode == BadKbConnModeUsb) {
|
||||
// TODO: maybe also restore USB config context?
|
||||
furi_check(furi_hal_usb_set_config(app->prev_config.usb_mode, NULL));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user