/* 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 .
*/
<|Information|>
#pragma once
// ----- Includes -----
// KLL Include
#include
// ----- 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
// _
// -> |T|
// |r| ->
// |i|
// |g| ->
// |g|
// |e| ->
// |r|
// |s| ->
// -
// - 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|>
// ----- Key Positions -----
// -- Physical Key Positions
//
// Index 0: Key 1
// Each key has 6 dimensions
// x,y,z and rx,ry,rz (rotation)
// Units are in mm
const Position Key_Position[] = {
PositionEntry( 1,0, 2,0, 3,2, 0,0, 0,0, 0,0 ),
};