]> git.donarmstrong.com Git - kiibohd-kll.git/blob - templates/kiibohdKeymap.h
baf78d9493f629f4e32934ab78c74805e9791d1a
[kiibohd-kll.git] / templates / kiibohdKeymap.h
1 /* Copyright (C) 2014-2015 by Jacob Alexander
2  *
3  * This file 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 3 of the License, or
6  * (at your option) any later version.
7  *
8  * This file 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 file.  If not, see <http://www.gnu.org/licenses/>.
15  */
16
17 <|Information|>
18
19
20 #pragma once
21
22 // ----- Includes -----
23
24 // KLL Include
25 #include <kll.h>
26
27
28
29 // ----- Capabilities -----
30
31 // Indexed Capabilities Table
32 <|CapabilitiesList|>
33
34
35 // -- Result Macros
36
37 // Result Macro Guides
38 <|ResultMacros|>
39
40
41 // -- Result Macro List
42
43 // Indexed Table of Result Macros
44 <|ResultMacroList|>
45
46
47 // -- Trigger Macro Record
48
49 // Keeps a record/state of each result macro
50 <|ResultMacroRecord|>
51
52
53 // -- Trigger Macros
54
55 // Trigger Macro Guides
56 <|TriggerMacros|>
57
58
59 // -- Trigger Macro List
60
61 // Indexed Table of Trigger Macros
62 <|TriggerMacroList|>
63
64
65 // -- Trigger Macro Record List
66
67 // Keeps a record/state of each trigger macro
68 <|TriggerMacroRecord|>
69
70
71
72 // ----- Trigger Maps -----
73
74 // MaxScanCode
75 // - This is retrieved from the KLL configuration
76 // - Should be corollated with the max scan code in the scan module
77 // - Maximum value is 0x100 (0x0 to 0xFF)
78 // - Increasing it beyond the keyboard's capabilities is just a waste of ram...
79 #define MaxScanCode <|MaxScanCode|>
80
81 // -- Trigger Lists
82 //
83 // Index 0: # of triggers in list
84 // Index n: pointer to trigger macro - use tm() macro
85
86 // - Default Layer -
87 <|DefaultLayerTriggerList|>
88
89
90 // - Partial Layers -
91 <|PartialLayerTriggerLists|>
92
93
94 // -- ScanCode Indexed Maps
95 // Maps to a trigger list of macro pointers
96 //                 _
97 // <scan code> -> |T|
98 //                |r| -> <trigger macro pointer 1>
99 //                |i|
100 //                |g| -> <trigger macro pointer 2>
101 //                |g|
102 //                |e| -> <trigger macro pointer 3>
103 //                |r|
104 //                |s| -> <trigger macro pointer n>
105 //                 -
106
107 // - Default Map for ScanCode Lookup -
108 <|DefaultLayerScanMap|>
109
110
111 // - Partial Layer ScanCode Lookup Maps -
112 <|PartialLayerScanMaps|>
113
114
115
116 // ----- Layer Index -----
117
118 // -- Layer Index List
119 //
120 // Index 0: Default map
121 // Index n: Additional layers
122 <|LayerIndexList|>
123
124
125 // - Layer State
126 <|LayerState|>
127