unregister at end of function

This commit is contained in:
Garretonzo 2024-10-23 11:50:08 -07:00
parent b7dfcedf59
commit 37d88241a9

View File

@ -122,11 +122,11 @@ uint16_t dynamic_keymap_get_keycode(uint8_t layer, uint8_t row, uint8_t column)
void dynamic_keymap_set_keycode(uint8_t layer, uint8_t row, uint8_t column, uint16_t keycode) {
if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || row >= MATRIX_ROWS || column >= MATRIX_COLS) return;
uint16_t prev_keycode = dynamic_keymap_get_keycode(layer, row, column);
unregister_code(prev_keycode);
void *address = dynamic_keymap_key_to_eeprom_address(layer, row, column);
// Big endian, so we can read/write EEPROM directly from host if we want
eeprom_update_byte(address, (uint8_t)(keycode >> 8));
eeprom_update_byte(address + 1, (uint8_t)(keycode & 0xFF));
unregister_code(prev_keycode);
}
#ifdef ENCODER_MAP_ENABLE