aboutsummaryrefslogtreecommitdiff
path: root/keyboards/zen/rev2/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/zen/rev2/config.h')
-rw-r--r--keyboards/zen/rev2/config.h98
1 files changed, 98 insertions, 0 deletions
diff --git a/keyboards/zen/rev2/config.h b/keyboards/zen/rev2/config.h
new file mode 100644
index 000000000..dc37472f6
--- /dev/null
+++ b/keyboards/zen/rev2/config.h
@@ -0,0 +1,98 @@
1/*
2Copyright 2017 Danny Nguyen <danny@hexwire.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20/* USB Device descriptor parameter */
21#define VENDOR_ID 0xFEED
22#define PRODUCT_ID 0x3061
23#define DEVICE_VER 0x0002
24#define MANUFACTURER Legonut
25#define PRODUCT "Project Zen"
26#define DESCRIPTION "Split gaming keyboard"
27
28/* key matrix size */
29// Rows are doubled-up
30
31// wiring of each half
32#ifdef CONVERT_TO_PROTON_C
33 #define MATRIX_ROWS 5
34 #define MATRIX_COLS 7
35#else
36 #define MATRIX_ROWS 10
37 #define MATRIX_COLS 7
38#endif
39
40// Proton-C does pin conversion
41#define MATRIX_ROW_PINS { C6, E6, B5, D7, B4 }
42#define MATRIX_COL_PINS { F4, F5, F6, F7, B3, B1, B2 }
43
44#define NUMBER_OF_ENCODERS 1
45
46#define ENCODERS_PAD_A { D4 }
47#define ENCODERS_PAD_B { D2 }
48
49#define RGB_DI_PIN B6
50#define SOFT_SERIAL_PIN D3
51
52/* COL2ROW or ROW2COL */
53#define DIODE_DIRECTION COL2ROW
54
55/* define if matrix has ghost */
56//#define MATRIX_HAS_GHOST
57
58/* Set 0 if debouncing isn't needed */
59#define DEBOUNCING_DELAY 5
60
61/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
62#define LOCKING_SUPPORT_ENABLE
63/* Locking resynchronize hack */
64#define LOCKING_RESYNC_ENABLE
65
66/* ws2812 RGB LED */
67#define RGBLED_NUM 34 // Number of LEDs
68
69// If using 90 Degree rotation, increase block cout
70#ifdef OLED_ROTATE90
71 #define OLED_DISPLAY_CUSTOM
72 #define OLED_DISPLAY_WIDTH 128
73 #define OLED_DISPLAY_HEIGHT 32
74 #define OLED_MATRIX_SIZE (OLED_DISPLAY_HEIGHT / 8 * OLED_DISPLAY_WIDTH) // 512 (compile time mathed)
75 #define OLED_BLOCK_TYPE uint16_t // Type to use for segmenting the oled display for smart rendering, use unsigned types only
76 #define OLED_BLOCK_COUNT (sizeof(OLED_BLOCK_TYPE) * 8) // 8 (compile time mathed)
77 #define OLED_BLOCK_SIZE (OLED_MATRIX_SIZE / OLED_BLOCK_COUNT) // 32 (compile time mathed)
78 #define OLED_SOURCE_MAP { 0, 8, 16, 24 }
79 #define OLED_TARGET_MAP { 24, 16, 8, 0 }
80#endif
81
82/*
83 * Feature disable options
84 * These options are also useful to firmware size reduction.
85 */
86
87/* disable debug print */
88// #define NO_DEBUG
89
90/* disable print */
91// #define NO_PRINT
92
93/* disable action features */
94//#define NO_ACTION_LAYER
95//#define NO_ACTION_TAPPING
96//#define NO_ACTION_ONESHOT
97//#define NO_ACTION_MACRO
98//#define NO_ACTION_FUNCTION