]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/helix/pico/config.h
Add user-overridable callback for cancelling UCIS input (#5564)
[qmk_firmware.git] / keyboards / helix / pico / config.h
1 /*
2 Copyright 2012 Jun Wako <wakojun@gmail.com>
3 Copyright 2015 Jack Humbert
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 #ifndef PICO_CONFIG_H
20 #define PICO_CONFIG_H
21
22 /* USB Device descriptor parameter */
23 #define VENDOR_ID       0xFEED
24 #define PRODUCT_ID      0x3060
25 #define DEVICE_VER      0x0002
26 #define MANUFACTURER    Yushakobo
27 #define PRODUCT         HelixPico
28 #define DESCRIPTION     A split keyboard for the cheap makers
29
30 #define TAPPING_FORCE_HOLD
31 #define TAPPING_TERM 100
32
33 /* Use I2C or Serial */
34 #define USE_I2C
35 #define USE_SERIAL
36 //#define USE_MATRIX_I2C
37
38 /* Select hand configuration */
39 #define MASTER_LEFT
40 // #define MASTER_RIGHT
41 // #define EE_HANDS
42
43 // Helix keyboard OLED support
44 //      see ./rules.mk: OLED_ENABLE=yes or no
45 #ifdef OLED_ENABLE
46   #define SSD1306OLED
47 #endif
48
49 /* key matrix size */
50 // Rows are doubled-up
51 #define MATRIX_ROWS 8
52 #define MATRIX_ROW_PINS { D4, C6, D7, E6 }
53
54 // wiring of each half
55 #define MATRIX_COLS 7
56 #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
57 // #define MATRIX_COL_PINS { B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
58
59 /* define if matrix has ghost */
60 //#define MATRIX_HAS_GHOST
61
62 /* number of backlight levels */
63 // #define BACKLIGHT_LEVELS 3
64
65 /* Set 0 if debouncing isn't needed */
66 #define DEBOUNCE 5
67
68 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
69 //#define LOCKING_SUPPORT_ENABLE
70 /* Locking resynchronize hack */
71 //#define LOCKING_RESYNC_ENABLE
72
73 /* Audio */
74 #ifdef AUDIO_ENABLE
75   #define B5_AUDIO
76 #endif
77
78 /* ws2812 RGB LED */
79 #define RGB_DI_PIN D3
80
81 //#define RGBLED_NUM 12    // Number of LEDs. see ./keymaps/default/config.h
82
83 // Helix keyboard RGB LED support
84 //#define RGBLIGHT_ANIMATIONS : see ./rules.mk: LED_ANIMATIONS = yes or no
85 //    see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes
86 #ifdef RGBLED_BACK
87   #define RGBLED_NUM 25
88 #else
89   #define RGBLED_NUM 6
90 #endif
91
92 #ifndef IOS_DEVICE_ENABLE
93   #if RGBLED_NUM <= 6
94     #define RGBLIGHT_LIMIT_VAL 255
95   #else
96     #define RGBLIGHT_LIMIT_VAL 130
97   #endif
98   #define RGBLIGHT_VAL_STEP 17
99 #else
100   #if RGBLED_NUM <= 6
101     #define RGBLIGHT_LIMIT_VAL 90
102   #else
103     #define RGBLIGHT_LIMIT_VAL 45
104   #endif
105   #define RGBLIGHT_VAL_STEP 4
106 #endif
107 #define RGBLIGHT_HUE_STEP 10
108 #define RGBLIGHT_SAT_STEP 17
109
110 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
111 // USB_MAX_POWER_CONSUMPTION value for Helix keyboard
112 //  120  RGBoff, OLEDoff
113 //  120  OLED
114 //  330  RGB 6
115 //  300  RGB 32
116 //  310  OLED & RGB 32
117   #define USB_MAX_POWER_CONSUMPTION 400
118 #else
119   // fix iPhone and iPad power adapter issue
120   // iOS device need lessthan 100
121   #define USB_MAX_POWER_CONSUMPTION 100
122 #endif
123
124 /*
125  * Feature disable options
126  *  These options are also useful to firmware size reduction.
127  */
128
129 /* disable debug print */
130 // #define NO_DEBUG
131
132 /* disable print */
133 // #define NO_PRINT
134
135 /* disable action features */
136 //#define NO_ACTION_LAYER
137 //#define NO_ACTION_TAPPING
138 //#define NO_ACTION_ONESHOT
139 //#define NO_ACTION_MACRO
140 //#define NO_ACTION_FUNCTION
141
142 #endif