]> git.donarmstrong.com Git - tmk_firmware.git/blob - keyboard/hhkb/config.h
Merge branch 'add_build_options'
[tmk_firmware.git] / keyboard / hhkb / config.h
1 /*
2 Copyright 2011 Jun Wako <wakojun@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 #ifndef CONFIG_H
19 #define CONFIG_H
20
21 /* controller configuration */
22 #include "controller_teensy.h"
23
24
25 #define VENDOR_ID       0xFEED
26 #define PRODUCT_ID      0xCAFE
27 #define DEVICE_VER      0x0103
28 #define MANUFACTURER    t.m.k.
29 #define PRODUCT         HHKB mod
30 #define DESCRIPTION     t.m.k. keyboard firmware for HHKB mod
31
32
33 /* Boot Section Size in *BYTEs*
34  *   Teensy   halfKay    512
35  *   Teensy++ halfKay    1024
36  *   Atmel DFU loader    4096
37  *   LUFA bootloader     4096
38  *   USBaspLoader        2048
39  */
40 #define BOOTLOADER_SIZE 1024
41
42
43 /* matrix size */
44 #define MATRIX_ROWS 8
45 #define MATRIX_COLS 8
46
47 /* 
48  * Boot magic keys
49  * call some function by pressing key when pluging cable or powering on.
50  */
51 /* key position on matrix(ROW:COL) */
52 #define KEY_FN          0x54
53 #define KEY_D           0x14
54 #define KEY_IS_ON(key)  matrix_is_on((key)>>4, (key)&0xF)
55 /* kick up bootloader */
56 #define IS_BOOTMAGIC_BOOTLOADER()       KEY_IS_ON(KEY_FN)
57 /* debug on */
58 #define IS_BOOTMAGIC_DEBUG()            KEY_IS_ON(KEY_D)
59
60
61 /* key combination for command */
62 #define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT))) 
63
64 /* mouse keys */
65 #ifdef MOUSEKEY_ENABLE
66 #   define MOUSEKEY_DELAY_TIME 100
67 #endif
68
69 /* period of tapping(ms) */
70 #define TAPPING_TERM    200
71 /* tap count needed for toggling a feature */
72 #define TAPPING_TOGGLE  5
73
74
75 /*
76  * Feature disable options
77  *  These options are also useful to firmware size reduction.
78  */
79
80 /* disable debug print */
81 //#define NO_DEBUG
82
83 /* disable print */
84 //#define NO_PRINT
85
86 /* disable action features */
87 //#define NO_ACTION_KEYMAP
88 //#define NO_ACTION_OVERLAY
89 //#define NO_ACTION_TAPPING
90 //#define NO_ACTION_ONESHOT
91 //#define NO_ACTION_MACRO
92 //#define NO_ACTION_FUNCTION
93
94 #endif