Refactoring wilba.tech PCBs, updating Rama Works U80-A (#6272)
[jackhill/qmk/firmware.git] / keyboards / wilba_tech / via_keycodes.h
CommitLineData
48a992f1
W
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
bffbb4b4 23enum via_keycodes {
48a992f1 24 FN_MO13 = 0x5F10,
d7f1e072
W
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,
48a992f1
W
42};
43
6b4549da
AK
44enum user_keycodes {
45 USER00 = 0x5F80,
46 USER01,
47 USER02,
48 USER03,
49 USER04,
50 USER05,
51 USER06,
52 USER07,
53 USER08,
54 USER09,
55 USER10,
56 USER11,
57 USER12,
58 USER13,
59 USER14,
60 USER15,
61};
62
bffbb4b4 63// VIA specific "action functions", introduced with Zeal60
48a992f1
W
64// These are only valid IDs in action_function()
65// Use FN_TT13, FN_TT23, etc. in keymaps
bffbb4b4 66enum via_action_functions {
48a992f1
W
67 TRIPLE_TAP_1_3 = 0x31,
68 TRIPLE_TAP_2_3 = 0x32
69};
70
71// Bitwise OR the above with 0x0F00 to use in F(x) macro
72// This reserves the top 256 of the 4096 range of F(x) keycodes,
73// leaving the rest for use in fn_actions[] or actions in EEPROM.
74#define FN_TT13 F((0x0F00|TRIPLE_TAP_1_3))
75#define FN_TT23 F((0x0F00|TRIPLE_TAP_2_3))
76
77#define TG_NKRO MAGIC_TOGGLE_NKRO