aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShane Celis <shane.celis@gmail.com>2021-07-24 11:39:04 -0400
committerGitHub <noreply@github.com>2021-07-24 08:39:04 -0700
commitd4bc77ac9492b8c0183e97fdb2b34407e0b197b6 (patch)
treee8b82c94a5a7513a1ea24f41866ae19230fce97e
parente08203f16a5d9b69abea796583491d4b2de3aa6b (diff)
downloadqmk_firmware-d4bc77ac9492b8c0183e97fdb2b34407e0b197b6.tar.gz
qmk_firmware-d4bc77ac9492b8c0183e97fdb2b34407e0b197b6.zip
feature: Add swap hands support for sofle keyboard. (#13654)
-rw-r--r--keyboards/sofle/rules.mk1
-rw-r--r--keyboards/sofle/sofle.c41
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
2BOOTLOADER = caterina 2BOOTLOADER = caterina
3SPLIT_KEYBOARD = yes 3SPLIT_KEYBOARD = yes
4DEFAULT_FOLDER = sofle/rev1 4DEFAULT_FOLDER = sofle/rev1
5SWAP_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))
6const 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