- // Save "empty" keymaps.
- for ( int layer = 0; layer < DYNAMIC_KEYMAP_LAYER_COUNT; layer++ )
- {
- for ( int row = 0; row < MATRIX_ROWS; row++ )
- {
- for ( int column = 0; column < MATRIX_COLS; column++ )
- {
- dynamic_keymap_set_keycode(layer, row, column, KC_EENULL);
+ // Reset the keymaps in EEPROM to what is in flash.
+ // All keyboards using dynamic keymaps should define a layout
+ // for the same number of layers as DYNAMIC_KEYMAP_LAYER_COUNT.
+ for ( int layer = 0; layer < DYNAMIC_KEYMAP_LAYER_COUNT; layer++ ) {
+ for ( int row = 0; row < MATRIX_ROWS; row++ ) {
+ for ( int column = 0; column < MATRIX_COLS; column++ ) {
+ dynamic_keymap_set_keycode(layer, row, column, pgm_read_word(&keymaps[layer][row][column]));