summaryrefslogtreecommitdiff
path: root/totem/totem.c
blob: 9785fb51af075147cd8802e7b8616e6cafa68c6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/* Copyright 2022
 * GEIST @geigeigeist
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include "totem.h"


#ifdef SWAP_HANDS_ENABLE

__attribute__ ((weak))
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] =
    // The LAYOUT macro could work for this, but it was harder to figure out the
    // identity using it.

    // This is the identity layout.
/*
{ \
 { {0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0} }, \
 { {0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1} }, \
 { {0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2} }, \
 { {0, 3}, {2, 3}, {3, 3}, {4, 3} },         \
    \
 { {0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4} }, \
 { {0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5} }, \
 { {0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6} }, \
 { {0, 7}, {1, 7}, {2, 7}, {4, 7},           \
};
*/

    // This is the mirror, q <-> p, w <-> o, etc...
{ \
 { {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4} }, \
 { {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5} }, \
 { {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6} }, \
 { {4, 7},         {2, 7}, {1, 7}, {0, 7} }, \
                                             \
 { {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0} }, \
 { {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1} }, \
 { {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2} }, \
 { {4, 3}, {3, 3}, {2, 3},         {0, 3} }, \
};

#endif //SWAP_HANDS_ENABLE