]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/zeal60/zeal60_keycodes.h
Added macros to Dynamic Keymaps, Zeal60 RGB backlight improvements (#4520)
[qmk_firmware.git] / keyboards / zeal60 / zeal60_keycodes.h
1 /* Copyright 2017 Jason Williams (Wilba)
2  *
3  * This program is free software: you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License as published by
5  * the Free Software Foundation, either version 2 of the License, or
6  * (at your option) any later version.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
15  */
16 #pragma once
17
18 // Can't use SAFE_RANGE here, it might change if someone adds
19 // new values to enum quantum_keycodes.
20 // Need to keep checking 0x5F10 is still in the safe range.
21 // TODO: merge this into quantum_keycodes
22 // Backlight keycodes are in range 0x5F00-0x5F0F
23 enum zeal60_keycodes {
24         FN_MO13 = 0x5F10,
25         FN_MO23,
26         MACRO00,
27         MACRO01,
28         MACRO02,
29         MACRO03,
30         MACRO04,
31         MACRO05,
32         MACRO06,
33         MACRO07,
34         MACRO08,
35         MACRO09,
36         MACRO10,
37         MACRO11,
38         MACRO12,
39         MACRO13,
40         MACRO14,
41         MACRO15,
42 };
43
44 // Zeal60 specific "action functions"
45 // These are only valid IDs in action_function()
46 // Use FN_TT13, FN_TT23, etc. in keymaps
47 enum zeal60_action_functions {
48         TRIPLE_TAP_1_3 = 0x31,
49         TRIPLE_TAP_2_3 = 0x32
50 };
51
52 // Bitwise OR the above with 0x0F00 to use in F(x) macro
53 // This reserves the top 256 of the 4096 range of F(x) keycodes,
54 // leaving the rest for use in fn_actions[] or actions in EEPROM.
55 #define FN_TT13 F((0x0F00|TRIPLE_TAP_1_3))
56 #define FN_TT23 F((0x0F00|TRIPLE_TAP_2_3))
57
58 #define TG_NKRO             MAGIC_TOGGLE_NKRO