]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/kinesis/stapelberg/stapelberg.h
Kinesis refactor and Configurator update (#3245)
[qmk_firmware.git] / keyboards / kinesis / stapelberg / stapelberg.h
1 #ifndef KINESIS_STAPELBERG_H
2 #define KINESIS_STAPELBERG_H
3
4 #include "quantum.h"
5
6 #define ___ KC_NO
7
8 // This a shortcut to help you visually see your layout.
9 // The first section contains all of the arguments as on the physical keyboard
10 // The second converts the arguments into the 2-D scanned array
11
12 #define LAYOUT(                                   \
13     kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2,  \
14     k00, k10, k20, k30, k40, k50,                 \
15     k01, k11, k21, k31, k41, k51,                 \
16     k02, k12, k22, k32, k42, k52,                 \
17     k03, k13, k23, k33, k43, k53,                 \
18          k14, k24, k34, k54,                      \
19                              k56, k55,            \
20                                   k35,            \
21                         k36, k46, k25,            \
22                                                   \
23     kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5,  \
24                    k60, k70, k80, k90, kA0, kB0,  \
25                    k61, k71, k81, k91, kA1, kB1,  \
26                    k62, k72, k82, k92, kA2, kB2,  \
27                    k63, k73, k83, k93, kA3, kB3,  \
28                         k64, k84, k94, kA4,       \
29               k96, k85,                           \
30               k86,                                \
31               k66, k75, k65                       \
32 ) {                                              \
33     { k00,  k01,  k02,  k03,  ___,  ___,  ___ }, \
34     { k10,  k11,  k12,  k13,  k14,  ___,  ___ }, \
35     { k20,  k21,  k22,  k23,  k24,  k25,  ___ }, \
36     { k30,  k31,  k32,  k33,  k34,  k35,  k36 }, \
37     { k40,  k41,  k42,  k43,  ___,  ___,  k46 }, \
38     { k50,  k51,  k52,  k53,  k54,  k55,  k56 }, \
39     { k60,  k61,  k62,  k63,  k64,  k65,  k66 }, \
40     { k70,  k71,  k72,  k73,  ___,  k75,  ___ }, \
41     { k80,  k81,  k82,  k83,  k84,  k85,  k86 }, \
42     { k90,  k91,  k92,  k93,  k94,  ___,  k96 }, \
43     { kA0,  kA1,  kA2,  kA3,  kA4,  ___,  ___ }, \
44     { kB0,  kB1,  kB2,  kB3,  ___,  ___,  ___ }, \
45     { kC0,  kC1,  kC2,  kC3,  kC4,  kC5,  ___ }, \
46     { kD0,  kD1,  kD2,  kD3,  kD4,  kD5,  ___ }, \
47     { kE0,  kE1,  kE2,  kE3,  kE4,  kE5,  ___ } \
48 }
49
50 /*  ---------------- LEFT HAND -----------------   ---------------- RIGHT HAND ---------------- */
51 #define LAYOUT_pretty(                                                                           \
52     kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2,   kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5,  \
53     k00, k10, k20, k30, k40, k50,                            k60, k70, k80, k90, kA0, kB0,       \
54     k01, k11, k21, k31, k41, k51,                            k61, k71, k81, k91, kA1, kB1,       \
55     k02, k12, k22, k32, k42, k52,                            k62, k72, k82, k92, kA2, kB2,       \
56     k03, k13, k23, k33, k43, k53,                            k63, k73, k83, k93, kA3, kB3,       \
57          k14, k24, k34, k54,                                      k64, k84, k94, kA4,            \
58                              k56, k55,                  k96, k85,                                \
59                                   k35,                  k86,                                     \
60                         k36, k46, k25,                  k66, k75, k65                            \
61 ) {                                              \
62     { k00,  k01,  k02,  k03,  ___,  ___,  ___ }, \
63     { k10,  k11,  k12,  k13,  k14,  ___,  ___ }, \
64     { k20,  k21,  k22,  k23,  k24,  k25,  ___ }, \
65     { k30,  k31,  k32,  k33,  k34,  k35,  k36 }, \
66     { k40,  k41,  k42,  k43,  ___,  ___,  k46 }, \
67     { k50,  k51,  k52,  k53,  k54,  k55,  k56 }, \
68     { k60,  k61,  k62,  k63,  k64,  k65,  k66 }, \
69     { k70,  k71,  k72,  k73,  ___,  k75,  ___ }, \
70     { k80,  k81,  k82,  k83,  k84,  k85,  k86 }, \
71     { k90,  k91,  k92,  k93,  k94,  ___,  k96 }, \
72     { kA0,  kA1,  kA2,  kA3,  kA4,  ___,  ___ }, \
73     { kB0,  kB1,  kB2,  kB3,  ___,  ___,  ___ }, \
74     { kC0,  kC1,  kC2,  kC3,  kC4,  kC5,  ___ }, \
75     { kD0,  kD1,  kD2,  kD3,  kD4,  kD5,  ___ }, \
76     { kE0,  kE1,  kE2,  kE3,  kE4,  kE5,  ___ }  \
77 }
78
79 /*
80 This is the Stapelberg matrix as published at
81 https://github.com/stapelberg/kinesis-firmware/blob/master/kb_kinesis/config.kspec
82 Along with the pins for each row and column
83              PB0 PB1 PB2 PB3 PB4 PB5 PB6
84              kx0 kx1 kx2 kx3 kx4 kx5 kx6
85 PD0 k0x Row: EQL TAB CAP LSH X2  --  --
86 PD1 k1x Row: 1   Q   A   Z   BQ  --  --
87 PD2 k2x Row: 2   W   S   X   INS END --
88 PD3 k3x Row: 3   E   D   C   LFT HOM BAK
89 PD4 k4x Row: 4   R   F   V   --  --  DEL
90 PD5 k5x Row: 5   T   G   B   RT  LAL LCT
91 PD6 k6x Row: 6   Y   H   N   UP  SPC PGD
92 PD7 k7x Row: 7   U   J   M   --  RET --
93 PC0 k8x Row: 8   I   K   COM DWN RCT PGU
94 PC1 k9x Row: 9   O   L   PER LBR --  RAL
95 PC2 kAx Row: 0   P   SEM SLA RBR --  --
96 PC3 kBx Row: MIN BSL APO RSH X1  --  --
97 PC4 kCx Row: ESC F3  F6  F9  F12 PAU --
98 PC5 kDx Row: F1  F4  F7  F10 PRT PRG --
99 PC6 kEx Row: F2  F5  F8  F11 SLK KEY --
100 */
101
102
103
104 #endif