]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/ergodox_ez/config.h
Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware
[qmk_firmware.git] / keyboards / ergodox_ez / config.h
1 /*
2 Copyright 2012 Jun Wako <wakojun@gmail.com>
3 Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
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 CONFIG_H
20 #define CONFIG_H
21
22 #include "config_common.h"
23
24 /* USB Device descriptor parameter */
25 #define VENDOR_ID       0xFEED
26 #define PRODUCT_ID      0x1307
27 #define DEVICE_VER      0x0001
28 #define MANUFACTURER    ErgoDox EZ
29 #define PRODUCT         ErgoDox EZ
30 #define DESCRIPTION     t.m.k. keyboard firmware for Ergodox
31
32 /* key matrix size */
33 #define MATRIX_ROWS 14
34 #define MATRIX_COLS 6
35
36 #define MOUSEKEY_DELAY          100
37 #define MOUSEKEY_INTERVAL       20
38 #define MOUSEKEY_MAX_SPEED      3
39 #define MOUSEKEY_TIME_TO_MAX    10
40
41 #define TAPPING_TOGGLE  1
42
43 #define COLS (int []){ F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
44 #define ROWS (int []){ D0, D5, B5, B6 }
45
46 /* COL2ROW or ROW2COL */
47 #define DIODE_DIRECTION COL2ROW
48
49 /* define if matrix has ghost */
50 //#define MATRIX_HAS_GHOST
51
52 /* number of backlight levels */
53 #define BACKLIGHT_LEVELS 3
54
55 /* Set 0 if debouncing isn't needed */
56 #define DEBOUNCE    2
57 #define TAPPING_TERM    200
58 #define IGNORE_MOD_TAP_INTERRUPT // this makes it possible to do rolling combos (zx) with keys that convert to other keys on hold (z becomes ctrl when you hold it, and when this option isn't enabled, z rapidly followed by x actually sends Ctrl-x. That's bad.)
59
60 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
61 #define LOCKING_SUPPORT_ENABLE
62 /* Locking resynchronize hack */
63 #define LOCKING_RESYNC_ENABLE
64
65 /* key combination for command */
66 #define IS_COMMAND() ( \
67     keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
68     keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
69 )
70
71 /*
72  * Feature disable options
73  *  These options are also useful to firmware size reduction.
74  */
75
76 /* disable debug print */
77 // #define NO_DEBUG
78
79 /* disable print */
80 // #define NO_PRINT
81
82 /* disable action features */
83 //#define NO_ACTION_LAYER
84 //#define NO_ACTION_TAPPING
85 //#define NO_ACTION_ONESHOT
86 //#define NO_ACTION_MACRO
87 //#define NO_ACTION_FUNCTION
88 //#define DEBUG_MATRIX_SCAN_RATE
89
90 #endif