aboutsummaryrefslogtreecommitdiff
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
parent40d15065276c7a253a95de57944966343ad563b6 (diff)
downloadqmk_firmware-f0b30e0027cb890c7510fa22e5824a43c0d9e86f.tar.gz
qmk_firmware-f0b30e0027cb890c7510fa22e5824a43c0d9e86f.zip
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.
-rw-r--r--docs/feature_swap_hands.md2
-rw-r--r--docs/ja/feature_swap_hands.md2
-rw-r--r--keyboards/40percentclub/25/25.c2
-rw-r--r--keyboards/40percentclub/6lit/6lit.c2
-rw-r--r--keyboards/40percentclub/foobar/foobar.c2
-rw-r--r--keyboards/adkb96/adkb96.c2
-rw-r--r--keyboards/centromere/centromere.c10
-rw-r--r--keyboards/crkbd/crkbd.c3
-rw-r--r--keyboards/ergo42/ergo42.c2
-rw-r--r--keyboards/ergodox_ez/ergodox_ez.c2
-rw-r--r--keyboards/ergodox_infinity/ergodox_infinity.c2
-rw-r--r--keyboards/ergoslab/rev1/rev1.c2
-rw-r--r--keyboards/gergo/gergo.c2
-rw-r--r--keyboards/handwired/dactyl/dactyl.c2
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c2
-rw-r--r--keyboards/handwired/pterodactyl/pterodactyl.c2
-rw-r--r--keyboards/jian/handwired/handwired.c2
-rw-r--r--keyboards/jian/nsrev2/nsrev2.c2
-rw-r--r--keyboards/jian/rev1/rev1.c2
-rw-r--r--keyboards/jian/rev2/rev2.c2
-rw-r--r--keyboards/keebio/iris/rev1/rev1.c2
-rw-r--r--keyboards/keebio/iris/rev1_led/rev1_led.c2
-rw-r--r--keyboards/keebio/iris/rev2/rev2.c2
-rw-r--r--keyboards/keebio/iris/rev3/rev3.c2
-rw-r--r--keyboards/keebio/levinson/levinson.c2
-rw-r--r--keyboards/keebio/wavelet/wavelet.c2
-rw-r--r--keyboards/kyria/rev1/rev1.c4
-rw-r--r--keyboards/lets_split/lets_split.c2
-rw-r--r--keyboards/lets_split_eh/lets_split_eh.c2
-rw-r--r--keyboards/mitosis/mitosis.c2
-rw-r--r--keyboards/moonlander/moonlander.c2
-rw-r--r--keyboards/niu_mini/niu_mini.c2
-rw-r--r--keyboards/orthodox/rev1/rev1.c2
-rw-r--r--keyboards/orthodox/rev3/rev3.c2
-rw-r--r--keyboards/orthodox/rev3_teensy/rev3_teensy.c2
-rw-r--r--keyboards/planck/planck.c2
-rw-r--r--keyboards/preonic/rev1/rev1.c2
-rw-r--r--keyboards/preonic/rev2/rev2.c2
-rw-r--r--keyboards/preonic/rev3/rev3.c2
-rw-r--r--keyboards/redox_w/redox_w.c2
-rw-r--r--keyboards/sirius/uni660/rev1/rev1.c2
-rw-r--r--keyboards/sirius/uni660/rev2/rev2.c2
-rw-r--r--keyboards/splitty/splitty.c2
-rw-r--r--keyboards/telophase/telophase.c2
-rw-r--r--keyboards/vitamins_included/vitamins_included.c2
-rw-r--r--tmk_core/common/action.c3
-rw-r--r--tmk_core/common/action.h2
47 files changed, 53 insertions, 53 deletions
diff --git a/docs/feature_swap_hands.md b/docs/feature_swap_hands.md
index 009477d20..cbc574b6b 100644
--- a/docs/feature_swap_hands.md
+++ b/docs/feature_swap_hands.md
@@ -7,7 +7,7 @@ The swap-hands action allows support for one-handed typing without requiring a s
7The configuration table is a simple 2-dimensional array to map from column/row to new column/row. Example `hand_swap_config` for Planck: 7The configuration table is a simple 2-dimensional array to map from column/row to new column/row. Example `hand_swap_config` for Planck:
8 8
9```C 9```C
10const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 10const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
11 {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, 11 {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
12 {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, 12 {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
13 {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, 13 {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
diff --git a/docs/ja/feature_swap_hands.md b/docs/ja/feature_swap_hands.md
index 3150801c5..5164584e8 100644
--- a/docs/ja/feature_swap_hands.md
+++ b/docs/ja/feature_swap_hands.md
@@ -12,7 +12,7 @@
12設定テーブルは列/行から新しい列/行にマップするための単純な2次元配列です。Planck の `hand_swap_config` の例: 12設定テーブルは列/行から新しい列/行にマップするための単純な2次元配列です。Planck の `hand_swap_config` の例:
13 13
14```C 14```C
15const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 15const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
16 {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, 16 {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
17 {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, 17 {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
18 {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, 18 {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
diff --git a/keyboards/40percentclub/25/25.c b/keyboards/40percentclub/25/25.c
index 54a42d263..de1b038aa 100644
--- a/keyboards/40percentclub/25/25.c
+++ b/keyboards/40percentclub/25/25.c
@@ -44,7 +44,7 @@ void led_set_kb(uint8_t usb_led) {
44 44
45#ifdef SWAP_HANDS_ENABLE 45#ifdef SWAP_HANDS_ENABLE
46__attribute__ ((weak)) 46__attribute__ ((weak))
47const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 47const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
48 {{4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}, 48 {{4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}},
49 {{4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}}, 49 {{4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}},
50 {{4, 7}, {3, 7}, {2, 7}, {1, 7}, {0, 7}}, 50 {{4, 7}, {3, 7}, {2, 7}, {1, 7}, {0, 7}},
diff --git a/keyboards/40percentclub/6lit/6lit.c b/keyboards/40percentclub/6lit/6lit.c
index fd3ae7d00..59d7e33bd 100644
--- a/keyboards/40percentclub/6lit/6lit.c
+++ b/keyboards/40percentclub/6lit/6lit.c
@@ -44,7 +44,7 @@ void led_set_kb(uint8_t usb_led) {
44 44
45#ifdef SWAP_HANDS_ENABLE 45#ifdef SWAP_HANDS_ENABLE
46__attribute__ ((weak)) 46__attribute__ ((weak))
47const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 47const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
48 {{2, 2}, {1, 2}, {0, 2}}, 48 {{2, 2}, {1, 2}, {0, 2}},
49 {{2, 3}, {1, 3}, {0, 3}}, 49 {{2, 3}, {1, 3}, {0, 3}},
50 {{0, 0}, {1, 0}, {2, 0}}, 50 {{0, 0}, {1, 0}, {2, 0}},
diff --git a/keyboards/40percentclub/foobar/foobar.c b/keyboards/40percentclub/foobar/foobar.c
index c032056a1..b0a1518df 100644
--- a/keyboards/40percentclub/foobar/foobar.c
+++ b/keyboards/40percentclub/foobar/foobar.c
@@ -44,7 +44,7 @@ void led_set_kb(uint8_t usb_led) {
44 44
45#ifdef SWAP_HANDS_ENABLE 45#ifdef SWAP_HANDS_ENABLE
46__attribute__ ((weak)) 46__attribute__ ((weak))
47const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 47const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
48 {{4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}}, 48 {{4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
49 {{4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}}, 49 {{4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}},
50 {{4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}, 50 {{4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}},
diff --git a/keyboards/adkb96/adkb96.c b/keyboards/adkb96/adkb96.c
index 9a1c85a2c..93230ee00 100644
--- a/keyboards/adkb96/adkb96.c
+++ b/keyboards/adkb96/adkb96.c
@@ -2,7 +2,7 @@
2 2
3#ifdef SWAP_HANDS_ENABLE 3#ifdef SWAP_HANDS_ENABLE
4__attribute__ ((weak)) 4__attribute__ ((weak))
5const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 5const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
6 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}, {7, 6}}, 6 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}, {7, 6}},
7 {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}, {7, 7}}, 7 {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}, {7, 7}},
8 {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}}, 8 {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}},
diff --git a/keyboards/centromere/centromere.c b/keyboards/centromere/centromere.c
index 269c60fd7..8d46520e3 100644
--- a/keyboards/centromere/centromere.c
+++ b/keyboards/centromere/centromere.c
@@ -5,21 +5,21 @@ void led_init(void) {
5 setPinOutput(C4); // Set red LED pin as output 5 setPinOutput(C4); // Set red LED pin as output
6 setPinOutput(C5); // Set blue LED pin as output 6 setPinOutput(C5); // Set blue LED pin as output
7 setPinOutput(D1); // Set green LED pin as output 7 setPinOutput(D1); // Set green LED pin as output
8 8
9 writePinHigh(C4); // Turn off red LED pin 9 writePinHigh(C4); // Turn off red LED pin
10 writePinHigh(C5); // Turn off blue LED pin 10 writePinHigh(C5); // Turn off blue LED pin
11 writePinHigh(D1); // Turn off green LED pin 11 writePinHigh(D1); // Turn off green LED pin
12 12
13#else 13#else
14 14
15 setPinOutput(F4); // Set red LED pin as output 15 setPinOutput(F4); // Set red LED pin as output
16 setPinOutput(F5); // Set blue LED pin as output 16 setPinOutput(F5); // Set blue LED pin as output
17 setPinOutput(D1); // Set green LED pin as output 17 setPinOutput(D1); // Set green LED pin as output
18 18
19 writePinHigh(F4); // Turn off red LED pin 19 writePinHigh(F4); // Turn off red LED pin
20 writePinHigh(F5); // Turn off blue LED pin 20 writePinHigh(F5); // Turn off blue LED pin
21 writePinHigh(D1); // Turn off green LED pin 21 writePinHigh(D1); // Turn off green LED pin
22 22
23#endif 23#endif
24 24
25} 25}
@@ -33,7 +33,7 @@ void matrix_init_kb(void) {
33 33
34#ifdef SWAP_HANDS_ENABLE 34#ifdef SWAP_HANDS_ENABLE
35__attribute__ ((weak)) 35__attribute__ ((weak))
36const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 36const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
37{{9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, 37{{9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
38{{9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, 38{{9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
39{{9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, 39{{9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
diff --git a/keyboards/crkbd/crkbd.c b/keyboards/crkbd/crkbd.c
index ab1381a39..6220c9822 100644
--- a/keyboards/crkbd/crkbd.c
+++ b/keyboards/crkbd/crkbd.c
@@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20 20
21#ifdef SWAP_HANDS_ENABLE 21#ifdef SWAP_HANDS_ENABLE
22__attribute__ ((weak)) 22__attribute__ ((weak))
23const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 23const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
24 // Left 24 // Left
25 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}}, 25 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}},
26 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}}, 26 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}},
@@ -33,4 +33,3 @@ const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
33 {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}} 33 {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}}
34}; 34};
35#endif 35#endif
36
diff --git a/keyboards/ergo42/ergo42.c b/keyboards/ergo42/ergo42.c
index e42dcb226..bd7a7ffe1 100644
--- a/keyboards/ergo42/ergo42.c
+++ b/keyboards/ergo42/ergo42.c
@@ -2,7 +2,7 @@
2 2
3#ifdef SWAP_HANDS_ENABLE 3#ifdef SWAP_HANDS_ENABLE
4__attribute__ ((weak)) 4__attribute__ ((weak))
5const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 5const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
6 6
7 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}}, 7 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}},
8 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}}, 8 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}},
diff --git a/keyboards/ergodox_ez/ergodox_ez.c b/keyboards/ergodox_ez/ergodox_ez.c
index e6f48c49f..4d3567521 100644
--- a/keyboards/ergodox_ez/ergodox_ez.c
+++ b/keyboards/ergodox_ez/ergodox_ez.c
@@ -220,7 +220,7 @@ uint8_t ergodox_left_leds_update(void) {
220#ifdef SWAP_HANDS_ENABLE 220#ifdef SWAP_HANDS_ENABLE
221__attribute__ ((weak)) 221__attribute__ ((weak))
222// swap-hands action needs a matrix to define the swap 222// swap-hands action needs a matrix to define the swap
223const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 223const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
224 /* Left hand, matrix positions */ 224 /* Left hand, matrix positions */
225 {{0,13}, {1,13}, {2,13}, {3,13}, {4,13}, {5,13}}, 225 {{0,13}, {1,13}, {2,13}, {3,13}, {4,13}, {5,13}},
226 {{0,12}, {1,12}, {2,12}, {3,12}, {4,12}, {5,12}}, 226 {{0,12}, {1,12}, {2,12}, {3,12}, {4,12}, {5,12}},
diff --git a/keyboards/ergodox_infinity/ergodox_infinity.c b/keyboards/ergodox_infinity/ergodox_infinity.c
index a9962f96a..97b628470 100644
--- a/keyboards/ergodox_infinity/ergodox_infinity.c
+++ b/keyboards/ergodox_infinity/ergodox_infinity.c
@@ -205,7 +205,7 @@ void ergodox_right_led_3_set(uint8_t n) {
205 205
206#ifdef SWAP_HANDS_ENABLE 206#ifdef SWAP_HANDS_ENABLE
207__attribute__ ((weak)) 207__attribute__ ((weak))
208const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 208const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
209 {{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}}, 209 {{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}},
210 {{0, 10}, {1, 10}, {2, 10}, {3, 10}, {4, 10}}, 210 {{0, 10}, {1, 10}, {2, 10}, {3, 10}, {4, 10}},
211 {{0, 11}, {1, 11}, {2, 11}, {3, 11}, {4, 11}}, 211 {{0, 11}, {1, 11}, {2, 11}, {3, 11}, {4, 11}},
diff --git a/keyboards/ergoslab/rev1/rev1.c b/keyboards/ergoslab/rev1/rev1.c
index 0e3e0fe99..115dab51e 100644
--- a/keyboards/ergoslab/rev1/rev1.c
+++ b/keyboards/ergoslab/rev1/rev1.c
@@ -2,7 +2,7 @@
2 2
3#ifdef SWAP_HANDS_ENABLE 3#ifdef SWAP_HANDS_ENABLE
4__attribute__ ((weak)) 4__attribute__ ((weak))
5const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 5const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
6 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}}, 6 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}},
7 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}, 7 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}},
8 {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}}, 8 {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}},
diff --git a/keyboards/gergo/gergo.c b/keyboards/gergo/gergo.c
index fab8d0f44..ba359f814 100644
--- a/keyboards/gergo/gergo.c
+++ b/keyboards/gergo/gergo.c
@@ -65,7 +65,7 @@ out:
65 return mcp23018_status; 65 return mcp23018_status;
66} 66}
67 67
68const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 68const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
69 { {0,0}, {0,7}, {2,7}, {3,7} }, 69 { {0,0}, {0,7}, {2,7}, {3,7} },
70 { {0,8}, {1,8}, {2,8}, {3,8} }, 70 { {0,8}, {1,8}, {2,8}, {3,8} },
71 { {0,9}, {1,9}, {2,9}, {3,9} }, 71 { {0,9}, {1,9}, {2,9}, {3,9} },
diff --git a/keyboards/handwired/dactyl/dactyl.c b/keyboards/handwired/dactyl/dactyl.c
index 81b9dce0f..ff9b4e08a 100644
--- a/keyboards/handwired/dactyl/dactyl.c
+++ b/keyboards/handwired/dactyl/dactyl.c
@@ -4,7 +4,7 @@
4#ifdef SWAP_HANDS_ENABLE 4#ifdef SWAP_HANDS_ENABLE
5__attribute__ ((weak)) 5__attribute__ ((weak))
6// swap-hands action needs a matrix to define the swap 6// swap-hands action needs a matrix to define the swap
7const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 7const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
8 {{0,11}, {0,10}, {0,9}, {0,8}, {0,7}, {0,6}, {0,5}, {0,4}, {0,3}, {0,2}, {0,1}, {0,0}}, 8 {{0,11}, {0,10}, {0,9}, {0,8}, {0,7}, {0,6}, {0,5}, {0,4}, {0,3}, {0,2}, {0,1}, {0,0}},
9 {{1,11}, {1,11}, {1,9}, {1,8}, {1,7}, {1,6}, {1,5}, {1,4}, {1,3}, {1,2}, {1,1}, {1,0}}, 9 {{1,11}, {1,11}, {1,9}, {1,8}, {1,7}, {1,6}, {1,5}, {1,4}, {1,3}, {1,2}, {1,1}, {1,0}},
10 {{2,11}, {2,12}, {2,9}, {2,8}, {2,7}, {2,6}, {2,5}, {2,4}, {2,3}, {2,2}, {2,1}, {2,0}}, 10 {{2,11}, {2,12}, {2,9}, {2,8}, {2,7}, {2,6}, {2,5}, {2,4}, {2,3}, {2,2}, {2,1}, {2,0}},
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c
index 69f750095..4f1b3f0bb 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c
+++ b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c
@@ -206,7 +206,7 @@ void pointing_device_send(void) {
206#endif 206#endif
207 207
208#ifdef SWAP_HANDS_ENABLE 208#ifdef SWAP_HANDS_ENABLE
209const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 209const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
210 /* Left hand, matrix positions */ 210 /* Left hand, matrix positions */
211 {{5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}}, 211 {{5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}},
212 {{5, 7}, {4, 7}, {3, 7}, {2, 7}, {1, 7}, {0, 7}}, 212 {{5, 7}, {4, 7}, {3, 7}, {2, 7}, {1, 7}, {0, 7}},
diff --git a/keyboards/handwired/pterodactyl/pterodactyl.c b/keyboards/handwired/pterodactyl/pterodactyl.c
index 736b0a62c..f379569f5 100644
--- a/keyboards/handwired/pterodactyl/pterodactyl.c
+++ b/keyboards/handwired/pterodactyl/pterodactyl.c
@@ -3,7 +3,7 @@
3#ifdef SWAP_HANDS_ENABLE 3#ifdef SWAP_HANDS_ENABLE
4__attribute__ ((weak)) 4__attribute__ ((weak))
5// swap-hands action needs a matrix to define the swap 5// swap-hands action needs a matrix to define the swap
6const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 6const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
7 {{0,11}, {0,10}, {0,9}, {0,8}, {0,7}, {0,6}, {0,5}, {0,4}, {0,3}, {0,2}, {0,1}, {0,0}}, 7 {{0,11}, {0,10}, {0,9}, {0,8}, {0,7}, {0,6}, {0,5}, {0,4}, {0,3}, {0,2}, {0,1}, {0,0}},
8 {{1,11}, {1,11}, {1,9}, {1,8}, {1,7}, {1,6}, {1,5}, {1,4}, {1,3}, {1,2}, {1,1}, {1,0}}, 8 {{1,11}, {1,11}, {1,9}, {1,8}, {1,7}, {1,6}, {1,5}, {1,4}, {1,3}, {1,2}, {1,1}, {1,0}},
9 {{2,11}, {2,12}, {2,9}, {2,8}, {2,7}, {2,6}, {2,5}, {2,4}, {2,3}, {2,2}, {2,1}, {2,0}}, 9 {{2,11}, {2,12}, {2,9}, {2,8}, {2,7}, {2,6}, {2,5}, {2,4}, {2,3}, {2,2}, {2,1}, {2,0}},
diff --git a/keyboards/jian/handwired/handwired.c b/keyboards/jian/handwired/handwired.c
index bcb7ec710..2c1451829 100644
--- a/keyboards/jian/handwired/handwired.c
+++ b/keyboards/jian/handwired/handwired.c
@@ -1,6 +1,6 @@
1#include "handwired.h" 1#include "handwired.h"
2 2
3const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 3const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
4 {{13, 0}, {12, 0}, {11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, 4 {{13, 0}, {12, 0}, {11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
5 {{13, 1}, {12, 1}, {11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, 5 {{13, 1}, {12, 1}, {11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
6 {{13, 2}, {12, 2}, {11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, 6 {{13, 2}, {12, 2}, {11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
diff --git a/keyboards/jian/nsrev2/nsrev2.c b/keyboards/jian/nsrev2/nsrev2.c
index c3acff55e..48827416f 100644
--- a/keyboards/jian/nsrev2/nsrev2.c
+++ b/keyboards/jian/nsrev2/nsrev2.c
@@ -2,7 +2,7 @@
2 2
3#ifdef SWAP_HANDS_ENABLE 3#ifdef SWAP_HANDS_ENABLE
4__attribute__ ((weak)) 4__attribute__ ((weak))
5const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 5const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
6 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}}, 6 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}},
7 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}}, 7 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}},
8 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}, 8 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}},
diff --git a/keyboards/jian/rev1/rev1.c b/keyboards/jian/rev1/rev1.c
index 1c7e93627..40d9f3bed 100644
--- a/keyboards/jian/rev1/rev1.c
+++ b/keyboards/jian/rev1/rev1.c
@@ -2,7 +2,7 @@
2 2
3#ifdef SWAP_HANDS_ENABLE 3#ifdef SWAP_HANDS_ENABLE
4__attribute__ ((weak)) 4__attribute__ ((weak))
5const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 5const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
6 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}}, 6 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}},
7 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}}, 7 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}},
8 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}}, 8 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}},
diff --git a/keyboards/jian/rev2/rev2.c b/keyboards/jian/rev2/rev2.c
index 09824c665..b18676af3 100644
--- a/keyboards/jian/rev2/rev2.c
+++ b/keyboards/jian/rev2/rev2.c
@@ -2,7 +2,7 @@
2 2
3#ifdef SWAP_HANDS_ENABLE 3#ifdef SWAP_HANDS_ENABLE
4__attribute__ ((weak)) 4__attribute__ ((weak))
5const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 5const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
6 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}}, 6 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}},
7 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}}, 7 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}},
8 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}, 8 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}},
diff --git a/keyboards/keebio/iris/rev1/rev1.c b/keyboards/keebio/iris/rev1/rev1.c
index 9694d122d..6249d2f0a 100644
--- a/keyboards/keebio/iris/rev1/rev1.c
+++ b/keyboards/keebio/iris/rev1/rev1.c
@@ -10,7 +10,7 @@ void led_set_kb(uint8_t usb_led) {
10#ifdef SWAP_HANDS_ENABLE 10#ifdef SWAP_HANDS_ENABLE
11__attribute__ ((weak)) 11__attribute__ ((weak))
12// swap-hands action needs a matrix to define the swap 12// swap-hands action needs a matrix to define the swap
13const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 13const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
14 /* Left hand, matrix positions */ 14 /* Left hand, matrix positions */
15 {{0,5}, {1,5}, {2,5}, {3,5}, {4,5}, {5,5}}, 15 {{0,5}, {1,5}, {2,5}, {3,5}, {4,5}, {5,5}},
16 {{0,6}, {1,6}, {2,6}, {3,6}, {4,6}, {5,6}}, 16 {{0,6}, {1,6}, {2,6}, {3,6}, {4,6}, {5,6}},
diff --git a/keyboards/keebio/iris/rev1_led/rev1_led.c b/keyboards/keebio/iris/rev1_led/rev1_led.c
index af5fc9440..c330189c7 100644
--- a/keyboards/keebio/iris/rev1_led/rev1_led.c
+++ b/keyboards/keebio/iris/rev1_led/rev1_led.c
@@ -10,7 +10,7 @@ void led_set_kb(uint8_t usb_led) {
10#ifdef SWAP_HANDS_ENABLE 10#ifdef SWAP_HANDS_ENABLE
11__attribute__ ((weak)) 11__attribute__ ((weak))
12// swap-hands action needs a matrix to define the swap 12// swap-hands action needs a matrix to define the swap
13const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 13const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
14 /* Left hand, matrix positions */ 14 /* Left hand, matrix positions */
15 {{0,5}, {1,5}, {2,5}, {3,5}, {4,5}, {5,5}}, 15 {{0,5}, {1,5}, {2,5}, {3,5}, {4,5}, {5,5}},
16 {{0,6}, {1,6}, {2,6}, {3,6}, {4,6}, {5,6}}, 16 {{0,6}, {1,6}, {2,6}, {3,6}, {4,6}, {5,6}},
diff --git a/keyboards/keebio/iris/rev2/rev2.c b/keyboards/keebio/iris/rev2/rev2.c
index 70c30695a..e8c2a66c9 100644
--- a/keyboards/keebio/iris/rev2/rev2.c
+++ b/keyboards/keebio/iris/rev2/rev2.c
@@ -3,7 +3,7 @@
3#ifdef SWAP_HANDS_ENABLE 3#ifdef SWAP_HANDS_ENABLE
4__attribute__ ((weak)) 4__attribute__ ((weak))
5// swap-hands action needs a matrix to define the swap 5// swap-hands action needs a matrix to define the swap
6const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 6const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
7 /* Left hand, matrix positions */ 7 /* Left hand, matrix positions */
8 {{0,5}, {1,5}, {2,5}, {3,5}, {4,5}, {5,5}}, 8 {{0,5}, {1,5}, {2,5}, {3,5}, {4,5}, {5,5}},
9 {{0,6}, {1,6}, {2,6}, {3,6}, {4,6}, {5,6}}, 9 {{0,6}, {1,6}, {2,6}, {3,6}, {4,6}, {5,6}},
diff --git a/keyboards/keebio/iris/rev3/rev3.c b/keyboards/keebio/iris/rev3/rev3.c
index f58c2093c..b97b097b7 100644
--- a/keyboards/keebio/iris/rev3/rev3.c
+++ b/keyboards/keebio/iris/rev3/rev3.c
@@ -3,7 +3,7 @@
3#ifdef SWAP_HANDS_ENABLE 3#ifdef SWAP_HANDS_ENABLE
4__attribute__ ((weak)) 4__attribute__ ((weak))
5// swap-hands action needs a matrix to define the swap 5// swap-hands action needs a matrix to define the swap
6const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 6const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
7 /* Left hand, matrix positions */ 7 /* Left hand, matrix positions */
8 {{0,5}, {1,5}, {2,5}, {3,5}, {4,5}, {5,5}}, 8 {{0,5}, {1,5}, {2,5}, {3,5}, {4,5}, {5,5}},
9 {{0,6}, {1,6}, {2,6}, {3,6}, {4,6}, {5,6}}, 9 {{0,6}, {1,6}, {2,6}, {3,6}, {4,6}, {5,6}},
diff --git a/keyboards/keebio/levinson/levinson.c b/keyboards/keebio/levinson/levinson.c
index 95f3fe9ef..b361640bc 100644
--- a/keyboards/keebio/levinson/levinson.c
+++ b/keyboards/keebio/levinson/levinson.c
@@ -2,7 +2,7 @@
2 2
3#ifdef SWAP_HANDS_ENABLE 3#ifdef SWAP_HANDS_ENABLE
4__attribute__ ((weak)) 4__attribute__ ((weak))
5const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 5const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
6 6
7 {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}}, 7 {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}},
8 {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}, 8 {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}},
diff --git a/keyboards/keebio/wavelet/wavelet.c b/keyboards/keebio/wavelet/wavelet.c
index 2bc9c65a5..68011e266 100644
--- a/keyboards/keebio/wavelet/wavelet.c
+++ b/keyboards/keebio/wavelet/wavelet.c
@@ -15,7 +15,7 @@ void matrix_init_kb(void) {
15 15
16#ifdef SWAP_HANDS_ENABLE 16#ifdef SWAP_HANDS_ENABLE
17__attribute__ ((weak)) 17__attribute__ ((weak))
18const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 18const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
19 19
20 {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}}, 20 {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}},
21 {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}, 21 {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}},
diff --git a/keyboards/kyria/rev1/rev1.c b/keyboards/kyria/rev1/rev1.c
index 970a359e7..622ac279b 100644
--- a/keyboards/kyria/rev1/rev1.c
+++ b/keyboards/kyria/rev1/rev1.c
@@ -3,7 +3,7 @@
3#ifdef SWAP_HANDS_ENABLE 3#ifdef SWAP_HANDS_ENABLE
4__attribute__ ((weak)) 4__attribute__ ((weak))
5 5
6const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 6const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
7 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}, {7, 4}}, 7 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}, {7, 4}},
8 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}, {7, 5}}, 8 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}, {7, 5}},
9 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}, {7, 6}}, 9 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}, {7, 6}},
@@ -12,6 +12,6 @@ const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
12 {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}, {7, 1}}, 12 {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}, {7, 1}},
13 {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {6, 2}, {7, 2}}, 13 {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {6, 2}, {7, 2}},
14 {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}, {7, 3}} 14 {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}, {7, 3}}
15}; 15};
16 16
17#endif 17#endif
diff --git a/keyboards/lets_split/lets_split.c b/keyboards/lets_split/lets_split.c
index c400ab7bb..ee0c931be 100644
--- a/keyboards/lets_split/lets_split.c
+++ b/keyboards/lets_split/lets_split.c
@@ -2,7 +2,7 @@
2 2
3#ifdef SWAP_HANDS_ENABLE 3#ifdef SWAP_HANDS_ENABLE
4__attribute__ ((weak)) 4__attribute__ ((weak))
5const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 5const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
6 6
7 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}}, 7 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}},
8 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}}, 8 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}},
diff --git a/keyboards/lets_split_eh/lets_split_eh.c b/keyboards/lets_split_eh/lets_split_eh.c
index 7249f54cf..37075aa67 100644
--- a/keyboards/lets_split_eh/lets_split_eh.c
+++ b/keyboards/lets_split_eh/lets_split_eh.c
@@ -2,7 +2,7 @@
2 2
3#ifdef SWAP_HANDS_ENABLE 3#ifdef SWAP_HANDS_ENABLE
4__attribute__ ((weak)) 4__attribute__ ((weak))
5const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 5const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
6 6
7 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}}, 7 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}},
8 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}}, 8 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}},
diff --git a/keyboards/mitosis/mitosis.c b/keyboards/mitosis/mitosis.c
index 50b6d8452..ea3d1c99d 100644
--- a/keyboards/mitosis/mitosis.c
+++ b/keyboards/mitosis/mitosis.c
@@ -16,7 +16,7 @@ void matrix_init_kb(void) {
16 16
17#ifdef SWAP_HANDS_ENABLE 17#ifdef SWAP_HANDS_ENABLE
18__attribute__ ((weak)) 18__attribute__ ((weak))
19const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 19const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
20{{9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, 20{{9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
21{{9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, 21{{9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
22{{9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, 22{{9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
diff --git a/keyboards/moonlander/moonlander.c b/keyboards/moonlander/moonlander.c
index 39f61b5c4..bc4047b84 100644
--- a/keyboards/moonlander/moonlander.c
+++ b/keyboards/moonlander/moonlander.c
@@ -370,7 +370,7 @@ bool music_mask_kb(uint16_t keycode) {
370#ifdef SWAP_HANDS_ENABLE 370#ifdef SWAP_HANDS_ENABLE
371// swap-hands action needs a matrix to define the swap 371// swap-hands action needs a matrix to define the swap
372// clang-format off 372// clang-format off
373const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 373const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
374 /* Left hand, matrix positions */ 374 /* Left hand, matrix positions */
375 {{6,6}, {5,6}, {4,6}, {3,6}, {2,6}, {1,6},{0,6}}, 375 {{6,6}, {5,6}, {4,6}, {3,6}, {2,6}, {1,6},{0,6}},
376 {{6,7}, {5,7}, {4,7}, {3,7}, {2,7}, {1,7},{0,7}}, 376 {{6,7}, {5,7}, {4,7}, {3,7}, {2,7}, {1,7},{0,7}},
diff --git a/keyboards/niu_mini/niu_mini.c b/keyboards/niu_mini/niu_mini.c
index 835625ee4..cd9c0cdfe 100644
--- a/keyboards/niu_mini/niu_mini.c
+++ b/keyboards/niu_mini/niu_mini.c
@@ -2,7 +2,7 @@
2 2
3#ifdef SWAP_HANDS_ENABLE 3#ifdef SWAP_HANDS_ENABLE
4__attribute__ ((weak)) 4__attribute__ ((weak))
5const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 5const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
6 {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, 6 {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
7 {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, 7 {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
8 {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, 8 {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
diff --git a/keyboards/orthodox/rev1/rev1.c b/keyboards/orthodox/rev1/rev1.c
index ecb908b3a..db8d435c3 100644
--- a/keyboards/orthodox/rev1/rev1.c
+++ b/keyboards/orthodox/rev1/rev1.c
@@ -37,7 +37,7 @@ void matrix_init_kb(void) {
37#ifdef SWAP_HANDS_ENABLE 37#ifdef SWAP_HANDS_ENABLE
38__attribute__ ((weak)) 38__attribute__ ((weak))
39// swap-hands action needs a matrix to define the swap 39// swap-hands action needs a matrix to define the swap
40const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 40const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
41 /* Left hand, matrix positions */ 41 /* Left hand, matrix positions */
42 {{0,3}, {1,3}, {2,3}, {3,3}, {4,3}, {5,3}, {6,3}, {7,3}, {8,3}}, 42 {{0,3}, {1,3}, {2,3}, {3,3}, {4,3}, {5,3}, {6,3}, {7,3}, {8,3}},
43 {{0,4}, {1,4}, {2,4}, {3,4}, {4,4}, {5,4}, {6,4}, {7,4}, {8,4}}, 43 {{0,4}, {1,4}, {2,4}, {3,4}, {4,4}, {5,4}, {6,4}, {7,4}, {8,4}},
diff --git a/keyboards/orthodox/rev3/rev3.c b/keyboards/orthodox/rev3/rev3.c
index ecb908b3a..db8d435c3 100644
--- a/keyboards/orthodox/rev3/rev3.c
+++ b/keyboards/orthodox/rev3/rev3.c
@@ -37,7 +37,7 @@ void matrix_init_kb(void) {
37#ifdef SWAP_HANDS_ENABLE 37#ifdef SWAP_HANDS_ENABLE
38__attribute__ ((weak)) 38__attribute__ ((weak))
39// swap-hands action needs a matrix to define the swap 39// swap-hands action needs a matrix to define the swap
40const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 40const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
41 /* Left hand, matrix positions */ 41 /* Left hand, matrix positions */
42 {{0,3}, {1,3}, {2,3}, {3,3}, {4,3}, {5,3}, {6,3}, {7,3}, {8,3}}, 42 {{0,3}, {1,3}, {2,3}, {3,3}, {4,3}, {5,3}, {6,3}, {7,3}, {8,3}},
43 {{0,4}, {1,4}, {2,4}, {3,4}, {4,4}, {5,4}, {6,4}, {7,4}, {8,4}}, 43 {{0,4}, {1,4}, {2,4}, {3,4}, {4,4}, {5,4}, {6,4}, {7,4}, {8,4}},
diff --git a/keyboards/orthodox/rev3_teensy/rev3_teensy.c b/keyboards/orthodox/rev3_teensy/rev3_teensy.c
index ecb908b3a..db8d435c3 100644
--- a/keyboards/orthodox/rev3_teensy/rev3_teensy.c
+++ b/keyboards/orthodox/rev3_teensy/rev3_teensy.c
@@ -37,7 +37,7 @@ void matrix_init_kb(void) {
37#ifdef SWAP_HANDS_ENABLE 37#ifdef SWAP_HANDS_ENABLE
38__attribute__ ((weak)) 38__attribute__ ((weak))
39// swap-hands action needs a matrix to define the swap 39// swap-hands action needs a matrix to define the swap
40const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 40const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
41 /* Left hand, matrix positions */ 41 /* Left hand, matrix positions */
42 {{0,3}, {1,3}, {2,3}, {3,3}, {4,3}, {5,3}, {6,3}, {7,3}, {8,3}}, 42 {{0,3}, {1,3}, {2,3}, {3,3}, {4,3}, {5,3}, {6,3}, {7,3}, {8,3}},
43 {{0,4}, {1,4}, {2,4}, {3,4}, {4,4}, {5,4}, {6,4}, {7,4}, {8,4}}, 43 {{0,4}, {1,4}, {2,4}, {3,4}, {4,4}, {5,4}, {6,4}, {7,4}, {8,4}},
diff --git a/keyboards/planck/planck.c b/keyboards/planck/planck.c
index 5a65d5e5f..1f824efaa 100644
--- a/keyboards/planck/planck.c
+++ b/keyboards/planck/planck.c
@@ -2,7 +2,7 @@
2 2
3#ifdef SWAP_HANDS_ENABLE 3#ifdef SWAP_HANDS_ENABLE
4__attribute__ ((weak)) 4__attribute__ ((weak))
5const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 5const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
6 {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, 6 {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
7 {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, 7 {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
8 {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, 8 {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
diff --git a/keyboards/preonic/rev1/rev1.c b/keyboards/preonic/rev1/rev1.c
index c9fd8330e..bf8374360 100644
--- a/keyboards/preonic/rev1/rev1.c
+++ b/keyboards/preonic/rev1/rev1.c
@@ -26,7 +26,7 @@ void matrix_init_kb(void) {
26 26
27#ifdef SWAP_HANDS_ENABLE 27#ifdef SWAP_HANDS_ENABLE
28 __attribute__ ((weak)) 28 __attribute__ ((weak))
29 const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 29 const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
30 {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, 30 {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
31 {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, 31 {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
32 {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, 32 {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
diff --git a/keyboards/preonic/rev2/rev2.c b/keyboards/preonic/rev2/rev2.c
index c0e72620e..a3929249d 100644
--- a/keyboards/preonic/rev2/rev2.c
+++ b/keyboards/preonic/rev2/rev2.c
@@ -26,7 +26,7 @@ void matrix_init_kb(void) {
26 26
27#ifdef SWAP_HANDS_ENABLE 27#ifdef SWAP_HANDS_ENABLE
28 __attribute__ ((weak)) 28 __attribute__ ((weak))
29 const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 29 const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
30 {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, 30 {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
31 {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, 31 {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
32 {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, 32 {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
diff --git a/keyboards/preonic/rev3/rev3.c b/keyboards/preonic/rev3/rev3.c
index 161c1c963..ec8a56108 100644
--- a/keyboards/preonic/rev3/rev3.c
+++ b/keyboards/preonic/rev3/rev3.c
@@ -63,7 +63,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
63 63
64#ifdef SWAP_HANDS_ENABLE 64#ifdef SWAP_HANDS_ENABLE
65__attribute__ ((weak)) 65__attribute__ ((weak))
66const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 66const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
67 {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}}, 67 {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}},
68 {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}, 68 {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}},
69 {{5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}}, 69 {{5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}},
diff --git a/keyboards/redox_w/redox_w.c b/keyboards/redox_w/redox_w.c
index 05fa33957..a94e731b3 100644
--- a/keyboards/redox_w/redox_w.c
+++ b/keyboards/redox_w/redox_w.c
@@ -17,7 +17,7 @@ void matrix_init_kb(void) {
17 17
18#ifdef ONEHAND_ENABLE 18#ifdef ONEHAND_ENABLE
19__attribute__ ((weak)) 19__attribute__ ((weak))
20const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 20const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
21{{13, 0}, {12, 0}, {11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, 21{{13, 0}, {12, 0}, {11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
22{{13, 1}, {12, 1}, {11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, 22{{13, 1}, {12, 1}, {11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
23{{13, 2}, {12, 2}, {11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, 23{{13, 2}, {12, 2}, {11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
diff --git a/keyboards/sirius/uni660/rev1/rev1.c b/keyboards/sirius/uni660/rev1/rev1.c
index d4adac24b..7cc75ee22 100644
--- a/keyboards/sirius/uni660/rev1/rev1.c
+++ b/keyboards/sirius/uni660/rev1/rev1.c
@@ -19,7 +19,7 @@ void matrix_init_kb(void) {
19/* 19/*
20#ifdef SWAP_HANDS_ENABLE 20#ifdef SWAP_HANDS_ENABLE
21__attribute__ ((weak)) 21__attribute__ ((weak))
22const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 22const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
23{{9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, 23{{9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
24{{9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, 24{{9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
25{{9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, 25{{9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
diff --git a/keyboards/sirius/uni660/rev2/rev2.c b/keyboards/sirius/uni660/rev2/rev2.c
index 048495b99..2c2515c0e 100644
--- a/keyboards/sirius/uni660/rev2/rev2.c
+++ b/keyboards/sirius/uni660/rev2/rev2.c
@@ -19,7 +19,7 @@ void matrix_init_kb(void) {
19/* 19/*
20#ifdef SWAP_HANDS_ENABLE 20#ifdef SWAP_HANDS_ENABLE
21__attribute__ ((weak)) 21__attribute__ ((weak))
22const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 22const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
23{{9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, 23{{9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
24{{9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, 24{{9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
25{{9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, 25{{9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
diff --git a/keyboards/splitty/splitty.c b/keyboards/splitty/splitty.c
index 652d1f781..707f28983 100644
--- a/keyboards/splitty/splitty.c
+++ b/keyboards/splitty/splitty.c
@@ -19,7 +19,7 @@
19#ifdef SWAP_HANDS_ENABLE 19#ifdef SWAP_HANDS_ENABLE
20// clang-format off 20// clang-format off
21__attribute__ ((weak)) 21__attribute__ ((weak))
22const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 22const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
23 23
24 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}}, 24 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}},
25 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}}, 25 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}},
diff --git a/keyboards/telophase/telophase.c b/keyboards/telophase/telophase.c
index 0e04debeb..7484551c9 100644
--- a/keyboards/telophase/telophase.c
+++ b/keyboards/telophase/telophase.c
@@ -17,7 +17,7 @@ void matrix_init_kb(void) {
17 17
18#ifdef SWAP_HANDS_ENABLE 18#ifdef SWAP_HANDS_ENABLE
19__attribute__ ((weak)) 19__attribute__ ((weak))
20const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 20const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
21{{12, 0}, {11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, 21{{12, 0}, {11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
22{{12, 1}, {11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, 22{{12, 1}, {11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
23{{12, 2}, {11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, 23{{12, 2}, {11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
diff --git a/keyboards/vitamins_included/vitamins_included.c b/keyboards/vitamins_included/vitamins_included.c
index 650f26001..078f93e0e 100644
--- a/keyboards/vitamins_included/vitamins_included.c
+++ b/keyboards/vitamins_included/vitamins_included.c
@@ -2,7 +2,7 @@
2 2
3#ifdef ONEHAND_ENABLE 3#ifdef ONEHAND_ENABLE
4__attribute__ ((weak)) 4__attribute__ ((weak))
5const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 5const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
6 6
7 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}}, 7 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}},
8 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}}, 8 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}},
diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c
index aae5cbfa5..f41665b06 100644
--- a/tmk_core/common/action.c
+++ b/tmk_core/common/action.c
@@ -133,7 +133,8 @@ void process_hand_swap(keyevent_t *event) {
133 bool do_swap = event->pressed ? swap_hands : swap_state[pos.row] & (col_bit); 133 bool do_swap = event->pressed ? swap_hands : swap_state[pos.row] & (col_bit);
134 134
135 if (do_swap) { 135 if (do_swap) {
136 event->key = hand_swap_config[pos.row][pos.col]; 136 event->key.row = pgm_read_byte(&hand_swap_config[pos.row][pos.col].row);
137 event->key.col = pgm_read_byte(&hand_swap_config[pos.row][pos.col].col);
137 swap_state[pos.row] |= col_bit; 138 swap_state[pos.row] |= col_bit;
138 } else { 139 } else {
139 swap_state[pos.row] &= ~(col_bit); 140 swap_state[pos.row] &= ~(col_bit);
diff --git a/tmk_core/common/action.h b/tmk_core/common/action.h
index 9a991de1c..6c8456178 100644
--- a/tmk_core/common/action.h
+++ b/tmk_core/common/action.h
@@ -78,7 +78,7 @@ extern bool disable_action_cache;
78/* Code for handling one-handed key modifiers. */ 78/* Code for handling one-handed key modifiers. */
79#ifdef SWAP_HANDS_ENABLE 79#ifdef SWAP_HANDS_ENABLE
80extern bool swap_hands; 80extern bool swap_hands;
81extern const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS]; 81extern const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS];
82# if (MATRIX_COLS <= 8) 82# if (MATRIX_COLS <= 8)
83typedef uint8_t swap_state_row_t; 83typedef uint8_t swap_state_row_t;
84# elif (MATRIX_COLS <= 16) 84# elif (MATRIX_COLS <= 16)