summaryrefslogtreecommitdiff
path: root/tmk_core/common/action.c
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2021-05-09 23:21:09 -0700
committerGitHub <noreply@github.com>2021-05-09 23:21:09 -0700
commitf0b30e0027cb890c7510fa22e5824a43c0d9e86f (patch)
tree40cc00ca9150bb593dac9c1c8bc6ced190904674 /tmk_core/common/action.c
parent40d15065276c7a253a95de57944966343ad563b6 (diff)
Make Swap Hands use PROGMEM (#12284)
This converts the array that the Swap Hands feature uses to use PROGMEM, and to read from that array, as such. Since this array never changes at runtime, there is no reason to keep it in memory. Especially for AVR boards, as memory is a precious resource.
Diffstat (limited to 'tmk_core/common/action.c')
-rw-r--r--tmk_core/common/action.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c
index aae5cbfa5f..f41665b06c 100644
--- a/tmk_core/common/action.c
+++ b/tmk_core/common/action.c
@@ -133,7 +133,8 @@ void process_hand_swap(keyevent_t *event) {
bool do_swap = event->pressed ? swap_hands : swap_state[pos.row] & (col_bit);
if (do_swap) {
- event->key = hand_swap_config[pos.row][pos.col];
+ event->key.row = pgm_read_byte(&hand_swap_config[pos.row][pos.col].row);
+ event->key.col = pgm_read_byte(&hand_swap_config[pos.row][pos.col].col);
swap_state[pos.row] |= col_bit;
} else {
swap_state[pos.row] &= ~(col_bit);