]> git.donarmstrong.com Git - kiibohd-kll.git/blob - templates/kiibohdKeymap.h
Adding convenience capability function declarations.
[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 // Capability function declarations
32 <|CapabilitiesFuncDecl|>
33
34
35 // Indexed Capabilities Table
36 <|CapabilitiesList|>
37
38
39 // -- Result Macros
40
41 // Result Macro Guides
42 <|ResultMacros|>
43
44
45 // -- Result Macro List
46
47 // Indexed Table of Result Macros
48 <|ResultMacroList|>
49
50
51 // -- Trigger Macro Record
52
53 // Keeps a record/state of each result macro
54 <|ResultMacroRecord|>
55
56
57 // -- Trigger Macros
58
59 // Trigger Macro Guides
60 <|TriggerMacros|>
61
62
63 // -- Trigger Macro List
64
65 // Indexed Table of Trigger Macros
66 <|TriggerMacroList|>
67
68
69 // -- Trigger Macro Record List
70
71 // Keeps a record/state of each trigger macro
72 <|TriggerMacroRecord|>
73
74
75
76 // ----- Trigger Maps -----
77
78 // MaxScanCode
79 // - This is retrieved from the KLL configuration
80 // - Should be corollated with the max scan code in the scan module
81 // - Maximum value is 0x100 (0x0 to 0xFF)
82 // - Increasing it beyond the keyboard's capabilities is just a waste of ram...
83 #define MaxScanCode <|MaxScanCode|>
84
85 // -- Trigger Lists
86 //
87 // Index 0: # of triggers in list
88 // Index n: pointer to trigger macro - use tm() macro
89
90 // - Default Layer -
91 <|DefaultLayerTriggerList|>
92
93
94 // - Partial Layers -
95 <|PartialLayerTriggerLists|>
96
97
98 // -- ScanCode Offset Map
99 // Maps interconnect ids to scancode offsets
100 //
101 // Only used for keyboards with an interconnect
102 <|ScanCodeInterconnectOffsetList|>
103
104
105 // -- ScanCode Indexed Maps
106 // Maps to a trigger list of macro pointers
107 //                 _
108 // <scan code> -> |T|
109 //                |r| -> <trigger macro pointer 1>
110 //                |i|
111 //                |g| -> <trigger macro pointer 2>
112 //                |g|
113 //                |e| -> <trigger macro pointer 3>
114 //                |r|
115 //                |s| -> <trigger macro pointer n>
116 //                 -
117
118 // - Default Map for ScanCode Lookup -
119 <|DefaultLayerScanMap|>
120
121
122 // - Partial Layer ScanCode Lookup Maps -
123 <|PartialLayerScanMaps|>
124
125
126
127 // ----- Layer Index -----
128
129 // -- Layer Index List
130 //
131 // Index 0: Default map
132 // Index n: Additional layers
133 <|LayerIndexList|>
134
135
136 // - Layer State
137 <|LayerState|>
138