]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/zeal60/zeal60_keycodes.h
9511801eb26d29886a34120fa715d2869c241458
[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 };
27
28 // Zeal60 specific "action functions"
29 // These are only valid IDs in action_function()
30 // Use FN_TT13, FN_TT23, etc. in keymaps
31 enum zeal60_action_functions {
32         TRIPLE_TAP_1_3 = 0x31,
33         TRIPLE_TAP_2_3 = 0x32
34 };
35
36 // Bitwise OR the above with 0x0F00 to use in F(x) macro
37 // This reserves the top 256 of the 4096 range of F(x) keycodes,
38 // leaving the rest for use in fn_actions[] or actions in EEPROM.
39 #define FN_TT13 F((0x0F00|TRIPLE_TAP_1_3))
40 #define FN_TT23 F((0x0F00|TRIPLE_TAP_2_3))
41
42 #define TG_NKRO             MAGIC_TOGGLE_NKRO