123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- /* Copyright (C) 2014-2016 by Jacob Alexander
- *
- * This file is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This file is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this file. If not, see <http://www.gnu.org/licenses/>.
- */
-
- <|Information|>
-
-
- #pragma once
-
- // ----- Includes -----
-
- // KLL Include
- #include <kll.h>
-
-
-
- // ----- Capabilities -----
-
- // Capability function declarations
- <|CapabilitiesFuncDecl|>
-
-
- // Indexed Capabilities Table
- <|CapabilitiesList|>
-
-
- // -- Result Macros
-
- // Result Macro Guides
- <|ResultMacros|>
-
-
- // -- Result Macro List
-
- // Indexed Table of Result Macros
- <|ResultMacroList|>
-
-
- // -- Trigger Macro Record
-
- // Keeps a record/state of each result macro
- <|ResultMacroRecord|>
-
-
- // -- Trigger Macros
-
- // Trigger Macro Guides
- <|TriggerMacros|>
-
-
- // -- Trigger Macro List
-
- // Indexed Table of Trigger Macros
- <|TriggerMacroList|>
-
-
- // -- Trigger Macro Record List
-
- // Keeps a record/state of each trigger macro
- <|TriggerMacroRecord|>
-
-
-
- // ----- Trigger Maps -----
-
- // MaxScanCode
- // - This is retrieved from the KLL configuration
- // - Should be corollated with the max scan code in the scan module
- // - Maximum value is 0x100 (0x0 to 0xFF)
- // - Increasing it beyond the keyboard's capabilities is just a waste of ram...
- #define MaxScanCode <|MaxScanCode|>
-
- // -- Trigger Lists
- //
- // Index 0: # of triggers in list
- // Index n: pointer to trigger macro - use tm() macro
-
- // - Default Layer -
- <|DefaultLayerTriggerList|>
-
-
- // - Partial Layers -
- <|PartialLayerTriggerLists|>
-
-
- // -- ScanCode Offset Map
- // Maps interconnect ids to scancode offsets
- //
- // Only used for keyboards with an interconnect
- <|ScanCodeInterconnectOffsetList|>
-
-
- // -- ScanCode Indexed Maps
- // Maps to a trigger list of macro pointers
- // _
- // <scan code> -> |T|
- // |r| -> <trigger macro pointer 1>
- // |i|
- // |g| -> <trigger macro pointer 2>
- // |g|
- // |e| -> <trigger macro pointer 3>
- // |r|
- // |s| -> <trigger macro pointer n>
- // -
-
- // - Default Map for ScanCode Lookup -
- <|DefaultLayerScanMap|>
-
-
- // - Partial Layer ScanCode Lookup Maps -
- <|PartialLayerScanMaps|>
-
-
-
- // ----- Layer Index -----
-
- // -- Layer Index List
- //
- // Index 0: Default map
- // Index n: Additional layers
- <|LayerIndexList|>
-
-
- // - Layer State
- <|LayerState|>
|