]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/ergoinu/config.h
Keyboard: add ergoinu keyboard (#3655)
[qmk_firmware.git] / keyboards / ergoinu / config.h
1 /*
2 Copyright 2012 Jun Wako <wakojun@gmail.com>
3 Copyright 2015 Jack Humbert
4 Copyright 2018 Takuya Urakawa<twitter:@hsgw>
5
6 This program is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 */
19
20 #pragma once
21
22 #include "config_common.h"
23 #include <serial_config.h>
24
25 /* USB Device descriptor parameter
26    VID & PID are lisenced from microchip sublisence program, Don't use other project! */
27 #define VENDOR_ID       0x04D8
28 #define PRODUCT_ID      0xEE60
29 #define DEVICE_VER      0x0001
30 #define MANUFACTURER    Dm9Records
31 #define PRODUCT         ergoinu
32 #define DESCRIPTION     An (Not Portable But Small) Ergonomic split keyboard
33
34
35 #define PREVENT_STUCK_MODIFIERS
36 #define TAPPING_FORCE_HOLD
37 #define TAPPING_TERM 100
38
39 #define USE_SERIAL
40
41 /* Select hand configuration */
42 #define MASTER_LEFT
43 // #define MASTER_RIGHT
44 // #define EE_HANDS
45
46 /* key matrix size */
47 // Rows are doubled-up
48 #define MATRIX_ROWS 10
49 #define MATRIX_ROW_PINS { F6, F7, B1, B3, B2 }
50
51 // wiring of each half
52 #define MATRIX_COLS 7
53 #define MATRIX_COL_PINS { B4, E6, D7, C6, D4, F5, F4 }
54
55 /* define if matrix has ghost */
56 //#define MATRIX_HAS_GHOST
57
58 /* number of backlight levels */
59 // #define BACKLIGHT_LEVELS 3
60
61 /* Set 0 if debouncing isn't needed */
62 #define DEBOUNCING_DELAY 5
63
64 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
65 //#define LOCKING_SUPPORT_ENABLE
66 /* Locking resynchronize hack */
67 //#define LOCKING_RESYNC_ENABLE
68
69 /* key combination for command */
70 #define IS_COMMAND() ( \
71     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
72 )
73
74 /* ws2812 RGB LED */
75 #define RGB_DI_PIN B6
76
77 #define RGBLED_NUM 7
78
79 #ifndef IOS_DEVICE_ENABLE
80   #if RGBLED_NUM <= 7
81     #define RGBLIGHT_LIMIT_VAL 255
82     #define RGBLIGHT_VAL_STEP 17
83   #endif
84 #else
85   #define RGBLIGHT_LIMIT_VAL 90
86   #define RGBLIGHT_VAL_STEP 4
87 #endif
88
89 #define RGBLIGHT_HUE_STEP 10
90 #define RGBLIGHT_SAT_STEP 17
91
92 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
93   #define USB_MAX_POWER_CONSUMPTION 500
94 #else
95   // fix iPhone and iPad power adapter issue
96   // iOS device need lessthan 100
97   #define USB_MAX_POWER_CONSUMPTION 100
98 #endif
99
100 /*
101  * Feature disable options
102  *  These options are also useful to firmware size reduction.
103  */
104
105 /* disable debug print */
106 // #define NO_DEBUG
107
108 /* disable print */
109 // #define NO_PRINT
110
111 /* disable action features */
112 //#define NO_ACTION_LAYER
113 //#define NO_ACTION_TAPPING
114 //#define NO_ACTION_ONESHOT
115 //#define NO_ACTION_MACRO
116 //#define NO_ACTION_FUNCTION