diff options
| author | Shane Celis <shane.celis@gmail.com> | 2021-07-24 11:39:04 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-24 08:39:04 -0700 |
| commit | d4bc77ac9492b8c0183e97fdb2b34407e0b197b6 (patch) | |
| tree | e8b82c94a5a7513a1ea24f41866ae19230fce97e | |
| parent | e08203f16a5d9b69abea796583491d4b2de3aa6b (diff) | |
| download | qmk_firmware-d4bc77ac9492b8c0183e97fdb2b34407e0b197b6.tar.gz qmk_firmware-d4bc77ac9492b8c0183e97fdb2b34407e0b197b6.zip | |
feature: Add swap hands support for sofle keyboard. (#13654)
| -rw-r--r-- | keyboards/sofle/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/sofle/sofle.c | 41 |
2 files changed, 42 insertions, 0 deletions
diff --git a/keyboards/sofle/rules.mk b/keyboards/sofle/rules.mk index 820061832..8009f4625 100644 --- a/keyboards/sofle/rules.mk +++ b/keyboards/sofle/rules.mk | |||
| @@ -2,3 +2,4 @@ MCU = atmega32u4 | |||
| 2 | BOOTLOADER = caterina | 2 | BOOTLOADER = caterina |
| 3 | SPLIT_KEYBOARD = yes | 3 | SPLIT_KEYBOARD = yes |
| 4 | DEFAULT_FOLDER = sofle/rev1 | 4 | DEFAULT_FOLDER = sofle/rev1 |
| 5 | SWAP_HANDS_ENABLE = yes | ||
diff --git a/keyboards/sofle/sofle.c b/keyboards/sofle/sofle.c index bbb014c4d..3e9f45656 100644 --- a/keyboards/sofle/sofle.c +++ b/keyboards/sofle/sofle.c | |||
| @@ -1 +1,42 @@ | |||
| 1 | #include "sofle.h" | 1 | #include "sofle.h" |
| 2 | |||
| 3 | #ifdef SWAP_HANDS_ENABLE | ||
| 4 | |||
| 5 | __attribute__ ((weak)) | ||
| 6 | const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = | ||
| 7 | // The LAYOUT macro could work for this, but it was harder to figure out the | ||
| 8 | // identity using it. | ||
| 9 | |||
| 10 | // This is the identity layout. | ||
| 11 | /* | ||
| 12 | { \ | ||
| 13 | { {0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0} }, \ | ||
| 14 | { {0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1} }, \ | ||
| 15 | { {0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2} }, \ | ||
| 16 | { {0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3} }, \ | ||
| 17 | { {0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4} }, \ | ||
| 18 | \ | ||
| 19 | { {0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5} }, \ | ||
| 20 | { {0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6} }, \ | ||
| 21 | { {0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7} }, \ | ||
| 22 | { {0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8} }, \ | ||
| 23 | { {0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9} }, \ | ||
| 24 | }; | ||
| 25 | */ | ||
| 26 | |||
| 27 | // This is the mirror, q <-> p, w <-> o, etc... | ||
| 28 | { \ | ||
| 29 | { {0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5} }, \ | ||
| 30 | { {0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6} }, \ | ||
| 31 | { {0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7} }, \ | ||
| 32 | { {0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8} }, \ | ||
| 33 | { {0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9} }, \ | ||
| 34 | \ | ||
| 35 | { {0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0} }, \ | ||
| 36 | { {0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1} }, \ | ||
| 37 | { {0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2} }, \ | ||
| 38 | { {0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3} }, \ | ||
| 39 | { {0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4} }, \ | ||
| 40 | }; | ||
| 41 | |||
| 42 | #endif | ||
