aboutsummaryrefslogtreecommitdiff
path: root/keyboards/amj40/amj40.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/amj40/amj40.h')
-rwxr-xr-xkeyboards/amj40/amj40.h109
1 files changed, 109 insertions, 0 deletions
diff --git a/keyboards/amj40/amj40.h b/keyboards/amj40/amj40.h
new file mode 100755
index 000000000..14ea38381
--- /dev/null
+++ b/keyboards/amj40/amj40.h
@@ -0,0 +1,109 @@
1/* Copyright 2017 Fabian Topfstedt
2 * Copyright 2021 James Young (@noroadsleft)
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#pragma once
19
20#include "quantum.h"
21
22#define XXX KC_NO
23
24/* AMJ40 ver2.0 staggered layouts
25 * ,-----------------------------------------------.
26 * |00 |01 |02 |03 |04 |05 |06 |07 |08 |09 |0a |0b |
27 * |-----------------------------------------------|
28 * |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |1b |
29 * |-----------------------------------------------|
30 * |20 |22 |23 |24 |25 |26 |27 |28 |29 |2a |2b |
31 * |-----------------------------------------------|
32 * |30 |31 |32 | 34 |35 |39 |3a |3b | Layout 1 Bottom Row
33 * `-----------------------------------------------'
34 * ,-----------------------------------------------.
35 * |30 |31 |32 | 35 |3a |3b | Layout 2
36 * `-----------------------------------------------'
37 * ,-----------------------------------------------.
38 * |30 |31 |32 | 34 | 35 |39 |3a |3b | Layout 3
39 * `-----------------------------------------------'
40 * ,-----------------------------------------------.
41 * |30 |31 |32 | 35 |3a |3b | Layout 4
42 * `-----------------------------------------------'
43 */
44
45// a.k.a. Layout 1 or Layout 3 (matrix is the same for both)
46#define LAYOUT( \
47 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
48 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1b, \
49 k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
50 k30, k31, k32, k34, k35, k39, k3a, k3b \
51) { \
52 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b}, \
53 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, XXX, k1b}, \
54 {k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b}, \
55 {k30, k31, k32, XXX, k34, k35, XXX, XXX, XXX, k39, k3a, k3b} \
56}
57
58// a.k.a. Layout 2 or Layout 4 (matrix is the same for both)
59#define LAYOUT_625u_space( \
60 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
61 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1b, \
62 k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
63 k30, k31, k32, k35, k3a, k3b \
64) { \
65 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
66 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, XXX, k1b }, \
67 { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
68 { k30, k31, k32, XXX, XXX, k35, XXX, XXX, XXX, XXX, k3a, k3b } \
69}
70
71/* AMJ40 ver2.0 ortholinear layouts
72 * ,-----------------------------------------------.
73 * |00 |01 |02 |03 |04 |05 |06 |07 |08 |09 |0a |0b |
74 * |-----------------------------------------------|
75 * |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |1a |1b |
76 * |-----------------------------------------------|
77 * |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 |2a |2b |
78 * |-----------------------------------------------|
79 * |30 |31 |32 |33 |34 | 35 |38 |39 |3a |3b | 2.75u Spacebar
80 * `-----------------------------------------------'
81 * ,-----------------------------------------------.
82 * |30 |31 |32 | 35 |39 |3a |3b | 6u Spacebar
83 * `-----------------------------------------------'
84 */
85
86// equivalent to LAYOUT_all
87#define LAYOUT_ortho_275u_space( \
88 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
89 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
90 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
91 k30, k31, k32, k33, k34, k35, k38, k39, k3a, k3b \
92) { \
93 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
94 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
95 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
96 { k30, k31, k32, k33, k34, k35, XXX, XXX, k38, k39, k3a, k3b } \
97}
98
99#define LAYOUT_ortho_600u_space( \
100 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
101 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
102 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
103 k30, k31, k32, k35, k39, k3a, k3b \
104) { \
105 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
106 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
107 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
108 { k30, k31, k32, XXX, XXX, k35, XXX, XXX, XXX, k39, k3a, k3b } \
109}