aboutsummaryrefslogtreecommitdiff
path: root/keyboards/cannonkeys/chimera65/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/cannonkeys/chimera65/config.h')
-rw-r--r--keyboards/cannonkeys/chimera65/config.h89
1 files changed, 89 insertions, 0 deletions
diff --git a/keyboards/cannonkeys/chimera65/config.h b/keyboards/cannonkeys/chimera65/config.h
new file mode 100644
index 000000000..ace3565be
--- /dev/null
+++ b/keyboards/cannonkeys/chimera65/config.h
@@ -0,0 +1,89 @@
1/*
2Copyright 2015 Jun Wako <wakojun@gmail.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 0xCA04
22#define PRODUCT_ID 0xC024
23#define DEVICE_VER 0x0001
24/* in python2: list(u"whatever".encode('utf-16-le')) */
25/* at most 32 characters or the ugly hack in usb_main.c borks */
26#define MANUFACTURER CannonKeys
27#define PRODUCT Chimera65
28#define DESCRIPTION Chimera65 Keyboard
29
30/* key matrix size */
31#define MATRIX_ROWS 5
32#define MATRIX_COLS 16
33
34#define MATRIX_COL_PINS { B11, B10, B2, B1, A5, A4, A3, A2, A1, F0, C15, C14, A9, A8, A10, B3 }
35#define MATRIX_ROW_PINS { A13, A14, A15, C13, B8 }
36#define DIODE_DIRECTION COL2ROW
37
38#define BACKLIGHT_LEVELS 6
39#define BACKLIGHT_BREATHING
40#define BREATHING_PERIOD 6
41
42/* define if matrix has ghost */
43//#define MATRIX_HAS_GHOST
44
45/* Set 0 if debouncing isn't needed */
46#define DEBOUNCE 5
47
48/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
49#define LOCKING_SUPPORT_ENABLE
50/* Locking resynchronize hack */
51#define LOCKING_RESYNC_ENABLE
52
53// EEPROM usage
54// TODO: refactor with new user EEPROM code (coming soon)
55#define EEPROM_MAGIC 0x451F
56#define EEPROM_MAGIC_ADDR 34
57// Bump this every time we change what we store
58// This will automatically reset the EEPROM with defaults
59// and avoid loading invalid data from the EEPROM
60#define EEPROM_VERSION 0x02
61#define EEPROM_VERSION_ADDR 36
62
63
64#define DYNAMIC_KEYMAP_LAYER_COUNT 4
65// Dynamic macro starts after dynamic keymaps (35+(4*5*15*2)) = (35+600) = 635
66// start + layer * rows * col * 2
67#define DYNAMIC_KEYMAP_EEPROM_ADDR 37
68#define EEPROM_CUSTOM_BACKLIGHT 678
69#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 679
70#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 202
71#define DYNAMIC_KEYMAP_MACRO_COUNT 16
72
73/*
74 * Feature disable options
75 * These options are also useful to firmware size reduction.
76 */
77
78/* disable debug print */
79//#define NO_DEBUG
80
81/* disable print */
82//#define NO_PRINT
83
84/* disable action features */
85//#define NO_ACTION_LAYER
86//#define NO_ACTION_TAPPING
87//#define NO_ACTION_ONESHOT
88//#define NO_ACTION_MACRO
89//#define NO_ACTION_FUNCTION