aboutsummaryrefslogtreecommitdiff
path: root/keyboards/idobao/id80/v3/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/idobao/id80/v3/config.h')
-rw-r--r--keyboards/idobao/id80/v3/config.h135
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/*
2Copyright 2020 Sergey Vlasov <sigprof@gmail.com>
3Copyright 2022 peepeetee
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along 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