]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/clueboard/66_hotswap/gen1/gen1.c
Clueboard 66% Hotswap Support (#5204)
[qmk_firmware.git] / keyboards / clueboard / 66_hotswap / gen1 / gen1.c
1 /* Copyright 2017 Clueboard <info@clueboard.co>
2  *
3  * This program is free software: you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License as published by
5  * the Free Software Foundation, either version 2 of the License, or
6  * (at your option) any later version.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
15  */
16 #include "gen1.h"
17 #include "is31fl3731-simple.h"
18
19 void matrix_init_kb(void) {
20 }
21
22 void matrix_scan_kb(void) {
23 }
24
25 #ifdef LED_MATRIX_ENABLE
26 const is31_led g_is31_leds[LED_DRIVER_LED_COUNT] = {
27 /* Refer to IS31 manual for these locations
28  *  driver
29  *  |   LED address
30  *  |   | */
31     {0, C1_1},  // k00  KC_GESC
32     {0, C1_2},  // k01 KC_1
33     {0, C1_3},  // k02 KC_2
34     {0, C1_4},  // k03 KC_3
35     {0, C1_5},  // k04 KC_4
36     {0, C1_6},  // k05 KC_5
37     {0, C1_7},  // k06 KC_6
38     {0, C1_8},  // k07 KC_7
39     {0, C1_9},  // k50 KC_8
40     {0, C1_10}, // k51 KC_9
41     {0, C1_11}, // k52 KC_0
42     {0, C1_12}, // k53 KC_MINS
43     {0, C1_13}, // k54 KC_EQL
44     {0, C1_14}, // k55 KC_BSPC
45     {0, C1_15}, // k57 KC_PGUP
46     {0, C2_1},  // k10 KC_TAB
47     {0, C2_2},  // k11 KC_Q
48     {0, C2_3},  // k12 KC_W
49     {0, C2_4},  // k13 KC_E
50     {0, C2_5},  // k14 KC_R
51     {0, C2_6},  // k15 KC_T
52     {0, C2_7},  // k16 KC_Y
53     {0, C2_8},  // k17 KC_U
54     {0, C2_9},  // k60 KC_I
55     {0, C2_10}, // k61 KC_O
56     {0, C2_11}, // k62 KC_P
57     {0, C2_12}, // k63 KC_LBRC
58     {0, C2_13}, // k64 KC_RBRC
59     {0, C2_14}, // k65 KC_BSLS
60     {0, C2_15}, // k67 KC_PGDN
61     {0, C3_1},  // k20 KC_CAPS
62     {0, C3_2},  // k21 KC_A
63     {0, C3_3},  // k22 KC_S
64     {0, C3_4},  // k23 KC_D
65     {0, C3_5},  // k24 KC_F
66     {0, C3_6},  // k25 KC_G
67     {0, C3_7},  // k26 KC_H
68     {0, C3_8},  // k27 KC_J
69     {0, C3_9},  // k70 KC_K
70     {0, C3_10}, // k71 KC_L
71     {0, C3_11}, // k72 KC_SCLN
72     {0, C3_12}, // k73 KC_QUOT
73     {0, C3_14}, // k75 KC_ENT
74     {0, C4_1},  // k30 KC_LSFT
75     {0, C4_3},  // k32 KC_Z
76     {0, C4_4},  // k33 KC_X
77     {0, C4_5},  // k34 KC_C
78     {0, C4_6},  // k35 KC_V
79     {0, C4_7},  // k36 KC_B
80     {0, C4_8},  // k37 KC_N
81     {0, C4_9},  // k80 KC_M
82     {0, C4_10}, // k81 KC_COMM
83     {0, C4_11}, // k82 KC_DOT
84     {0, C4_12}, // k83 KC_SLSH
85     {0, C4_13}, // k85 KC_RSFT
86     {0, C4_14}, // k86 KC_UP
87     {0, C5_1},  // k40 KC_LCTL
88     {0, C5_2},  // k41 KC_LGUI
89     {0, C5_3},  // k42 KC_LALT
90     {0, C5_4},  // Unassociated between LALT and SPACE_2.75
91     {0, C5_5},  // k45 KC_SPC SPACE_2.75
92     {0, C5_6},  // k45 KC_SPC SPACE_6.75
93     {0, C5_7},  // k46 KC_SPC SPACE_2.25
94     {0, C5_8},  // Unassociated between SPACE_2.25 and SPACE_1.25
95     {0, C5_9},  // k90 KC_RGUI
96     {0, C5_10}, // k92 KC_RALT
97     {0, C5_11}, // k93 MO(_FL)
98     {0, C5_12}, // k94 KC_RCTL
99     {0, C5_13}, // k95 KC_LEFT
100     {0, C5_14}, // k96 KC_DOWN
101     {0, C5_15}  // k97 KC_RGHT
102 };
103
104 const led_matrix g_leds[LED_DRIVER_LED_COUNT] = {
105
106     /*{row | col << 4}
107       |            LED_ROW_COL(row, col)
108       |             |            modifier
109       |             |            | */
110     {{0|(1<<4)},   {0, 0}, 1},           // k00  KC_GESC
111     {{0|(2<<4)},   {14.45, 0}, 0},       // k01 KC_1
112     {{0|(3<<4)},   {28.9, 0}, 0},        // k02 KC_2
113     {{0|(4<<4)},   {43.35, 0}, 0},       // k03 KC_3
114     {{0|(5<<4)},   {57.8, 0}, 0},        // k04 KC_4
115     {{0|(6<<4)},   {72.25, 0}, 0},       // k05 KC_5
116     {{0|(7<<4)},   {86.7, 0}, 0},        // k06 KC_6
117     {{0|(8<<4)},   {101.2, 0}, 0},       // k07 KC_7
118     {{0|(9<<4)},   {115.6, 0}, 0},       // k50 KC_8
119     {{0|(10<<4)},  {130, 0}, 0},         // k51 KC_9
120     {{0|(11<<4)},  {144.5, 0}, 0},       // k52 KC_0
121     {{0|(12<<4)},  {159, 0}, 0},         // k53 KC_MINS
122     {{0|(13<<4)},  {173.4, 0}, 0},       // k54 KC_EQL
123     {{0|(14<<4)},  {195.1, 0}, 1},       // k55 KC_BSPC
124     {{0|(15<<4)},  {224, 0}, 1},         // k57 KC_PGUP
125
126     {{1|(0<<4)},   {3.6125, 16}, 1},     // k10 KC_TAB
127     {{1|(1<<4)},   {21.675, 16}, 0},     // k11 KC_Q
128     {{1|(2<<4)},   {36.125, 16}, 0},     // k12 KC_W
129     {{1|(3<<4)},   {50.575, 16}, 0},     // k13 KC_E
130     {{1|(4<<4)},   {65.025, 16}, 0},     // k14 KC_R
131     {{1|(5<<4)},   {79.475, 16}, 0},     // k15 KC_T
132     {{1|(6<<4)},   {93.925, 16}, 0},     // k16 KC_Y
133     {{1|(7<<4)},   {108.375, 16}, 0},    // k17 KC_U
134     {{1|(8<<4)},   {122.825, 16}, 0},    // k60 KC_I
135     {{1|(9<<4)},   {137.275, 16}, 0},    // k61 KC_O
136     {{1|(10<<4)},  {151.725, 16}, 0},    // k62 KC_P
137     {{1|(11<<4)},  {166.175, 16}, 0},    // k63 KC_LBRC
138     {{1|(12<<4)},  {180.625, 16}, 0},    // k64 KC_RBRC
139     {{1|(13<<4)},  {198.6875, 16}, 1},   // k65 KC_BSLS
140     {{1|(14<<4)},  {224, 16}, 1},        // k67 KC_PGDN
141
142     {{2|(0<<4)},   {5.41875, 32}, 1},    // k20 KC_CAPS
143     {{2|(1<<4)},   {25.2875, 32}, 0},    // k21 KC_A
144     {{2|(2<<4)},   {39.7375, 32}, 0},    // k22 KC_S
145     {{2|(3<<4)},   {54.1875, 32}, 0},    // k23 KC_D
146     {{2|(4<<4)},   {68.6375, 32}, 0},    // k24 KC_F
147     {{2|(5<<4)},   {83.0875, 32}, 0},    // k25 KC_G
148     {{2|(6<<4)},   {97.5375, 32}, 0},    // k26 KC_H
149     {{2|(7<<4)},   {111.9875, 32}, 0},   // k27 KC_J
150     {{2|(8<<4)},   {126.4375, 32}, 0},   // k70 KC_K
151     {{2|(9<<4)},   {140.8875, 32}, 0},   // k71 KC_L
152     {{2|(10<<4)},  {155.3375, 32}, 0},   // k72 KC_SCLN
153     {{2|(11<<4)},  {169.7875, 32}, 0},   // k73 KC_QUOT
154     {{2|(12<<4)},  {184.2375, 32}, 1},   // k75 KC_ENT
155
156     {{3|(0<<4)},   {16.25625, 48}, 1},   // k30 KC_LSFT
157     {{3|(1<<4)},   {32.5125, 48}, 0},    // k32 KC_Z
158     {{3|(2<<4)},   {46.9625, 48}, 0},    // k33 KC_X
159     {{3|(3<<4)},   {61.4125, 48}, 0},    // k34 KC_C
160     {{3|(4<<4)},   {75.8625, 48}, 0},    // k35 KC_V
161     {{3|(5<<4)},   {90.3125, 48}, 0},    // k36 KC_B
162     {{3|(6<<4)},   {104.7625, 48}, 0},   // k37 KC_N
163     {{3|(7<<4)},   {119.2125, 48}, 0},   // k80 KC_M
164     {{3|(8<<4)},   {133.6625, 48}, 0},   // k81 KC_COMM
165     {{3|(9<<4)},   {148.1125, 48}, 0},   // k82 KC_DOT
166     {{3|(10<<4)},  {162.5625, 48}, 0},   // k83 KC_SLSH
167     {{3|(11<<4)},  {187.85, 48}, 1},     // k85 KC_RSFT
168     {{3|(12<<4)},  {209.525, 48}, 1},    // k86 KC_UP
169
170     {{4|(0<<4)},   {9.03125, 64}, 1},    // k40 KC_LCTL
171     {{4|(1<<4)},   {27.09375, 64}, 1},   // k41 KC_LGUI
172     {{4|(2<<4)},   {45.15625, 64}, 1},   // k42 KC_LALT
173     {{4|(3<<4)},   {59.45, 64}, 1},      // Unassociated between LALT and SPACE_2.75
174     {{4|(4<<4)},   {73.9, 64}, 1},       // k45 KC_SPC SPACE_2.75
175     {{4|(5<<4)},   {88.35, 64}, 1},      // k45 KC_SPC SPACE_6.25
176     {{4|(6<<4)},   {102.8, 64}, 1},      // k46 KC_SPC SPACE_2.25
177     {{4|(7<<4)},   {117.40625, 64}, 1},  // Unassociated between SPACE_2.25 and SPACE_2.75
178     {{4|(8<<4)},   {135.46875, 64}, 1},  // k90 KC_RGUI
179     {{4|(9<<4)},   {153.53125, 64}, 1},  // k92 KC_RALT
180     {{4|(10<<4)},  {167.98125, 64}, 1},  // k93 MO(_FL)
181     {{4|(11<<4)},  {186.04375, 64}, 1},  // k94 KC_RCTL
182     {{4|(12<<4)},  {195.075, 64}, 1},    // k95 KC_LEFT
183     {{4|(13<<4)},  {209.525, 64}, 1},    // k96 KC_DOWN
184     {{4|(14<<4)},  {224, 64}, 1}         // k97 KC_RGHT
185 };
186 #endif