move functions

This commit is contained in:
Garretonzo 2024-11-09 12:22:13 -08:00
parent 168cabeaf1
commit 3727bc70b7
2 changed files with 39 additions and 41 deletions

View File

@ -225,11 +225,6 @@ uint8_t source_layers_cache[((MATRIX_ROWS * MATRIX_COLS) + (CHAR_BIT)-1) / (CHAR
uint8_t encoder_source_layers_cache[(NUM_ENCODERS + (CHAR_BIT)-1) / (CHAR_BIT)][MAX_LAYER_BITS] = {{0}}; uint8_t encoder_source_layers_cache[(NUM_ENCODERS + (CHAR_BIT)-1) / (CHAR_BIT)][MAX_LAYER_BITS] = {{0}};
# endif // ENCODER_MAP_ENABLE # endif // ENCODER_MAP_ENABLE
uint16_t keycode_map[((MATRIX_ROWS * MATRIX_COLS) + (CHAR_BIT)-1) / (CHAR_BIT)][16] = {{KC_NO}};
# ifdef ENCODER_MAP_ENABLE
uint16_t encoder_keycode_map[(NUM_ENCODERS + (CHAR_BIT)-1) / (CHAR_BIT)][16] = {{KC_NO}};
# endif // ENCODER_MAP_ENABLE
/** \brief update source layers cache impl /** \brief update source layers cache impl
* *
* Updates the supplied cache when changing layers * Updates the supplied cache when changing layers
@ -242,14 +237,6 @@ void update_source_layers_cache_impl(uint8_t layer, uint16_t entry_number, uint8
} }
} }
/** \brief update encoder keycode map
*
* Updates map of keycodes when pressing a key down
*/
void update_keycode_map_impl(uint16_t entry_number, uint16_t keycode, uint16_t cache[][16]) {
cache[entry_number / 16][entry_number % 16] = keycode;
}
/** \brief read source layers cache /** \brief read source layers cache
* *
* reads the cached keys stored when the layer was changed * reads the cached keys stored when the layer was changed
@ -266,14 +253,6 @@ uint8_t read_source_layers_cache_impl(uint16_t entry_number, uint8_t cache[][MAX
return layer; return layer;
} }
/** \brief read keycode map
*
* reads map of keycodes when unpressing a key
*/
uint16_t read_keycode_map_impl(uint16_t entry_number, uint16_t cache[][16]) {
return cache[entry_number / 16][entry_number % 16];
}
/** \brief update encoder source layers cache /** \brief update encoder source layers cache
* *
* Updates the cached encoders when changing layers * Updates the cached encoders when changing layers
@ -291,6 +270,45 @@ void update_source_layers_cache(keypos_t key, uint8_t layer) {
# endif // ENCODER_MAP_ENABLE # endif // ENCODER_MAP_ENABLE
} }
/** \brief read source layers cache
*
* reads the cached keys stored when the layer was changed
*/
uint8_t read_source_layers_cache(keypos_t key) {
if (key.row < MATRIX_ROWS && key.col < MATRIX_COLS) {
const uint16_t entry_number = (uint16_t)(key.row * MATRIX_COLS) + key.col;
return read_source_layers_cache_impl(entry_number, source_layers_cache);
}
# ifdef ENCODER_MAP_ENABLE
else if (key.row == KEYLOC_ENCODER_CW || key.row == KEYLOC_ENCODER_CCW) {
const uint16_t entry_number = key.col;
return read_source_layers_cache_impl(entry_number, encoder_source_layers_cache);
}
# endif // ENCODER_MAP_ENABLE
return 0;
}
uint16_t keycode_map[((MATRIX_ROWS * MATRIX_COLS) + (CHAR_BIT)-1) / (CHAR_BIT)][16] = {{KC_NO}};
# ifdef ENCODER_MAP_ENABLE
uint16_t encoder_keycode_map[(NUM_ENCODERS + (CHAR_BIT)-1) / (CHAR_BIT)][16] = {{KC_NO}};
# endif // ENCODER_MAP_ENABLE
/** \brief update encoder keycode map
*
* Updates map of keycodes when pressing a key down
*/
void update_keycode_map_impl(uint16_t entry_number, uint16_t keycode, uint16_t cache[][16]) {
cache[entry_number / 16][entry_number % 16] = keycode;
}
/** \brief read keycode map
*
* reads map of keycodes when releasing a key
*/
uint16_t read_keycode_map_impl(uint16_t entry_number, uint16_t cache[][16]) {
return cache[entry_number / 16][entry_number % 16];
}
/** \brief update encoder keycode map /** \brief update encoder keycode map
* *
* Updates map of keycodes when pressing a key down * Updates map of keycodes when pressing a key down
@ -325,24 +343,6 @@ uint16_t read_keycode_map(keypos_t key) {
# endif // ENCODER_MAP_ENABLE # endif // ENCODER_MAP_ENABLE
return KC_NO; return KC_NO;
} }
/** \brief read source layers cache
*
* reads the cached keys stored when the layer was changed
*/
uint8_t read_source_layers_cache(keypos_t key) {
if (key.row < MATRIX_ROWS && key.col < MATRIX_COLS) {
const uint16_t entry_number = (uint16_t)(key.row * MATRIX_COLS) + key.col;
return read_source_layers_cache_impl(entry_number, source_layers_cache);
}
# ifdef ENCODER_MAP_ENABLE
else if (key.row == KEYLOC_ENCODER_CW || key.row == KEYLOC_ENCODER_CCW) {
const uint16_t entry_number = key.col;
return read_source_layers_cache_impl(entry_number, encoder_source_layers_cache);
}
# endif // ENCODER_MAP_ENABLE
return 0;
}
#endif #endif
/** \brief Store or get action (FIXME: Needs better summary) /** \brief Store or get action (FIXME: Needs better summary)

View File

@ -239,11 +239,9 @@ uint16_t get_event_keycode(keyevent_t event, bool update_layer_cache) {
keycode = keymap_key_to_keycode(layer, event.key); keycode = keymap_key_to_keycode(layer, event.key);
update_keycode_map(event.key, keycode); update_keycode_map(event.key, keycode);
} else { } else {
layer = read_source_layers_cache(event.key);
keycode = read_keycode_map(event.key); keycode = read_keycode_map(event.key);
} }
return keycode; return keycode;
// return keymap_key_to_keycode(layer, event.key);
} else } else
#endif #endif
return keymap_key_to_keycode(layer_switch_get_layer(event.key), event.key); return keymap_key_to_keycode(layer_switch_get_layer(event.key), event.key);