diff options
Diffstat (limited to 'keyboards/idobao/id80/v3/config.h')
-rw-r--r-- | keyboards/idobao/id80/v3/config.h | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/keyboards/idobao/id80/v3/config.h b/keyboards/idobao/id80/v3/config.h new file mode 100644 index 000000000..06ca74a0e --- /dev/null +++ b/keyboards/idobao/id80/v3/config.h | |||
@@ -0,0 +1,135 @@ | |||
1 | /* | ||
2 | Copyright 2020 Sergey Vlasov <sigprof@gmail.com> | ||
3 | Copyright 2022 peepeetee | ||
4 | |||
5 | This program is free software: you can redistribute it and/or modify | ||
6 | it under the terms of the GNU General Public License as published by | ||
7 | the Free Software Foundation, either version 2 of the License, or | ||
8 | (at your option) any later version. | ||
9 | |||
10 | This program is distributed in the hope that it will be useful, | ||
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | GNU General Public License for more details. | ||
14 | |||
15 | You should have received a copy of the GNU General Public License | ||
16 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
17 | */ | ||
18 | |||
19 | #pragma once | ||
20 | |||
21 | #include "config_common.h" | ||
22 | |||
23 | /* USB Device descriptor parameter */ | ||
24 | #define VENDOR_ID 0x6964 /* "id" */ | ||
25 | #define PRODUCT_ID 0x0080 | ||
26 | #define DEVICE_VER 0x0003 | ||
27 | #define MANUFACTURER IDOBAO | ||
28 | #define PRODUCT ID80 v3 | ||
29 | |||
30 | |||
31 | /* key matrix size */ | ||
32 | #define MATRIX_ROWS 9 | ||
33 | #define MATRIX_COLS 11 | ||
34 | |||
35 | /* | ||
36 | * Keyboard Matrix Assignments | ||
37 | * | ||
38 | * Change this to how you wired your keyboard | ||
39 | * COLS: AVR pins used for columns, left to right | ||
40 | * ROWS: AVR pins used for rows, top to bottom | ||
41 | * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) | ||
42 | * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) | ||
43 | * | ||
44 | * The matrix description in the vendor-supplied JSON file for kbfirmware.com | ||
45 | * had 9 columns: | ||
46 | * { D0, D1, D2, D3, D5, D4, D6, D7, B4 } | ||
47 | * and 12 rows: | ||
48 | * { B7, B3, B2, B1, B0, E6, F0, F1, F4, F5, F6, F7 } | ||
49 | * However, the row 6 was completely empty, and the pin F0 was not actually | ||
50 | * routed anywhere on the PCB, therefore this row was removed to save some | ||
51 | * resources (the EEPROM space for dynamic keymaps is especially scarce). | ||
52 | * | ||
53 | * After doing the above change, the matrix was transposed (rows and columns | ||
54 | * were swapped), because a matrix with the COL2ROW layout can be scanned much | ||
55 | * more efficiently than a matrix with the ROW2COL layout (depending on various | ||
56 | * optimizations, the difference in scan rate can be over 2 times). Because of | ||
57 | * this, the "columns" in the matrix layout now mostly correspond to physical | ||
58 | * rows, and the "rows" have mostly vertical physical orientation. | ||
59 | */ | ||
60 | #define MATRIX_ROW_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4 } | ||
61 | #define MATRIX_COL_PINS { B7, B3, B2, B1, B0, E6, F1, F4, F5, F6, F7 } | ||
62 | |||
63 | #define DIODE_DIRECTION COL2ROW | ||
64 | |||
65 | |||
66 | #define RGB_DI_PIN B6 | ||
67 | # define DRIVER_LED_TOTAL 96 /* 16 Bottom 80 top*/ | ||
68 | #ifdef RGB_DI_PIN | ||
69 | # define RGBLED_NUM 96 /* 16 Bottom 80 top*/ | ||
70 | # define RGB_MATRIX_KEYPRESSES // reacts to keypresses | ||
71 | #endif | ||
72 | #ifdef RGB_MATRIX_ENABLE | ||
73 | # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value | ||
74 | // RGB Matrix Animation modes. Explicitly enabled | ||
75 | // For full list of effects, see: | ||
76 | // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects | ||
77 | # define RGB_MATRIX_FRAMEBUFFER_EFFECTS | ||
78 | # define RGB_MATRIX_KEYPRESSES | ||
79 | # define ENABLE_RGB_MATRIX_ALPHAS_MODS | ||
80 | # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN | ||
81 | # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT | ||
82 | # define ENABLE_RGB_MATRIX_BREATHING | ||
83 | # define ENABLE_RGB_MATRIX_BAND_SAT | ||
84 | # define ENABLE_RGB_MATRIX_BAND_VAL | ||
85 | # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT | ||
86 | # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL | ||
87 | # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT | ||
88 | # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL | ||
89 | # define ENABLE_RGB_MATRIX_CYCLE_ALL | ||
90 | # define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT | ||
91 | # define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN | ||
92 | # define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON | ||
93 | # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN | ||
94 | # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL | ||
95 | # define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL | ||
96 | # define ENABLE_RGB_MATRIX_CYCLE_SPIRAL | ||
97 | # define ENABLE_RGB_MATRIX_DUAL_BEACON | ||
98 | # define ENABLE_RGB_MATRIX_RAINBOW_BEACON | ||
99 | # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS | ||
100 | # define ENABLE_RGB_MATRIX_RAINDROPS | ||
101 | # define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS | ||
102 | # define ENABLE_RGB_MATRIX_HUE_BREATHING | ||
103 | # define ENABLE_RGB_MATRIX_HUE_PENDULUM | ||
104 | # define ENABLE_RGB_MATRIX_HUE_WAVE | ||
105 | # define ENABLE_RGB_MATRIX_PIXEL_RAIN | ||
106 | # define ENABLE_RGB_MATRIX_PIXEL_FLOW | ||
107 | # define ENABLE_RGB_MATRIX_PIXEL_FRACTAL | ||
108 | // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined | ||
109 | # define ENABLE_RGB_MATRIX_TYPING_HEATMAP | ||
110 | # define ENABLE_RGB_MATRIX_DIGITAL_RAIN | ||
111 | // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined | ||
112 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE | ||
113 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE | ||
114 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE | ||
115 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE | ||
116 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS | ||
117 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS | ||
118 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS | ||
119 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS | ||
120 | # define ENABLE_RGB_MATRIX_SPLASH | ||
121 | # define ENABLE_RGB_MATRIX_MULTISPLASH | ||
122 | # define ENABLE_RGB_MATRIX_SOLID_SPLASH | ||
123 | # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH | ||
124 | #endif | ||
125 | |||
126 | /* Bootmagic Lite key configuration: use the Esc key */ | ||
127 | #define BOOTMAGIC_LITE_ROW 0 | ||
128 | #define BOOTMAGIC_LITE_COLUMN 5 | ||
129 | |||
130 | #define ENCODERS_PAD_A { C7 } | ||
131 | #define ENCODERS_PAD_B { C6 } | ||
132 | |||
133 | |||
134 | |||
135 | |||