Skip to content

Commit 410686d

Browse files
rooski15drashnafauxpark
authored
[Keyboard] Add blockboy/ac980mini keyboard (#16839)
Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]>
1 parent e13bb58 commit 410686d

File tree

9 files changed

+492
-0
lines changed

9 files changed

+492
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
/* Copyright 2022 rooski15
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+
17+
#include "ac980mini.h"
18+
19+
#ifdef RGB_MATRIX_ENABLE
20+
// LED location configuration
21+
led_config_t g_led_config = { {
22+
23+
{ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80 },
24+
{ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, NO_LED },
25+
{ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, NO_LED, 41, 42, 43, 44, 45 },
26+
{ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, NO_LED, 24, 25, 26, 27, 28, NO_LED },
27+
{ 0, 1, 2, NO_LED, NO_LED, 3, NO_LED, NO_LED, NO_LED, 4, 5, 6, 7, 8, 9, 10, 11, 12 }
28+
29+
},{
30+
31+
// Physical X,Y coordinates of each LED, starting with LED 0 above.
32+
{ 1 , 64 }, { 16 , 64 }, { 31 , 64 }, { 75 , 64 }, { 123 , 64 }, { 132 , 64 }, { 144 , 64 }, { 159 , 64 }, { 171 , 64 }, { 183 , 64 }, { 198 , 64 }, { 210 , 64 }, { 224 , 64 },
33+
{ 7 , 48 }, { 27 , 48 }, { 39 , 48 }, { 51 , 48 }, { 63 , 48 }, { 75 , 48 }, { 87 , 48 }, { 99 , 48 }, { 111 , 48 }, { 123 , 48 }, { 135 , 48 }, { 151 , 48 }, { 171 , 48 }, { 186 , 48 }, { 198 , 48 }, { 210 , 48 },
34+
{ 4 , 36 }, { 20 , 36 }, { 32 , 36 }, { 44 , 36 }, { 56 , 36 }, { 68 , 36 }, { 80 , 36 }, { 92 , 36 }, { 104 , 36 }, { 116 , 36 }, { 128 , 36 }, { 140 , 36 }, { 160 , 36 }, { 186 , 36 }, { 198 , 36 }, { 210 , 36 }, { 224 , 36 },
35+
{ 3 , 16 }, { 18 , 16 }, { 30 , 16 }, { 42 , 16 }, { 54 , 16 }, { 66 , 16 }, { 78 , 16 }, { 90 , 16 }, { 102 , 16 }, { 114 , 16 }, { 126 , 16 }, { 138 , 16 }, { 150 , 16 }, { 165 , 16 }, { 186 , 16 }, { 198 , 16 }, { 210 , 16 },
36+
{ 0 , 0 }, { 12 , 0 }, { 24 , 0 }, { 36 , 0 }, { 48 , 0 }, { 60 , 0 }, { 72 , 0 }, { 84 , 0 }, { 96 , 0 }, { 108 , 0 }, { 120 , 0 }, { 132 , 0 }, { 144 , 0 }, { 162 , 0 }, { 186 , 0 }, { 198 , 0 }, { 210 , 0 }, { 224 , 0 },
37+
38+
},{
39+
// "Flag Assignment" of each key
40+
// 4 = Alpha
41+
// 1 = Mod
42+
// See https://docs.qmk.fm/#/feature_rgb_matrix?id=flags
43+
// No Caps / Num indicators
44+
1,1,1, 1, 1,1,1, 1,1,1, 4,4,1,
45+
1,4,4,4,4,4,4,4,4,4,4,1, 1, 4,4,4,
46+
1,4,4,4,4,4,4,4,4,4,4,4,1, 4,4,4,1,
47+
1,4,4,4,4,4,4,4,4,4,4,4,4,4, 4,4,4,
48+
1,4,4,4,4,4,4,4,4,4,4,4,4,1, 1,1,1,1
49+
50+
} };
51+
/*
52+
53+
*/
54+
#endif
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/* Copyright 2022 rooski15
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+
17+
#pragma once
18+
19+
#include "quantum.h"
20+
21+
#define ___ KC_NO
22+
23+
#define LAYOUT( \
24+
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, \
25+
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
26+
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, K2F, K2G, K2H, \
27+
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, K3E, K3F, K3G, \
28+
K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H \
29+
) { \
30+
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H }, \
31+
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, ___ }, \
32+
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D, K2E, K2F, K2G, K2H }, \
33+
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, ___, K3C, K3D, K3E, K3F, K3G, ___ }, \
34+
{ K40, K41, K42, ___, ___, K45, ___, ___, ___, K49, K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H }, \
35+
}

keyboards/blockboy/ac980mini/config.h

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
// Copyright 2022 rooski15 (@rooski15)
2+
// SPDX-License-Identifier: GPL-2.0-or-later
3+
4+
#pragma once
5+
#include "config_common.h"
6+
7+
// RGB configuration
8+
#define RGB_DI_PIN B7
9+
// The number of LEDs connected
10+
#define DRIVER_LED_TOTAL 81
11+
//#ifdef RGB_DI_PIN
12+
# define RGBLED_NUM 81
13+
14+
#ifdef RGB_MATRIX_ENABLE
15+
//# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
16+
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
17+
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
18+
# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
19+
//# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
20+
// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
21+
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
22+
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
23+
# define RGB_MATRIX_HUE_STEP 8
24+
# define RGB_MATRIX_SAT_STEP 8
25+
# define RGB_MATRIX_VAL_STEP 8
26+
# define RGB_MATRIX_SPD_STEP 10
27+
28+
/* Enable the animations you want/need. You may need to enable only a small number of these because *
29+
* they take up a lot of space. Enable and confirm that you can still successfully compile your firmware. */
30+
// RGB Matrix Animation modes. Explicitly enabled
31+
// For full list of effects, see:
32+
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
33+
# define ENABLE_RGB_MATRIX_ALPHAS_MODS
34+
# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
35+
# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
36+
# define ENABLE_RGB_MATRIX_BREATHING
37+
# define ENABLE_RGB_MATRIX_BAND_SAT
38+
# define ENABLE_RGB_MATRIX_BAND_VAL
39+
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
40+
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
41+
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
42+
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
43+
# define ENABLE_RGB_MATRIX_CYCLE_ALL
44+
# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
45+
# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
46+
# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
47+
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
48+
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
49+
# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
50+
# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
51+
# define ENABLE_RGB_MATRIX_DUAL_BEACON
52+
# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
53+
# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
54+
# define ENABLE_RGB_MATRIX_RAINDROPS
55+
# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
56+
# define ENABLE_RGB_MATRIX_HUE_BREATHING
57+
# define ENABLE_RGB_MATRIX_HUE_PENDULUM
58+
# define ENABLE_RGB_MATRIX_HUE_WAVE
59+
# define ENABLE_RGB_MATRIX_PIXEL_RAIN
60+
# define ENABLE_RGB_MATRIX_PIXEL_FLOW
61+
# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
62+
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
63+
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
64+
# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
65+
// enabled only if RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
66+
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
67+
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
68+
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
69+
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
70+
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
71+
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
72+
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
73+
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
74+
# define ENABLE_RGB_MATRIX_SPLASH
75+
# define ENABLE_RGB_MATRIX_MULTISPLASH
76+
# define ENABLE_RGB_MATRIX_SOLID_SPLASH
77+
# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
78+
#endif
79+
80+
/*
81+
* Feature disable options
82+
* These options are also useful to firmware size reduction.
83+
*/
84+
85+
/* disable debug print */
86+
//#define NO_DEBUG
87+
88+
/* disable print */
89+
//#define NO_PRINT
90+
91+
/* disable action features */
92+
//#define NO_ACTION_LAYER
93+
//#define NO_ACTION_TAPPING
94+
//#define NO_ACTION_ONESHOT
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
{
2+
"manufacturer": "blockboy",
3+
"keyboard_name": "AC980Mini",
4+
"maintainer": "rooski15",
5+
"bootloader": "atmel-dfu",
6+
"diode_direction": "COL2ROW",
7+
"matrix_pins": {
8+
"cols": ["D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "B0", "B1", "B2", "B3"],
9+
"rows": ["D0", "D1", "D2", "D3", "D5"]
10+
},
11+
"processor": "atmega32u4",
12+
"url": "",
13+
"usb": {
14+
"device_version": "1.0.0",
15+
"pid": "0x6060",
16+
"vid": "0xFEED"
17+
},
18+
"layouts": {
19+
"LAYOUT_all": {
20+
"layout": [
21+
{ "matrix": [0, 0], "x": 0, "y": 0 },
22+
{ "matrix": [0, 1], "x": 1, "y": 0 },
23+
{ "matrix": [0, 2], "x": 2, "y": 0 },
24+
{ "matrix": [0, 3], "x": 3, "y": 0 },
25+
{ "matrix": [0, 4], "x": 4, "y": 0 },
26+
{ "matrix": [0, 5], "x": 5, "y": 0 },
27+
{ "matrix": [0, 6], "x": 6, "y": 0 },
28+
{ "matrix": [0, 7], "x": 7, "y": 0 },
29+
{ "matrix": [0, 8], "x": 8, "y": 0 },
30+
{ "matrix": [0, 9], "x": 9, "y": 0 },
31+
{ "matrix": [0, 10], "x": 10, "y": 0 },
32+
{ "matrix": [0, 11], "x": 11, "y": 0 },
33+
{ "matrix": [0, 12], "x": 12, "y": 0 },
34+
{ "matrix": [0, 13], "w": 2, "x": 13, "y": 0 },
35+
{ "matrix": [0, 14], "x": 15.5, "y": 0 },
36+
{ "matrix": [0, 15], "x": 16.5, "y": 0 },
37+
{ "matrix": [0, 16], "x": 17.5, "y": 0 },
38+
{ "matrix": [0, 17], "x": 18.5, "y": 0 },
39+
40+
{ "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
41+
{ "matrix": [1, 1], "x": 1.5, "y": 1 },
42+
{ "matrix": [1, 2], "x": 2.5, "y": 1 },
43+
{ "matrix": [1, 3], "x": 3.5, "y": 1 },
44+
{ "matrix": [1, 4], "x": 4.5, "y": 1 },
45+
{ "matrix": [1, 5], "x": 5.5, "y": 1 },
46+
{ "matrix": [1, 6], "x": 6.5, "y": 1 },
47+
{ "matrix": [1, 7], "x": 7.5, "y": 1 },
48+
{ "matrix": [1, 8], "x": 8.5, "y": 1 },
49+
{ "matrix": [1, 9], "x": 9.5, "y": 1 },
50+
{ "matrix": [1, 10], "x": 10.5, "y": 1 },
51+
{ "matrix": [1, 11], "x": 11.5, "y": 1 },
52+
{ "matrix": [1, 12], "x": 12.5, "y": 1 },
53+
{ "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
54+
{ "matrix": [1, 14], "x": 15.5, "y": 1 },
55+
{ "matrix": [1, 15], "x": 16.5, "y": 1 },
56+
{ "matrix": [1, 16], "x": 17.5, "y": 1 },
57+
58+
{ "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
59+
{ "matrix": [2, 1], "x": 1.75, "y": 2 },
60+
{ "matrix": [2, 2], "x": 2.75, "y": 2 },
61+
{ "matrix": [2, 3], "x": 3.75, "y": 2 },
62+
{ "matrix": [2, 4], "x": 4.75, "y": 2 },
63+
{ "matrix": [2, 5], "x": 5.75, "y": 2 },
64+
{ "matrix": [2, 6], "x": 6.75, "y": 2 },
65+
{ "matrix": [2, 7], "x": 7.75, "y": 2 },
66+
{ "matrix": [2, 8], "x": 8.75, "y": 2 },
67+
{ "matrix": [2, 9], "x": 9.75, "y": 2 },
68+
{ "matrix": [2, 10], "x": 10.75, "y": 2 },
69+
{ "matrix": [2, 11], "x": 11.75, "y": 2 },
70+
{ "matrix": [2, 12], "w": 2.25, "x": 12.75, "y": 2 },
71+
{ "matrix": [2, 14], "x": 15.5, "y": 2 },
72+
{ "matrix": [2, 15], "x": 16.5, "y": 2 },
73+
{ "matrix": [2, 16], "x": 17.5, "y": 2 },
74+
{ "h": 2, "matrix": [2, 17], "x": 18.5, "y": 1 },
75+
76+
{ "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
77+
{ "matrix": [3, 1], "x": 2.25, "y": 3 },
78+
{ "matrix": [3, 2], "x": 3.25, "y": 3 },
79+
{ "matrix": [3, 3], "x": 4.25, "y": 3 },
80+
{ "matrix": [3, 4], "x": 5.25, "y": 3 },
81+
{ "matrix": [3, 5], "x": 6.25, "y": 3 },
82+
{ "matrix": [3, 6], "x": 7.25, "y": 3 },
83+
{ "matrix": [3, 7], "x": 8.25, "y": 3 },
84+
{ "matrix": [3, 8], "x": 9.25, "y": 3 },
85+
{ "matrix": [3, 9], "x": 10.25, "y": 3 },
86+
{ "matrix": [3, 10], "x": 11.25, "y": 3 },
87+
{ "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 },
88+
{ "matrix": [3, 13], "x": 14.25, "y": 3.25 },
89+
{ "matrix": [3, 14], "x": 15.5, "y": 3 },
90+
{ "matrix": [3, 15], "x": 16.5, "y": 3 },
91+
{ "matrix": [3, 16], "x": 17.5, "y": 3 },
92+
93+
{ "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
94+
{ "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
95+
{ "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
96+
{ "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 },
97+
{ "matrix": [4, 9], "x": 10, "y": 4 },
98+
{ "matrix": [4, 10], "x": 11, "y": 4 },
99+
{ "matrix": [4, 11], "x": 12, "y": 4 },
100+
{ "matrix": [4, 12], "x": 13.25, "y": 4.25 },
101+
{ "matrix": [4, 13], "x": 14.25, "y": 4.25 },
102+
{ "matrix": [4, 14], "x": 15.25, "y": 4.25 },
103+
{ "matrix": [4, 15], "x": 16.5, "y": 4 },
104+
{ "matrix": [4, 16], "x": 17.5, "y": 4 },
105+
{ "h": 2, "matrix": [4, 17], "x": 18.5, "y": 3 },
106+
]
107+
}
108+
}
109+
}

0 commit comments

Comments
 (0)