]> git.gir.st - tmk_keyboard.git/blob - keyboard/ergodox/config.h
added ergodox
[tmk_keyboard.git] / keyboard / ergodox / config.h
1 /*
2 Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
3
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>.
16
17
18 This work is heavily based on initial firmware for Ergodox keyboard.
19 Copyright (c) 2012, 2013 Ben Blazak <benblazak.dev@gmail.com>
20 Released under The MIT License (see "doc/licenses/MIT.md")
21 Project located at <https://github.com/benblazak/ergodox-firmware>
22 */
23
24 #ifndef CONFIG_H
25 #define CONFIG_H
26
27
28 /* USB Device descriptor parameter */
29 #define VENDOR_ID 0xFEED
30 #define PRODUCT_ID 0x1307
31 #define DEVICE_VER 0x0001
32 #define MANUFACTURER TMK/Cub
33 #define PRODUCT Ergodox
34 #define DESCRIPTION t.m.k. keyboard firmware for Ergodox
35
36 #define MATRIX_ROWS 14
37 #define MATRIX_COLS 6
38
39 #define MOUSEKEY_DELAY 100
40 #define MOUSEKEY_INTERVAL 20
41 #define MOUSEKEY_MAX_SPEED 3
42 #define MOUSEKEY_TIME_TO_MAX 10
43
44 /* define if matrix has ghost */
45 //#define MATRIX_HAS_GHOST
46
47 /* Set 0 if debouncing isn't needed */
48 /*
49 * This constant define not debouncing time in msecs, but amount of matrix
50 * scan loops which should be made to get stable debounced results.
51 *
52 * On Ergodox matrix scan rate is relatively low, because of slow I2C.
53 * Now it's only 317 scans/second, or about 3.15 msec/scan.
54 * According to Cherry specs, debouncing time is 5 msec.
55 *
56 * And so, there is no sense to have DEBOUNCE higher than 2.
57 */
58 #define DEBOUNCE 2
59 #define TAPPING_TERM 230
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 /* key combination for command */
67 #define IS_COMMAND() ( \
68 keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
69 keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
70 )
71
72
73
74 /*
75 * Feature disable options
76 * These options are also useful to firmware size reduction.
77 */
78
79 /* disable debug print */
80 //#define NO_DEBUG
81
82 /* disable print */
83 //#define NO_PRINT
84
85 /* disable action features */
86 //#define NO_ACTION_LAYER
87 //#define NO_ACTION_TAPPING
88 //#define NO_ACTION_ONESHOT
89 //#define NO_ACTION_MACRO
90 //#define NO_ACTION_FUNCTION
91 //#define DEBUG_MATRIX_SCAN_RATE
92
93 #endif
Imprint / Impressum