From b6f7ee09c6f4c970a1a2bff335c27a32fbe21226 Mon Sep 17 00:00:00 2001 From: jowj Date: Mon, 9 Jul 2018 13:29:26 -0500 Subject: [PATCH] Update keyboard firmware. --- keyboard/.DS_Store | Bin 0 -> 6148 bytes keyboard/if_ergodox/MDErgo1-Blank-0.kll | 12 +- keyboard/if_ergodox/MDErgo1-Blank-1.kll | 5 + keyboard/if_ergodox/MDErgo1-Blank.json | 40 +- keyboard/if_ergodox/kll/MDErgo1-Blank-0.kll | 12 +- keyboard/if_ergodox/kll/MDErgo1-Blank-1.kll | 5 + keyboard/if_ergodox/left_kiibohd.dfu.bin | Bin 69952 -> 43712 bytes .../if_ergodox/left_kiibohd.secure.dfu.bin | Bin 70976 -> 0 bytes keyboard/if_ergodox/left_kll.json | 3368 ----------------- keyboard/if_ergodox/log/build.log | 410 +- .../if_ergodox/log/left_generatedKeymap.h | 803 ++++ keyboard/if_ergodox/log/left_kll_defs.h | 260 ++ .../if_ergodox/log/right_generatedKeymap.h | 804 ++++ keyboard/if_ergodox/log/right_kll_defs.h | 260 ++ keyboard/if_ergodox/right_kiibohd.dfu.bin | Bin 70216 -> 43720 bytes .../if_ergodox/right_kiibohd.secure.dfu.bin | Bin 71240 -> 0 bytes keyboard/if_ergodox/right_kll.json | 3368 ----------------- 17 files changed, 2345 insertions(+), 7002 deletions(-) create mode 100644 keyboard/.DS_Store delete mode 100755 keyboard/if_ergodox/left_kiibohd.secure.dfu.bin delete mode 100755 keyboard/if_ergodox/left_kll.json create mode 100755 keyboard/if_ergodox/log/left_generatedKeymap.h create mode 100755 keyboard/if_ergodox/log/left_kll_defs.h create mode 100755 keyboard/if_ergodox/log/right_generatedKeymap.h create mode 100755 keyboard/if_ergodox/log/right_kll_defs.h delete mode 100755 keyboard/if_ergodox/right_kiibohd.secure.dfu.bin delete mode 100755 keyboard/if_ergodox/right_kll.json diff --git a/keyboard/.DS_Store b/keyboard/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..55a9bde12f46a594fbb65bdc2521518de1685e69 GIT binary patch literal 6148 zcmeHK%}T>S5T317Q$_4Su*bc4>!BrLPeQ2m;7y3=L8T_7)HuW`a8L;gC2Zyh#YtzRU_FFFkI{!ND2PxW zX0qAw9~q!`w+1m>LmN8q?fr$L!Clx>A;#asyIwp|H_hkp+Y1|pL%UcI3NrO1)^mTC@bui`PEKVXdYN}xp4fHs^ z3D7*HcDXVhyL)a`x^6A2%5kGntIA!sk!2-kd#ApCbangqG=9!rUJb(nKSnK^7ANqA z#@xl;`~9S+k}k$4wUZh~W`G%B1{RP3yVW`C3%E935;MRI{Eh+IA0#TFXE8UZw+?LR z_mSd7LK3v;EmmA literal 0 HcmV?d00001 diff --git a/keyboard/if_ergodox/MDErgo1-Blank-0.kll b/keyboard/if_ergodox/MDErgo1-Blank-0.kll index 99e2442..869af4a 100755 --- a/keyboard/if_ergodox/MDErgo1-Blank-0.kll +++ b/keyboard/if_ergodox/MDErgo1-Blank-0.kll @@ -30,7 +30,7 @@ U"D" : U"D"; U"S" : U"S"; U"A" : U"A"; U"TAB" : U"RCTRL"; -U"LALT" : U"LALT"; +U"LALT" : U"LGUI"; U"LCTRL" : U"MINUS"; U"FUNCTION2" : U"FUN1"; U"B" : U"B"; @@ -48,7 +48,7 @@ U"FUNCTION4" : U"F8"; U"FUNCTION3" : U"F7"; U"BACKTICK" : U"F6"; U"LGUI" : U"PREV LAYER"; -U"FUNCTION6" : U"FUNCTION6"; +U"FUNCTION6" : U"\"; U"6" : U"6"; U"7" : U"7"; U"8" : U"8"; @@ -68,8 +68,8 @@ U"K" : U"K"; U"L" : U"L"; U"SEMICOLON" : U"SEMICOLON"; U"QUOTE" : U"QUOTE"; -U"RALT" : U"RALT"; -U"RCTRL" : U"RCTRL"; +U"RALT" : U"RGUI"; +U"RCTRL" : U"="; U"FUNCTION7" : U"FUN2"; U"N" : U"N"; U"M" : U"M"; @@ -85,11 +85,9 @@ U"LEFT" : U"LEFT"; U"DOWN" : U"DOWN"; U"UP" : U"UP"; U"RIGHT" : U"RIGHT"; -U"RGUI" : U"RGUI"; +U"RGUI" : U"NEXT LAYER"; -A[all_on] <= start, pfunc:interp; -A[all_on, 1] <= P[c:0%](255), P[c:100%](255); diff --git a/keyboard/if_ergodox/MDErgo1-Blank-1.kll b/keyboard/if_ergodox/MDErgo1-Blank-1.kll index 734b8d4..80f58ba 100755 --- a/keyboard/if_ergodox/MDErgo1-Blank-1.kll +++ b/keyboard/if_ergodox/MDErgo1-Blank-1.kll @@ -13,6 +13,11 @@ U"4" : U"F4"; U"3" : U"F3"; U"2" : U"F2"; U"1" : U"F1"; +U"6" : U"F6"; +U"7" : U"F7"; +U"8" : U"F8"; +U"9" : U"F9"; +U"0" : U"F10"; diff --git a/keyboard/if_ergodox/MDErgo1-Blank.json b/keyboard/if_ergodox/MDErgo1-Blank.json index a899b20..58b0617 100755 --- a/keyboard/if_ergodox/MDErgo1-Blank.json +++ b/keyboard/if_ergodox/MDErgo1-Blank.json @@ -306,8 +306,8 @@ "h": 4, "layers": { "0": { - "key": "LALT", - "label": "LALT" + "key": "LGUI", + "label": "LGUI" } } }, @@ -540,8 +540,8 @@ "h": 4, "layers": { "0": { - "key": "FUNCTION6", - "label": "\u01926" + "key": "\\", + "label": "\\" } } }, @@ -555,6 +555,10 @@ "0": { "key": "6", "label": "6" + }, + "1": { + "key": "F6", + "label": "F6" } } }, @@ -568,6 +572,10 @@ "0": { "key": "7", "label": "7" + }, + "1": { + "key": "F7", + "label": "F7" } } }, @@ -581,6 +589,10 @@ "0": { "key": "8", "label": "8" + }, + "1": { + "key": "F8", + "label": "F8" } } }, @@ -594,6 +606,10 @@ "0": { "key": "9", "label": "9" + }, + "1": { + "key": "F9", + "label": "F9" } } }, @@ -608,6 +624,10 @@ "key": "0", "label": "0" }, + "1": { + "key": "F10", + "label": "F10" + }, "2": { "key": "#:flashMode()", "label": "FLASH" @@ -808,8 +828,8 @@ "h": 4, "layers": { "0": { - "key": "RALT", - "label": "RALT" + "key": "RGUI", + "label": "RGUI" } } }, @@ -821,8 +841,8 @@ "h": 4, "layers": { "0": { - "key": "RCTRL", - "label": "RCTRL" + "key": "=", + "label": "=" } } }, @@ -1029,8 +1049,8 @@ "h": 4, "layers": { "0": { - "key": "RGUI", - "label": "RGUI" + "key": "NEXT LAYER", + "label": "NEXT-\u0192" } } } diff --git a/keyboard/if_ergodox/kll/MDErgo1-Blank-0.kll b/keyboard/if_ergodox/kll/MDErgo1-Blank-0.kll index 99e2442..869af4a 100755 --- a/keyboard/if_ergodox/kll/MDErgo1-Blank-0.kll +++ b/keyboard/if_ergodox/kll/MDErgo1-Blank-0.kll @@ -30,7 +30,7 @@ U"D" : U"D"; U"S" : U"S"; U"A" : U"A"; U"TAB" : U"RCTRL"; -U"LALT" : U"LALT"; +U"LALT" : U"LGUI"; U"LCTRL" : U"MINUS"; U"FUNCTION2" : U"FUN1"; U"B" : U"B"; @@ -48,7 +48,7 @@ U"FUNCTION4" : U"F8"; U"FUNCTION3" : U"F7"; U"BACKTICK" : U"F6"; U"LGUI" : U"PREV LAYER"; -U"FUNCTION6" : U"FUNCTION6"; +U"FUNCTION6" : U"\"; U"6" : U"6"; U"7" : U"7"; U"8" : U"8"; @@ -68,8 +68,8 @@ U"K" : U"K"; U"L" : U"L"; U"SEMICOLON" : U"SEMICOLON"; U"QUOTE" : U"QUOTE"; -U"RALT" : U"RALT"; -U"RCTRL" : U"RCTRL"; +U"RALT" : U"RGUI"; +U"RCTRL" : U"="; U"FUNCTION7" : U"FUN2"; U"N" : U"N"; U"M" : U"M"; @@ -85,11 +85,9 @@ U"LEFT" : U"LEFT"; U"DOWN" : U"DOWN"; U"UP" : U"UP"; U"RIGHT" : U"RIGHT"; -U"RGUI" : U"RGUI"; +U"RGUI" : U"NEXT LAYER"; -A[all_on] <= start, pfunc:interp; -A[all_on, 1] <= P[c:0%](255), P[c:100%](255); diff --git a/keyboard/if_ergodox/kll/MDErgo1-Blank-1.kll b/keyboard/if_ergodox/kll/MDErgo1-Blank-1.kll index 734b8d4..80f58ba 100755 --- a/keyboard/if_ergodox/kll/MDErgo1-Blank-1.kll +++ b/keyboard/if_ergodox/kll/MDErgo1-Blank-1.kll @@ -13,6 +13,11 @@ U"4" : U"F4"; U"3" : U"F3"; U"2" : U"F2"; U"1" : U"F1"; +U"6" : U"F6"; +U"7" : U"F7"; +U"8" : U"F8"; +U"9" : U"F9"; +U"0" : U"F10"; diff --git a/keyboard/if_ergodox/left_kiibohd.dfu.bin b/keyboard/if_ergodox/left_kiibohd.dfu.bin index aa7b10722061c1eaf0cae8c055b6d082ae0b3dfe..9dd65014676182cbe9662574b2987510e8eb6158 100755 GIT binary patch literal 43712 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Τb~H^nmbfJA6Xt4X^{UbbVf$8vkHcKV<{9kI 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 KhbO-Lx&HwOfYA5= literal 69952 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 Wx4>4@lOGcaP+LoiqKoJESN(t6kCLJQ diff --git a/keyboard/if_ergodox/left_kiibohd.secure.dfu.bin b/keyboard/if_ergodox/left_kiibohd.secure.dfu.bin deleted file mode 100755 index 474ceeac0ece2703d31e6969058d9adb081d0039..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70976 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 diff --git a/keyboard/if_ergodox/left_kll.json b/keyboard/if_ergodox/left_kll.json deleted file mode 100755 index 7f1a03e..0000000 --- a/keyboard/if_ergodox/left_kll.json +++ /dev/null @@ -1,3368 +0,0 @@ -{ - "AnimationIds": { - "all_on": 0 - }, - "AnimationSettings": {}, - "AnimationSettingsIndex": [ - { - "frameoptions": [], - "modifiers": [ - { - "name": "pfunc", - "value": { - "arg": "interp", - "subarg": null - } - }, - { - "name": "start", - "value": { - "arg": null, - "subarg": null - } - } - ], - "name": "all_on", - "setting": "A[all_on]", - "state": null, - "type": "Animation" - } - ], - "Capabilities": { - "LCDLayerDisplay": { - "args": [], - "args_count": 0, - "features": "CapabilityFeature_None", - "index": 1, - "name": "LCD_layerStack_capability" - }, - "LCDLayerDisplayExact": { - "args": [ - { - "name": "display", - "width": 1 - }, - { - "name": "stack1", - "width": 2 - }, - { - "name": "stack2", - "width": 2 - }, - { - "name": "stack3", - "width": 2 - }, - { - "name": "stack4", - "width": 2 - } - ], - "args_count": 5, - "features": "CapabilityFeature_None", - "index": 0, - "name": "LCD_layerStackExact_capability" - }, - "animation": { - "args": [ - { - "name": "index", - "width": 2 - }, - { - "name": "loops", - "width": 1 - }, - { - "name": "pfunc", - "width": 1 - }, - { - "name": "divmask", - "width": 1 - }, - { - "name": "divshift", - "width": 1 - }, - { - "name": "replace", - "width": 1 - } - ], - "args_count": 6, - "features": "CapabilityFeature_None", - "index": 22, - "name": "Pixel_Animation_capability" - }, - "animationIndex": { - "args": [ - { - "name": "settingindex", - "width": 2 - } - ], - "args_count": 1, - "features": "CapabilityFeature_None", - "index": 21, - "name": "Pixel_AnimationIndex_capability" - }, - "animation_control": { - "args": [ - { - "name": "func", - "width": 1 - } - ], - "args_count": 1, - "features": "CapabilityFeature_None", - "index": 20, - "name": "Pixel_AnimationControl_capability" - }, - "consCtrlOut": { - "args": [ - { - "name": "consCode", - "width": 2 - } - ], - "args_count": 1, - "features": "CapabilityFeature_Safe", - "index": 10, - "name": "Output_consCtrlSend_capability" - }, - "flashMode": { - "args": [], - "args_count": 0, - "features": "CapabilityFeature_Safe", - "index": 11, - "name": "Output_flashMode_capability" - }, - "kbdProtocolBoot": { - "args": [], - "args_count": 0, - "features": "CapabilityFeature_None", - "index": 12, - "name": "Output_kbdProtocolBoot_capability" - }, - "kbdProtocolNKRO": { - "args": [], - "args_count": 0, - "features": "CapabilityFeature_None", - "index": 13, - "name": "Output_kbdProtocolNKRO_capability" - }, - "layerLatch": { - "args": [ - { - "name": "layer", - "width": 2 - } - ], - "args_count": 1, - "features": "CapabilityFeature_Safe", - "index": 3, - "name": "Layer_layerLatch_capability" - }, - "layerLock": { - "args": [ - { - "name": "layer", - "width": 2 - } - ], - "args_count": 1, - "features": "CapabilityFeature_Safe", - "index": 4, - "name": "Layer_layerLock_capability" - }, - "layerRotate": { - "args": [ - { - "name": "previous", - "width": 1 - } - ], - "args_count": 1, - "features": "CapabilityFeature_Safe", - "index": 5, - "name": "Layer_layerRotate_capability" - }, - "layerShift": { - "args": [ - { - "name": "layer", - "width": 2 - } - ], - "args_count": 1, - "features": "CapabilityFeature_Safe", - "index": 6, - "name": "Layer_layerShift_capability" - }, - "layerState": { - "args": [ - { - "name": "layer", - "width": 2 - }, - { - "name": "state", - "width": 1 - } - ], - "args_count": 2, - "features": "CapabilityFeature_Safe", - "index": 7, - "name": "Layer_layerState_capability" - }, - "ledControl": { - "args": [ - { - "name": "mode", - "width": 1 - }, - { - "name": "amount", - "width": 1 - } - ], - "args_count": 2, - "features": "CapabilityFeature_None", - "index": 2, - "name": "LED_control_capability" - }, - "mouseOut": { - "args": [ - { - "name": "mouseCode", - "width": 2 - }, - { - "name": "relative_x", - "width": 2 - }, - { - "name": "relative_y", - "width": 2 - } - ], - "args_count": 3, - "features": "CapabilityFeature_Safe", - "index": 19, - "name": "Output_usbMouse_capability" - }, - "mouseWheelOut": { - "args": [ - { - "name": "vertWheel", - "width": 1 - }, - { - "name": "horiWheel", - "width": 1 - } - ], - "args_count": 2, - "features": "CapabilityFeature_None", - "index": 18, - "name": "Output_usbMouseWheel_capability" - }, - "noneOut": { - "args": [], - "args_count": 0, - "features": "CapabilityFeature_Safe", - "index": 14, - "name": "Output_noneSend_capability" - }, - "pixel": { - "args": [], - "args_count": 0, - "features": "CapabilityFeature_None", - "index": 23, - "name": "Pixel_Pixel_capability" - }, - "sysCtrlOut": { - "args": [ - { - "name": "sysCode", - "width": 1 - } - ], - "args_count": 1, - "features": "CapabilityFeature_Safe", - "index": 15, - "name": "Output_sysCtrlSend_capability" - }, - "testThreadSafe": { - "args": [], - "args_count": 0, - "features": "CapabilityFeature_Safe", - "index": 8, - "name": "Macro_testThreadSafe_capability" - }, - "testThreadUnsafe": { - "args": [], - "args_count": 0, - "features": "CapabilityFeature_None", - "index": 9, - "name": "Macro_testThreadUnsafe_capability" - }, - "toggleKbdProtocol": { - "args": [], - "args_count": 0, - "features": "CapabilityFeature_None", - "index": 16, - "name": "Output_toggleKbdProtocol_capability" - }, - "usbKeyOut": { - "args": [ - { - "name": "usbCode", - "width": 1 - } - ], - "args_count": 1, - "features": "CapabilityFeature_Safe", - "index": 17, - "name": "Output_usbCodeSend_capability" - } - }, - "CodeLookup": { - "Animation": "animationIndex", - "Capability": null, - "ConsCode": "consCtrlOut", - "ScanCode": null, - "SysCode": "sysCtrlOut", - "USBCode": "usbKeyOut" - }, - "Defines": { - "ConnectEnabled": { - "name": "ConnectEnabled_define", - "value": "1" - }, - "DelayedCapabilitiesStackSize": { - "name": "ResultCapabilityStackSize_define", - "value": "10" - }, - "ISSILedMask1": { - "name": "ISSILedMask1_define", - "value": " \\\n\t0xFF, 0x00, /* C1-1 -> C1-16 */ \\\n\t0xFF, 0x00, /* C2-1 -> C2-16 */ \\\n\t0xFF, 0x00, /* C3-1 -> C3-16 */ \\\n\t0xFF, 0x00, /* C4-1 -> C4-16 */ \\\n\t0x3F, 0x00, /* C5-1 -> C5-16 */ \\\n\t0x00, 0x00, /* C6-1 -> C6-16 */ \\\n\t0x00, 0x00, /* C7-1 -> C7-16 */ \\\n\t0x00, 0x00, /* C8-1 -> C8-16 */ \\\n\t0x00, 0x00, /* C9-1 -> C9-16 */ \\\n" - }, - "ISSILedMask2": { - "name": "ISSILedMask2_define", - "value": " \\\n\t0xFF, 0xFF, /* C1-1 -> C1-16 */ \\\n\t0xFF, 0xFF, /* C2-1 -> C2-16 */ \\\n\t0xFF, 0xFF, /* C3-1 -> C3-16 */ \\\n\t0xFF, 0xFF, /* C4-1 -> C4-16 */ \\\n\t0xFF, 0xFF, /* C5-1 -> C5-16 */ \\\n\t0xFF, 0xFF, /* C6-1 -> C6-16 */ \\\n\t0xFF, 0xFF, /* C7-1 -> C7-16 */ \\\n\t0xFF, 0xFF, /* C8-1 -> C8-16 */ \\\n\t0xFF, 0xFF, /* C9-1 -> C9-16 */ \\\n" - }, - "ISSILedMask3": { - "name": "ISSILedMask3_define", - "value": " \\\n\t0xFF, 0xFF, /* C1-1 -> C1-16 */ \\\n\t0xFF, 0xFF, /* C2-1 -> C2-16 */ \\\n\t0xFF, 0xFF, /* C3-1 -> C3-16 */ \\\n\t0xFF, 0xFF, /* C4-1 -> C4-16 */ \\\n\t0xFF, 0xFF, /* C5-1 -> C5-16 */ \\\n\t0xFF, 0xFF, /* C6-1 -> C6-16 */ \\\n\t0xFF, 0xFF, /* C7-1 -> C7-16 */ \\\n\t0xFF, 0xFF, /* C8-1 -> C8-16 */ \\\n\t0xFF, 0xFF, /* C9-1 -> C9-16 */ \\\n" - }, - "ISSILedMask4": { - "name": "ISSILedMask4_define", - "value": " \\\n\t0xFF, 0xFF, /* C1-1 -> C1-16 */ \\\n\t0xFF, 0xFF, /* C2-1 -> C2-16 */ \\\n\t0xFF, 0xFF, /* C3-1 -> C3-16 */ \\\n\t0xFF, 0xFF, /* C4-1 -> C4-16 */ \\\n\t0xFF, 0xFF, /* C5-1 -> C5-16 */ \\\n\t0xFF, 0xFF, /* C6-1 -> C6-16 */ \\\n\t0xFF, 0xFF, /* C7-1 -> C7-16 */ \\\n\t0xFF, 0xFF, /* C8-1 -> C8-16 */ \\\n\t0xFF, 0xFF, /* C9-1 -> C9-16 */ \\\n" - }, - "ISSI_Chip_31FL3731": { - "name": "ISSI_Chip_31FL3731_define", - "value": "1" - }, - "ISSI_Chip_31FL3732": { - "name": "ISSI_Chip_31FL3732_define", - "value": "0" - }, - "ISSI_Chip_31FL3733": { - "name": "ISSI_Chip_31FL3733_define", - "value": "0" - }, - "ISSI_Chips": { - "name": "ISSI_Chips_define", - "value": "1" - }, - "ISSI_Enable": { - "name": "ISSI_Enable_define", - "value": "1" - }, - "ISSI_FrameRate_ms": { - "name": "ISSI_FrameRate_ms_define", - "value": "100" - }, - "ISSI_Global_Brightness": { - "name": "ISSI_Global_Brightness_define", - "value": "255" - }, - "ISSI_I2C_Buses": { - "name": "ISSI_I2C_Buses_define", - "value": "1" - }, - "LCDEnabled": { - "name": "LCDEnabled_define", - "value": "1" - }, - "LED_MapCh1_Addr": { - "name": "LED_MapCh1_Addr_define", - "value": "ISSI_Ch1" - }, - "LED_MapCh1_Bus": { - "name": "LED_MapCh1_Bus_define", - "value": "0" - }, - "LED_MapCh2_Addr": { - "name": "LED_MapCh2_Addr_define", - "value": "ISSI_Ch2" - }, - "LED_MapCh2_Bus": { - "name": "LED_MapCh2_Bus_define", - "value": "0" - }, - "LED_MapCh3_Addr": { - "name": "LED_MapCh3_Addr_define", - "value": "ISSI_Ch3" - }, - "LED_MapCh3_Bus": { - "name": "LED_MapCh3_Bus_define", - "value": "0" - }, - "LED_MapCh4_Addr": { - "name": "LED_MapCh4_Addr_define", - "value": "ISSI_Ch4" - }, - "LED_MapCh4_Bus": { - "name": "LED_MapCh4_Bus_define", - "value": "0" - }, - "MinDebounceTime": { - "name": "MinDebounceTime_define", - "value": "6" - }, - "Output_HIDIOEnabled": { - "name": "Output_HIDIOEnabled_define", - "value": "1" - }, - "Output_USBEnabled": { - "name": "Output_USBEnabled_define", - "value": "1" - }, - "PeriodicCycles": { - "name": "PeriodicCycles_define", - "value": "1000" - }, - "Pixel_AnimationStackSize": { - "name": "Pixel_AnimationStackSize_define", - "value": "20" - }, - "Pixel_HardCode_ChanWidth": { - "name": "Pixel_HardCode_ChanWidth_define", - "value": "0" - }, - "Pixel_HardCode_Channels": { - "name": "Pixel_HardCode_Channels_define", - "value": "0" - }, - "Pixel_MapEnabled": { - "name": "Pixel_MapEnabled_define", - "value": "1" - }, - "Pixel_Test_Mode": { - "name": "Pixel_Test_Mode_define", - "value": "PixelTest_Off" - }, - "PressReleaseCache": { - "name": "PressReleaseCache_define", - "value": "1" - }, - "ResultMacroBufferSize": { - "name": "ResultMacroBufferSize_define", - "value": "50" - }, - "STLcdBacklightBlue": { - "name": "STLcdBacklightBlue_define", - "value": "4095" - }, - "STLcdBacklightGreen": { - "name": "STLcdBacklightGreen_define", - "value": "4095" - }, - "STLcdBacklightPrescalar": { - "name": "STLcdBacklightPrescalar_define", - "value": "0" - }, - "STLcdBacklightRed": { - "name": "STLcdBacklightRed_define", - "value": "4095" - }, - "STLcdDefaultImage": { - "name": "STLcdDefaultImage_define", - "value": " \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber0": { - "name": "STLcdNumber0_define", - "value": " \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber0Color": { - "name": "STLcdNumber0Color_define", - "value": "0xB939, 0xAAEA, 0x8D8D" - }, - "STLcdNumber1": { - "name": "STLcdNumber1_define", - "value": " \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber1Color": { - "name": "STLcdNumber1Color_define", - "value": "0xA8A8, 0x2727, 0x1FA0" - }, - "STLcdNumber2": { - "name": "STLcdNumber2_define", - "value": " \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber2Color": { - "name": "STLcdNumber2Color_define", - "value": "0x4B4B, 0x8D8D, 0x34B5" - }, - "STLcdNumber3": { - "name": "STLcdNumber3_define", - "value": " \\\n0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber3Color": { - "name": "STLcdNumber3Color_define", - "value": "0x0000, 0x8242, 0xB3F3" - }, - "STLcdNumber4": { - "name": "STLcdNumber4_define", - "value": " \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber4Color": { - "name": "STLcdNumber4Color_define", - "value": "0xF6F6, 0xA5A5, 0x4949" - }, - "STLcdNumber5": { - "name": "STLcdNumber5_define", - "value": " \\\n0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber5Color": { - "name": "STLcdNumber5Color_define", - "value": "0xB7B7, 0x5D5D, 0x8545" - }, - "STLcdNumber6": { - "name": "STLcdNumber6_define", - "value": " \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber6Color": { - "name": "STLcdNumber6Color_define", - "value": "0xBCFC, 0xB6F6, 0x2D2D" - }, - "STLcdNumber7": { - "name": "STLcdNumber7_define", - "value": " \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber7Color": { - "name": "STLcdNumber7Color_define", - "value": "0x00C1, 0x7E7E, 0x3C3C" - }, - "STLcdNumber8": { - "name": "STLcdNumber8_define", - "value": " \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber8Color": { - "name": "STLcdNumber8Color_define", - "value": "0x8303, 0x1394, 0xB9F9" - }, - "STLcdNumber9": { - "name": "STLcdNumber9_define", - "value": " \\\n0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber9Color": { - "name": "STLcdNumber9Color_define", - "value": "0x09CA, 0x12D3, 0x8484" - }, - "StrobeDelay": { - "name": "StrobeDelay_define", - "value": "0" - }, - "UARTConnectBaud": { - "name": "UARTConnectBaud_define", - "value": "1" - }, - "UARTConnectBaudFine": { - "name": "UARTConnectBaudFine_define", - "value": "0" - }, - "UARTConnectBufSize": { - "name": "UARTConnectBufSize_define", - "value": "128" - }, - "UARTConnectCableCheckLength": { - "name": "UARTConnectCableCheckLength_define", - "value": "2" - }, - "enableDeviceRestartOnUSBTimeout": { - "name": "enableDeviceRestartOnUSBTimeout_define", - "value": "0" - }, - "enableJoystick": { - "name": "enableJoystick_define", - "value": "0" - }, - "enableKeyboard": { - "name": "enableKeyboard_define", - "value": "1" - }, - "enableMouse": { - "name": "enableMouse_define", - "value": "1" - }, - "enableRawIO": { - "name": "enableRawIO_define", - "value": "1" - }, - "enableUSBLowPowerNegotiation": { - "name": "enableUSBLowPowerNegotiation_define", - "value": "0" - }, - "enableUSBResume": { - "name": "enableUSBResume_define", - "value": "1" - }, - "enableUSBSuspend": { - "name": "enableUSBSuspend_define", - "value": "1" - }, - "enableVirtualSerialPort": { - "name": "enableVirtualSerialPort_define", - "value": "1" - }, - "flashModeEnabled": { - "name": "flashModeEnabled_define", - "value": "0" - }, - "indexWordSize": { - "name": "IndexWordSize_define", - "value": "16" - }, - "keyboardLocale": { - "name": "KeyboardLocale_define", - "value": "0" - }, - "latencyResources": { - "name": "LatencyMeasurementCount_define", - "value": "10" - }, - "secureBootloaderEnabled": { - "name": "SecureBootloader_define", - "value": "0" - }, - "stateWordSize": { - "name": "StateWordSize_define", - "value": "16" - }, - "usbIdle": { - "name": "USBIdle_define", - "value": "0" - }, - "usbIdleForce": { - "name": "USBIdle_force_define", - "value": "1" - }, - "usbProtocol": { - "name": "USBProtocol_define", - "value": "1" - } - }, - "Layers": { - "0": { - ":0 S003": { - "kll": "S0x003 : U0x029;", - "result": [ - [ - { - "type": "USBCode", - "uid": 41 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 3 - } - ] - ] - }, - ":0 S004": { - "kll": "S0x004 : U0x022;", - "result": [ - [ - { - "type": "USBCode", - "uid": 34 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 4 - } - ] - ] - }, - ":0 S005": { - "kll": "S0x005 : U0x021;", - "result": [ - [ - { - "type": "USBCode", - "uid": 33 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 5 - } - ] - ] - }, - ":0 S006": { - "kll": "S0x006 : U0x020;", - "result": [ - [ - { - "type": "USBCode", - "uid": 32 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 6 - } - ] - ] - }, - ":0 S007": { - "kll": "S0x007 : U0x01f;", - "result": [ - [ - { - "type": "USBCode", - "uid": 31 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 7 - } - ] - ] - }, - ":0 S008": { - "kll": "S0x008 : U0x01e;", - "result": [ - [ - { - "type": "USBCode", - "uid": 30 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 8 - } - ] - ] - }, - ":0 S009": { - "kll": "S0x009 : U0x035;", - "result": [ - [ - { - "type": "USBCode", - "uid": 53 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 9 - } - ] - ] - }, - ":0 S012": { - "kll": "S0x00c : layerLock(1) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 1 - } - ], - "name": "layerLock", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 12 - } - ] - ] - }, - ":0 S013": { - "kll": "S0x00d : U0x017;", - "result": [ - [ - { - "type": "USBCode", - "uid": 23 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 13 - } - ] - ] - }, - ":0 S014": { - "kll": "S0x00e : U0x015;", - "result": [ - [ - { - "type": "USBCode", - "uid": 21 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 14 - } - ] - ] - }, - ":0 S015": { - "kll": "S0x00f : U0x008;", - "result": [ - [ - { - "type": "USBCode", - "uid": 8 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 15 - } - ] - ] - }, - ":0 S016": { - "kll": "S0x010 : U0x01a;", - "result": [ - [ - { - "type": "USBCode", - "uid": 26 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 16 - } - ] - ] - }, - ":0 S017": { - "kll": "S0x011 : U0x014;", - "result": [ - [ - { - "type": "USBCode", - "uid": 20 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 17 - } - ] - ] - }, - ":0 S018": { - "kll": "S0x012 : U0x02b;", - "result": [ - [ - { - "type": "USBCode", - "uid": 43 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 18 - } - ] - ] - }, - ":0 S022": { - "kll": "S0x016 : U0x00a;", - "result": [ - [ - { - "type": "USBCode", - "uid": 10 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 22 - } - ] - ] - }, - ":0 S023": { - "kll": "S0x017 : U0x009;", - "result": [ - [ - { - "type": "USBCode", - "uid": 9 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 23 - } - ] - ] - }, - ":0 S024": { - "kll": "S0x018 : U0x007;", - "result": [ - [ - { - "type": "USBCode", - "uid": 7 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 24 - } - ] - ] - }, - ":0 S025": { - "kll": "S0x019 : U0x016;", - "result": [ - [ - { - "type": "USBCode", - "uid": 22 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 25 - } - ] - ] - }, - ":0 S026": { - "kll": "S0x01a : U0x004;", - "result": [ - [ - { - "type": "USBCode", - "uid": 4 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 26 - } - ] - ] - }, - ":0 S027": { - "kll": "S0x01b : U0x0e4;", - "result": [ - [ - { - "type": "USBCode", - "uid": 228 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 27 - } - ] - ] - }, - ":0 S028": { - "kll": "S0x01c : U0x0e2;", - "result": [ - [ - { - "type": "USBCode", - "uid": 226 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 28 - } - ] - ] - }, - ":0 S029": { - "kll": "S0x01d : U0x02d;", - "result": [ - [ - { - "type": "USBCode", - "uid": 45 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 29 - } - ] - ] - }, - ":0 S030": { - "kll": "S0x01e : layerShift(1) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 1 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 30 - } - ] - ] - }, - ":0 S031": { - "kll": "S0x01f : U0x005;", - "result": [ - [ - { - "type": "USBCode", - "uid": 5 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 31 - } - ] - ] - }, - ":0 S032": { - "kll": "S0x020 : U0x019;", - "result": [ - [ - { - "type": "USBCode", - "uid": 25 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 32 - } - ] - ] - }, - ":0 S033": { - "kll": "S0x021 : U0x006;", - "result": [ - [ - { - "type": "USBCode", - "uid": 6 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 33 - } - ] - ] - }, - ":0 S034": { - "kll": "S0x022 : U0x01b;", - "result": [ - [ - { - "type": "USBCode", - "uid": 27 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 34 - } - ] - ] - }, - ":0 S035": { - "kll": "S0x023 : U0x01d;", - "result": [ - [ - { - "type": "USBCode", - "uid": 29 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 35 - } - ] - ] - }, - ":0 S036": { - "kll": "S0x024 : U0x0e1;", - "result": [ - [ - { - "type": "USBCode", - "uid": 225 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 36 - } - ] - ] - }, - ":0 S037": { - "kll": "S0x025 : U0x04a;", - "result": [ - [ - { - "type": "USBCode", - "uid": 74 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 37 - } - ] - ] - }, - ":0 S038": { - "kll": "S0x026 : U0x04d;", - "result": [ - [ - { - "type": "USBCode", - "uid": 77 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 38 - } - ] - ] - }, - ":0 S039": { - "kll": "S0x027 : U0x04c;", - "result": [ - [ - { - "type": "USBCode", - "uid": 76 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 39 - } - ] - ] - }, - ":0 S040": { - "kll": "S0x028 : U0x02c;", - "result": [ - [ - { - "type": "USBCode", - "uid": 44 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 40 - } - ] - ] - }, - ":0 S041": { - "kll": "S0x029 : U0x0e2;", - "result": [ - [ - { - "type": "USBCode", - "uid": 226 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 41 - } - ] - ] - }, - ":0 S042": { - "kll": "S0x02a : U0x041;", - "result": [ - [ - { - "type": "USBCode", - "uid": 65 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 42 - } - ] - ] - }, - ":0 S043": { - "kll": "S0x02b : U0x040;", - "result": [ - [ - { - "type": "USBCode", - "uid": 64 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 43 - } - ] - ] - }, - ":0 S044": { - "kll": "S0x02c : U0x03f;", - "result": [ - [ - { - "type": "USBCode", - "uid": 63 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 44 - } - ] - ] - }, - ":0 S045": { - "kll": "S0x02d : layerRotate(1) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 1 - } - ], - "name": "layerRotate", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 45 - } - ] - ] - }, - ":1 S003": { - "kll": "S0x030 : layerShift(6) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 6 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 3 - } - ] - ] - }, - ":1 S004": { - "kll": "S0x031 : U0x023;", - "result": [ - [ - { - "type": "USBCode", - "uid": 35 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 4 - } - ] - ] - }, - ":1 S005": { - "kll": "S0x032 : U0x024;", - "result": [ - [ - { - "type": "USBCode", - "uid": 36 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 5 - } - ] - ] - }, - ":1 S006": { - "kll": "S0x033 : U0x025;", - "result": [ - [ - { - "type": "USBCode", - "uid": 37 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 6 - } - ] - ] - }, - ":1 S007": { - "kll": "S0x034 : U0x026;", - "result": [ - [ - { - "type": "USBCode", - "uid": 38 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 7 - } - ] - ] - }, - ":1 S008": { - "kll": "S0x035 : U0x027;", - "result": [ - [ - { - "type": "USBCode", - "uid": 39 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 8 - } - ] - ] - }, - ":1 S009": { - "kll": "S0x036 : U0x02a;", - "result": [ - [ - { - "type": "USBCode", - "uid": 42 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 9 - } - ] - ] - }, - ":1 S012": { - "kll": "S0x039 : U0x02f;", - "result": [ - [ - { - "type": "USBCode", - "uid": 47 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 12 - } - ] - ] - }, - ":1 S013": { - "kll": "S0x03a : U0x01c;", - "result": [ - [ - { - "type": "USBCode", - "uid": 28 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 13 - } - ] - ] - }, - ":1 S014": { - "kll": "S0x03b : U0x018;", - "result": [ - [ - { - "type": "USBCode", - "uid": 24 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 14 - } - ] - ] - }, - ":1 S015": { - "kll": "S0x03c : U0x00c;", - "result": [ - [ - { - "type": "USBCode", - "uid": 12 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 15 - } - ] - ] - }, - ":1 S016": { - "kll": "S0x03d : U0x012;", - "result": [ - [ - { - "type": "USBCode", - "uid": 18 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 16 - } - ] - ] - }, - ":1 S017": { - "kll": "S0x03e : U0x013;", - "result": [ - [ - { - "type": "USBCode", - "uid": 19 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 17 - } - ] - ] - }, - ":1 S018": { - "kll": "S0x03f : U0x030;", - "result": [ - [ - { - "type": "USBCode", - "uid": 48 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 18 - } - ] - ] - }, - ":1 S022": { - "kll": "S0x043 : U0x00b;", - "result": [ - [ - { - "type": "USBCode", - "uid": 11 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 22 - } - ] - ] - }, - ":1 S023": { - "kll": "S0x044 : U0x00d;", - "result": [ - [ - { - "type": "USBCode", - "uid": 13 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 23 - } - ] - ] - }, - ":1 S024": { - "kll": "S0x045 : U0x00e;", - "result": [ - [ - { - "type": "USBCode", - "uid": 14 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 24 - } - ] - ] - }, - ":1 S025": { - "kll": "S0x046 : U0x00f;", - "result": [ - [ - { - "type": "USBCode", - "uid": 15 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 25 - } - ] - ] - }, - ":1 S026": { - "kll": "S0x047 : U0x033;", - "result": [ - [ - { - "type": "USBCode", - "uid": 51 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 26 - } - ] - ] - }, - ":1 S027": { - "kll": "S0x048 : U0x034;", - "result": [ - [ - { - "type": "USBCode", - "uid": 52 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 27 - } - ] - ] - }, - ":1 S028": { - "kll": "S0x049 : U0x0e6;", - "result": [ - [ - { - "type": "USBCode", - "uid": 230 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 28 - } - ] - ] - }, - ":1 S029": { - "kll": "S0x04a : U0x0e4;", - "result": [ - [ - { - "type": "USBCode", - "uid": 228 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 29 - } - ] - ] - }, - ":1 S030": { - "kll": "S0x04b : layerShift(2) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 2 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 30 - } - ] - ] - }, - ":1 S031": { - "kll": "S0x04c : U0x011;", - "result": [ - [ - { - "type": "USBCode", - "uid": 17 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 31 - } - ] - ] - }, - ":1 S032": { - "kll": "S0x04d : U0x010;", - "result": [ - [ - { - "type": "USBCode", - "uid": 16 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 32 - } - ] - ] - }, - ":1 S033": { - "kll": "S0x04e : U0x036;", - "result": [ - [ - { - "type": "USBCode", - "uid": 54 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 33 - } - ] - ] - }, - ":1 S034": { - "kll": "S0x04f : U0x037;", - "result": [ - [ - { - "type": "USBCode", - "uid": 55 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 34 - } - ] - ] - }, - ":1 S035": { - "kll": "S0x050 : U0x038;", - "result": [ - [ - { - "type": "USBCode", - "uid": 56 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 35 - } - ] - ] - }, - ":1 S036": { - "kll": "S0x051 : U0x0e5;", - "result": [ - [ - { - "type": "USBCode", - "uid": 229 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 36 - } - ] - ] - }, - ":1 S037": { - "kll": "S0x052 : U0x04b;", - "result": [ - [ - { - "type": "USBCode", - "uid": 75 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 37 - } - ] - ] - }, - ":1 S038": { - "kll": "S0x053 : U0x04e;", - "result": [ - [ - { - "type": "USBCode", - "uid": 78 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 38 - } - ] - ] - }, - ":1 S039": { - "kll": "S0x054 : U0x028;", - "result": [ - [ - { - "type": "USBCode", - "uid": 40 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 39 - } - ] - ] - }, - ":1 S040": { - "kll": "S0x055 : U0x02c;", - "result": [ - [ - { - "type": "USBCode", - "uid": 44 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 40 - } - ] - ] - }, - ":1 S041": { - "kll": "S0x056 : U0x050;", - "result": [ - [ - { - "type": "USBCode", - "uid": 80 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 41 - } - ] - ] - }, - ":1 S042": { - "kll": "S0x057 : U0x051;", - "result": [ - [ - { - "type": "USBCode", - "uid": 81 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 42 - } - ] - ] - }, - ":1 S043": { - "kll": "S0x058 : U0x052;", - "result": [ - [ - { - "type": "USBCode", - "uid": 82 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 43 - } - ] - ] - }, - ":1 S044": { - "kll": "S0x059 : U0x04f;", - "result": [ - [ - { - "type": "USBCode", - "uid": 79 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 44 - } - ] - ] - }, - ":1 S045": { - "kll": "S0x05a : U0x0e7;", - "result": [ - [ - { - "type": "USBCode", - "uid": 231 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 45 - } - ] - ] - } - }, - "1": { - ":0 S004": { - "kll": "S0x004 : U0x03e;", - "result": [ - [ - { - "type": "USBCode", - "uid": 62 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 4 - } - ] - ] - }, - ":0 S005": { - "kll": "S0x005 : U0x03d;", - "result": [ - [ - { - "type": "USBCode", - "uid": 61 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 5 - } - ] - ] - }, - ":0 S006": { - "kll": "S0x006 : U0x03c;", - "result": [ - [ - { - "type": "USBCode", - "uid": 60 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 6 - } - ] - ] - }, - ":0 S007": { - "kll": "S0x007 : U0x03b;", - "result": [ - [ - { - "type": "USBCode", - "uid": 59 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 7 - } - ] - ] - }, - ":0 S008": { - "kll": "S0x008 : U0x03a;", - "result": [ - [ - { - "type": "USBCode", - "uid": 58 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 8 - } - ] - ] - }, - ":0 S012": { - "kll": "S0x00c : layerShift(1) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 1 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 12 - } - ] - ] - }, - ":0 S030": { - "kll": "S0x01e : layerShift(2) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 2 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 30 - } - ] - ] - }, - ":0 S041": { - "kll": "S0x029 : layerShift(5) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 5 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 41 - } - ] - ] - }, - ":0 S042": { - "kll": "S0x02a : layerShift(4) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 4 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 42 - } - ] - ] - }, - ":0 S043": { - "kll": "S0x02b : layerShift(3) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 3 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 43 - } - ] - ] - }, - ":1 S003": { - "kll": "S0x030 : layerShift(6) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 6 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 3 - } - ] - ] - }, - ":1 S030": { - "kll": "S0x04b : layerShift(7) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 7 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 30 - } - ] - ] - } - }, - "2": { - ":0 S009": { - "kll": "S0x009 : flashMode();", - "result": [ - [ - { - "args": [], - "name": "flashMode", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 9 - } - ] - ] - }, - ":0 S012": { - "kll": "S0x00c : layerShift(1) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 1 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 12 - } - ] - ] - }, - ":0 S030": { - "kll": "S0x01e : layerShift(2) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 2 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 30 - } - ] - ] - }, - ":0 S041": { - "kll": "S0x029 : layerShift(5) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 5 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 41 - } - ] - ] - }, - ":0 S042": { - "kll": "S0x02a : layerShift(4) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 4 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 42 - } - ] - ] - }, - ":0 S043": { - "kll": "S0x02b : layerShift(3) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 3 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 43 - } - ] - ] - }, - ":1 S003": { - "kll": "S0x030 : layerShift(6) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 6 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 3 - } - ] - ] - }, - ":1 S008": { - "kll": "S0x035 : flashMode();", - "result": [ - [ - { - "args": [], - "name": "flashMode", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 8 - } - ] - ] - }, - ":1 S009": { - "kll": "S0x036 : flashMode();", - "result": [ - [ - { - "args": [], - "name": "flashMode", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 9 - } - ] - ] - }, - ":1 S030": { - "kll": "S0x04b : layerShift(7) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 7 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 30 - } - ] - ] - } - } - }, - "PixelIds": { - "1": { - "Col": 16, - "Row": 6, - "ScanCode": 3, - "x": 118.65, - "y": 1.0, - "z": 0.0 - }, - "2": { - "Col": 4, - "Row": 0, - "ScanCode": 4, - "x": 99.6, - "y": 1.0, - "z": 0.0 - }, - "3": { - "Col": 6, - "Row": 0, - "ScanCode": 5, - "x": 80.55, - "y": 2.0, - "z": 0.0 - }, - "4": { - "Col": 8, - "Row": 0, - "ScanCode": 6, - "x": 61.5, - "y": 4.0, - "z": 0.0 - }, - "5": { - "Col": 10, - "Row": 0, - "ScanCode": 7, - "x": 42.45, - "y": 3.0, - "z": 0.0 - }, - "6": { - "Col": 12, - "Row": 0, - "ScanCode": 8, - "x": 23.4, - "y": 0.0, - "z": 0.0 - }, - "7": { - "Col": 14, - "Row": 0, - "ScanCode": 9, - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "8": { - "Col": 16, - "Row": 0, - "ScanCode": 12, - "x": 118.65, - "y": -23.05, - "z": 0.0 - }, - "9": { - "Col": 4, - "Row": 1, - "ScanCode": 13, - "x": 99.6, - "y": -18.05, - "z": 0.0 - }, - "10": { - "Col": 6, - "Row": 1, - "ScanCode": 14, - "x": 80.55, - "y": -17.05, - "z": 0.0 - }, - "11": { - "Col": 8, - "Row": 1, - "ScanCode": 15, - "x": 61.5, - "y": -15.05, - "z": 0.0 - }, - "12": { - "Col": 10, - "Row": 1, - "ScanCode": 16, - "x": 42.45, - "y": -16.05, - "z": 0.0 - }, - "13": { - "Col": 12, - "Row": 1, - "ScanCode": 17, - "x": 23.4, - "y": -19.05, - "z": 0.0 - }, - "14": { - "Col": 14, - "Row": 1, - "ScanCode": 18, - "x": 0.0, - "y": -19.05, - "z": 0.0 - }, - "15": { - "Col": 16, - "Row": 1, - "ScanCode": 22, - "x": 99.6, - "y": -37.1, - "z": 0.0 - }, - "16": { - "Col": 6, - "Row": 2, - "ScanCode": 23, - "x": 80.55, - "y": -36.1, - "z": 0.0 - }, - "17": { - "Col": 8, - "Row": 2, - "ScanCode": 24, - "x": 61.5, - "y": -34.1, - "z": 0.0 - }, - "18": { - "Col": 10, - "Row": 2, - "ScanCode": 25, - "x": 42.45, - "y": -35.1, - "z": 0.0 - }, - "19": { - "Col": 12, - "Row": 2, - "ScanCode": 26, - "x": 23.4, - "y": -38.1, - "z": 0.0 - }, - "20": { - "Col": 14, - "Row": 2, - "ScanCode": 27, - "x": 0.0, - "y": -38.1, - "z": 0.0 - }, - "21": { - "Col": 16, - "Row": 2, - "ScanCode": 28, - "x": 154.95, - "y": -75.05, - "z": 0.0 - }, - "22": { - "Col": 0, - "Row": 4, - "ScanCode": 29, - "x": 138.65, - "y": -68.05, - "z": 0.0 - }, - "23": { - "Col": 2, - "Row": 4, - "ScanCode": 30, - "x": 118.65, - "y": -51.05, - "z": 0.0 - }, - "24": { - "Col": 4, - "Row": 3, - "ScanCode": 31, - "x": 99.6, - "y": -56.15, - "z": 0.0 - }, - "25": { - "Col": 6, - "Row": 3, - "ScanCode": 32, - "x": 80.55, - "y": -55.15, - "z": 0.0 - }, - "26": { - "Col": 8, - "Row": 3, - "ScanCode": 33, - "x": 61.5, - "y": -53.15, - "z": 0.0 - }, - "27": { - "Col": 10, - "Row": 3, - "ScanCode": 34, - "x": 42.45, - "y": -54.15, - "z": 0.0 - }, - "28": { - "Col": 12, - "Row": 3, - "ScanCode": 35, - "x": 23.4, - "y": -57.15, - "z": 0.0 - }, - "29": { - "Col": 14, - "Row": 3, - "ScanCode": 36, - "x": 0.0, - "y": -57.15, - "z": 0.0 - }, - "30": { - "Col": 16, - "Row": 3, - "ScanCode": 37, - "x": 147.0, - "y": -91.2, - "z": 0.0 - }, - "31": { - "Col": 1, - "Row": 5, - "ScanCode": 38, - "x": 139.8, - "y": -109.2, - "z": 0.0 - }, - "32": { - "Col": 2, - "Row": 6, - "ScanCode": 39, - "x": 126.4, - "y": -93.2, - "z": 0.0 - }, - "33": { - "Col": 3, - "Row": 5, - "ScanCode": 40, - "x": 109.1, - "y": -86.2, - "z": 0.0 - }, - "34": { - "Col": 5, - "Row": 5, - "ScanCode": 41, - "x": 80.55, - "y": -74.2, - "z": 0.0 - }, - "35": { - "Col": 8, - "Row": 4, - "ScanCode": 42, - "x": 61.5, - "y": -72.2, - "z": 0.0 - }, - "36": { - "Col": 10, - "Row": 4, - "ScanCode": 43, - "x": 42.45, - "y": -73.2, - "z": 0.0 - }, - "37": { - "Col": 12, - "Row": 4, - "ScanCode": 44, - "x": 23.4, - "y": -76.2, - "z": 0.0 - }, - "38": { - "Col": 14, - "Row": 4, - "ScanCode": 45, - "x": 5.0, - "y": -76.2, - "z": 0.0 - }, - "39": { - "Col": 15, - "Row": 4 - } - }, - "ScanCodes": { - "3": { - "Col": 16, - "PixelId": 1, - "Row": 6, - "x": 118.65, - "y": 1.0, - "z": 0.0 - }, - "4": { - "Col": 4, - "PixelId": 2, - "Row": 0, - "x": 99.6, - "y": 1.0, - "z": 0.0 - }, - "5": { - "Col": 6, - "PixelId": 3, - "Row": 0, - "x": 80.55, - "y": 2.0, - "z": 0.0 - }, - "6": { - "Col": 8, - "PixelId": 4, - "Row": 0, - "x": 61.5, - "y": 4.0, - "z": 0.0 - }, - "7": { - "Col": 10, - "PixelId": 5, - "Row": 0, - "x": 42.45, - "y": 3.0, - "z": 0.0 - }, - "8": { - "Col": 12, - "PixelId": 6, - "Row": 0, - "x": 23.4, - "y": 0.0, - "z": 0.0 - }, - "9": { - "Col": 14, - "PixelId": 7, - "Row": 0, - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "12": { - "Col": 16, - "PixelId": 8, - "Row": 0, - "x": 118.65, - "y": -23.05, - "z": 0.0 - }, - "13": { - "Col": 4, - "PixelId": 9, - "Row": 1, - "x": 99.6, - "y": -18.05, - "z": 0.0 - }, - "14": { - "Col": 6, - "PixelId": 10, - "Row": 1, - "x": 80.55, - "y": -17.05, - "z": 0.0 - }, - "15": { - "Col": 8, - "PixelId": 11, - "Row": 1, - "x": 61.5, - "y": -15.05, - "z": 0.0 - }, - "16": { - "Col": 10, - "PixelId": 12, - "Row": 1, - "x": 42.45, - "y": -16.05, - "z": 0.0 - }, - "17": { - "Col": 12, - "PixelId": 13, - "Row": 1, - "x": 23.4, - "y": -19.05, - "z": 0.0 - }, - "18": { - "Col": 14, - "PixelId": 14, - "Row": 1, - "x": 0.0, - "y": -19.05, - "z": 0.0 - }, - "22": { - "Col": 16, - "PixelId": 15, - "Row": 1, - "x": 99.6, - "y": -37.1, - "z": 0.0 - }, - "23": { - "Col": 6, - "PixelId": 16, - "Row": 2, - "x": 80.55, - "y": -36.1, - "z": 0.0 - }, - "24": { - "Col": 8, - "PixelId": 17, - "Row": 2, - "x": 61.5, - "y": -34.1, - "z": 0.0 - }, - "25": { - "Col": 10, - "PixelId": 18, - "Row": 2, - "x": 42.45, - "y": -35.1, - "z": 0.0 - }, - "26": { - "Col": 12, - "PixelId": 19, - "Row": 2, - "x": 23.4, - "y": -38.1, - "z": 0.0 - }, - "27": { - "Col": 14, - "PixelId": 20, - "Row": 2, - "x": 0.0, - "y": -38.1, - "z": 0.0 - }, - "28": { - "Col": 16, - "PixelId": 21, - "Row": 2, - "x": 154.95, - "y": -75.05, - "z": 0.0 - }, - "29": { - "Col": 0, - "PixelId": 22, - "Row": 4, - "x": 138.65, - "y": -68.05, - "z": 0.0 - }, - "30": { - "Col": 2, - "PixelId": 23, - "Row": 4, - "x": 118.65, - "y": -51.05, - "z": 0.0 - }, - "31": { - "Col": 4, - "PixelId": 24, - "Row": 3, - "x": 99.6, - "y": -56.15, - "z": 0.0 - }, - "32": { - "Col": 6, - "PixelId": 25, - "Row": 3, - "x": 80.55, - "y": -55.15, - "z": 0.0 - }, - "33": { - "Col": 8, - "PixelId": 26, - "Row": 3, - "x": 61.5, - "y": -53.15, - "z": 0.0 - }, - "34": { - "Col": 10, - "PixelId": 27, - "Row": 3, - "x": 42.45, - "y": -54.15, - "z": 0.0 - }, - "35": { - "Col": 12, - "PixelId": 28, - "Row": 3, - "x": 23.4, - "y": -57.15, - "z": 0.0 - }, - "36": { - "Col": 14, - "PixelId": 29, - "Row": 3, - "x": 0.0, - "y": -57.15, - "z": 0.0 - }, - "37": { - "Col": 16, - "PixelId": 30, - "Row": 3, - "x": 147.0, - "y": -91.2, - "z": 0.0 - }, - "38": { - "Col": 1, - "PixelId": 31, - "Row": 5, - "x": 139.8, - "y": -109.2, - "z": 0.0 - }, - "39": { - "Col": 2, - "PixelId": 32, - "Row": 6, - "x": 126.4, - "y": -93.2, - "z": 0.0 - }, - "40": { - "Col": 3, - "PixelId": 33, - "Row": 5, - "x": 109.1, - "y": -86.2, - "z": 0.0 - }, - "41": { - "Col": 5, - "PixelId": 34, - "Row": 5, - "x": 80.55, - "y": -74.2, - "z": 0.0 - }, - "42": { - "Col": 8, - "PixelId": 35, - "Row": 4, - "x": 61.5, - "y": -72.2, - "z": 0.0 - }, - "43": { - "Col": 10, - "PixelId": 36, - "Row": 4, - "x": 42.45, - "y": -73.2, - "z": 0.0 - }, - "44": { - "Col": 12, - "PixelId": 37, - "Row": 4, - "x": 23.4, - "y": -76.2, - "z": 0.0 - }, - "45": { - "Col": 14, - "PixelId": 38, - "Row": 4, - "x": 5.0, - "y": -76.2, - "z": 0.0 - } - } -} \ No newline at end of file diff --git a/keyboard/if_ergodox/log/build.log b/keyboard/if_ergodox/log/build.log index 862a710..599e434 100755 --- a/keyboard/if_ergodox/log/build.log +++ b/keyboard/if_ergodox/log/build.log @@ -1,268 +1,194 @@ -cgi-bin/build_layout.bash 898a95ce502809e1429e6ab4b73e8da815b1972790ba5a MDErgo1 standard "MDErgo1-Blank-0.kll" "MDErgo1-Blank-1.kll" "MDErgo1-Blank-2.kll" 2>&1 -+ DefaultMapOverride='infinity_ergodox/lcdFuncMap MDErgo1-Blank-0' -+ PartialMapsExpandedOverride='infinity_ergodox/lcdFuncMap MDErgo1-Blank-1;infinity_ergodox/lcdFuncMap MDErgo1-Blank-2' -+ CMakeExtraArgs=-DCONFIGURATOR=1 -+ /srv/KiiConf/controller/Keyboards/ergodox-l.bash -c /srv/KiiConf/controller -o /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left -linux-gnu/Linux is supported. -Unix Build -Selected Generator: Ninja -/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left --- Build CPU Detected: -x86_64 --- Build Kernel Detected: -Linux 4.15.13-x86_64-linode106 +cgi-bin/build_layout_lts.bash 7b235e8c41419a9389e24f756ba879f915b410981efb3b MDErgo1 standard "MDErgo1-Blank-0.kll" "MDErgo1-Blank-1.kll" "MDErgo1-Blank-2.kll" 2>&1 +/srv/KiiConf/dist/tmp-lts/7b235e8c41419a9389e24f756ba879f915b410981efb3b ++ mkdir -p right +/srv/KiiConf/dist/tmp-lts/7b235e8c41419a9389e24f756ba879f915b410981efb3b ++ mkdir -p left ++ cd left ++ cp ../MDErgo1-Blank-0.kll ../MDErgo1-Blank-1.kll ../MDErgo1-Blank-2.kll . ++ cd right ++ cp ../MDErgo1-Blank-0.kll ../MDErgo1-Blank-1.kll ../MDErgo1-Blank-2.kll . ++ cmake /srv/KiiConf/controller-lts -DScanModule=MDErgo1 -DCHIP=mk20dx256vlh7 '-DBaseMap=defaultMap leftHand slave1 rightHand' -DMacroModule=PartialMap -DOutputModule=pjrcUSB -DDebugModule=full '-DDefaultMap=MDErgo1-Blank-0 lcdFuncMap' '-DPartialMaps=MDErgo1-Blank-1 lcdFuncMap;MDErgo1-Blank-2 lcdFuncMap' -DCONFIGURATOR=1 ++ cmake /srv/KiiConf/controller-lts -DScanModule=MDErgo1 -DCHIP=mk20dx256vlh7 '-DBaseMap=defaultMap rightHand slave1 leftHand' -DMacroModule=PartialMap -DOutputModule=pjrcUSB -DDebugModule=full '-DDefaultMap=MDErgo1-Blank-0 lcdFuncMap' '-DPartialMaps=MDErgo1-Blank-1 lcdFuncMap;MDErgo1-Blank-2 lcdFuncMap' -DCONFIGURATOR=1 -- Compiler Family: +arm-- Compiler Family: + arm -- Compiler Selected: +-- Compiler Selected: gcc -- Chip Selected: -mk20dx256vlh7 --- Chip Family: -mk2x --- CPU Selected: -cortex-m4 --- Compiler Source Files: -Lib/kinetis.c;Lib/delay.c;Lib/entropy.c;Lib/periodic.c;Lib/time.c --- Bootloader Type: -dfu --- Full Compiler: -/usr/bin/arm-none-eabi-gcc --- Detected Scan Module Source Files: -Scan/Devices/ISSILed/i2c.c;Scan/Devices/ISSILed/led_scan.c;Scan/Devices/MatrixARMPeriodic/matrix_scan.c;Scan/Devices/STLcd/lcd_scan.c;Scan/Devices/UARTConnect/connect_scan.c;Scan/Infinity_Ergodox/scan_loop.c --- Detected Macro Module Source Files: -Macro/PartialMap/kll.c;Macro/PartialMap/layer.c;Macro/PartialMap/macro.c;Macro/PartialMap/result.c;Macro/PartialMap/trigger.c;Macro/PixelMap/pixel.c;/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left/generatedPixelmap.c --- Detected Output Module Source Files: -Output/HID-IO/hidio_com.c;Output/Interface/output_gen.c;Output/USB/output_com.c;Output/USB/output_usb.c;Output/USB/arm/usb_desc.c;Output/USB/arm/usb_dev.c;Output/USB/arm/usb_joystick.c;Output/USB/arm/usb_keyboard.c;Output/USB/arm/usb_mem.c;Output/USB/arm/usb_mouse.c;Output/USB/arm/usb_rawio.c;Output/USB/arm/usb_serial.c --- Detected Debug Module Source Files: -Debug/cli/cli.c;Debug/latency/latency.c;Debug/led/led.c;Debug/print/print.c --- Found Git: /usr/bin/git (found version "1.9.1") -No LSB modules are available. --- Found LSB_RELEASE: /usr/bin/lsb_release --- Build OS Detected: -Ubuntu 14.04.5 LTS trusty --- Found Ctags: /usr/bin/ctags-exuberant (found version "5.9~svn20110310") -ctags-exuberant: cannot open tag file : Permission denied --- Found PythonInterp: python3 (found suitable version "3.4.3", minimum required is "3") --- Detected Layout Files: -/srv/KiiConf/controller/Scan/Devices/ISSILed/capabilities.kll -/srv/KiiConf/controller/Scan/Devices/MatrixARMPeriodic/capabilities.kll -/srv/KiiConf/controller/Scan/Devices/STLcd/capabilities.kll -/srv/KiiConf/controller/Scan/Devices/UARTConnect/capabilities.kll -/srv/KiiConf/controller/Macro/PartialMap/capabilities.kll -/srv/KiiConf/controller/Macro/PixelMap/capabilities.kll -/srv/KiiConf/controller/Output/HID-IO/capabilities.kll -/srv/KiiConf/controller/Output/USB/capabilities.kll -/srv/KiiConf/controller/Debug/latency/capabilities.kll -/srv/KiiConf/controller/Scan/Infinity_Ergodox/scancode_map.kll -/srv/KiiConf/controller/Scan/Infinity_Ergodox/leftHand.kll -/srv/KiiConf/controller/Scan/Infinity_Ergodox/slave1.kll -/srv/KiiConf/controller/Scan/Infinity_Ergodox/rightHand.kll -/srv/KiiConf/controller/kll/layouts/infinity_ergodox/lcdFuncMap.kll -/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left/MDErgo1-Blank-0.kll -/srv/KiiConf/controller/kll/layouts/infinity_ergodox/lcdFuncMap.kll -/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left/MDErgo1-Blank-1.kll -/srv/KiiConf/controller/kll/layouts/infinity_ergodox/lcdFuncMap.kll -/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left/MDErgo1-Blank-2.kll --- Found DFU_SUFFIX: /usr/local/bin/dfu-suffix (found version "0.8") --- Configuring done --- Generating done --- Build files have been written to: /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left -[1/39] Generating KLL Layout -kll BETA 0.5c.f42eca6a53c84bcd093a0e12149789db4f14f98c - 2018-04-08 20:48:41 -0700 --- Generating -- -/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left/kll_defs.h -/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left/generatedKeymap.h -/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left/generatedPixelmap.c -/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left/kll.json -[2/39] Building C object CMakeFiles/kiibohd.dir/main.c.o -[3/39] Building C object CMakeFiles/kiibohd.dir/Lib/kinetis.c.o -[4/39] Building C object CMakeFiles/kiibohd.dir/Lib/delay.c.o -[5/39] Building C object CMakeFiles/kiibohd.dir/Lib/entropy.c.o -[6/39] Building C object CMakeFiles/kiibohd.dir/Lib/periodic.c.o -[7/39] Building C object CMakeFiles/kiibohd.dir/Lib/time.c.o -[8/39] Building C object CMakeFiles/kiibohd.dir/Scan/Devices/ISSILed/i2c.c.o -[9/39] Building C object CMakeFiles/kiibohd.dir/Scan/Devices/ISSILed/led_scan.c.o -[10/39] Building C object CMakeFiles/kiibohd.dir/Scan/Devices/MatrixARMPeriodic/matrix_scan.c.o -[11/39] Building C object CMakeFiles/kiibohd.dir/Scan/Devices/STLcd/lcd_scan.c.o -[12/39] Building C object CMakeFiles/kiibohd.dir/Scan/Devices/UARTConnect/connect_scan.c.o -[13/39] Building C object CMakeFiles/kiibohd.dir/Scan/Infinity_Ergodox/scan_loop.c.o -[14/39] Building C object CMakeFiles/kiibohd.dir/Macro/PartialMap/kll.c.o -[15/39] Building C object CMakeFiles/kiibohd.dir/Macro/PartialMap/layer.c.o -[16/39] Building C object CMakeFiles/kiibohd.dir/Macro/PartialMap/macro.c.o -[17/39] Building C object CMakeFiles/kiibohd.dir/Macro/PartialMap/result.c.o -[18/39] Building C object CMakeFiles/kiibohd.dir/Macro/PartialMap/trigger.c.o -[19/39] Building C object CMakeFiles/kiibohd.dir/Macro/PixelMap/pixel.c.o -[20/39] Building C object CMakeFiles/kiibohd.dir/generatedPixelmap.c.o -[21/39] Building C object CMakeFiles/kiibohd.dir/Output/HID-IO/hidio_com.c.o -[22/39] Building C object CMakeFiles/kiibohd.dir/Output/Interface/output_gen.c.o -[23/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/output_com.c.o -[24/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/output_usb.c.o -[25/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/arm/usb_desc.c.o -[26/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/arm/usb_dev.c.o -[27/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/arm/usb_joystick.c.o -[28/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/arm/usb_keyboard.c.o -[29/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/arm/usb_mem.c.o -[30/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/arm/usb_mouse.c.o -[31/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/arm/usb_rawio.c.o -[32/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/arm/usb_serial.c.o -[33/39] Building C object CMakeFiles/kiibohd.dir/Debug/cli/cli.c.o -[34/39] Building C object CMakeFiles/kiibohd.dir/Debug/latency/latency.c.o -[35/39] Building C object CMakeFiles/kiibohd.dir/Debug/led/led.c.o -[36/39] Building C object CMakeFiles/kiibohd.dir/Debug/print/print.c.o -[37/39] Linking C executable kiibohd.elf -Setting new key -Key Prepended: 0000000000000000 -[38/39] Chip usage for mk20dx256vlh7 -[39/39] Message for DFU targets -NOTE: kiibohd.secure.dfu.bin is required for secure Kiibohd Bootloaders. -Only keyboards from late 2017 and onwards, support this. -See lsusb -d 1c11: -v and look for iInterface 4 Kiibohd DFU Secure. -Otherwise, use the kiibohd.dfu.bin file when it says iInterface 4 Kiibohd DFU. -Use the physical reset button on the back of the keyboard to temporarily disable secure mode. -NOTE2: Secure mode is disabled currently, but will be enabled when key negotiation is supported. - SRAM: 18% 12136/65536 bytes - Flash: 27% 69936/253952 bytes -Firmware has been compiled into: '/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left' -/srv/KiiConf/dist -+ RETVAL_L=0 -+ DefaultMapOverride='infinity_ergodox/lcdFuncMap MDErgo1-Blank-0' -+ PartialMapsExpandedOverride='infinity_ergodox/lcdFuncMap MDErgo1-Blank-1;infinity_ergodox/lcdFuncMap MDErgo1-Blank-2' -+ CMakeExtraArgs=-DCONFIGURATOR=1 -+ /srv/KiiConf/controller/Keyboards/ergodox-r.bash -c /srv/KiiConf/controller -o /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right -linux-gnu/Linux is supported. -Unix Build -Selected Generator: Ninja -/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right --- Build CPU Detected: -x86_64 --- Build Kernel Detected: -Linux 4.15.13-x86_64-linode106 --- Compiler Family: -arm --- Compiler Selected: gcc +mk20dx256vlh7 -- Chip Selected: mk20dx256vlh7 -- Chip Family: -mk2x +mk20dx -- CPU Selected: cortex-m4 +-- Chip Family: -- Compiler Source Files: -Lib/kinetis.c;Lib/delay.c;Lib/entropy.c;Lib/periodic.c;Lib/time.c +Lib/mk20dx.c;Lib/delay.c +-- Bootloader Type: +mk20dx +-- CPU Selected: +cortex-m4 +dfu +-- Compiler Source Files: +Lib/mk20dx.c;Lib/delay.c -- Bootloader Type: dfu --- Full Compiler: -/usr/bin/arm-none-eabi-gcc -- Detected Scan Module Source Files: -Scan/Devices/ISSILed/i2c.c;Scan/Devices/ISSILed/led_scan.c;Scan/Devices/MatrixARMPeriodic/matrix_scan.c;Scan/Devices/STLcd/lcd_scan.c;Scan/Devices/UARTConnect/connect_scan.c;Scan/Infinity_Ergodox/scan_loop.c +Scan/ISSILed/led_scan.c;Scan/MatrixARM/matrix_scan.c;Scan/STLcd/lcd_scan.c;Scan/UARTConnect/connect_scan.c;Scan/MDErgo1/scan_loop.c -- Detected Macro Module Source Files: -Macro/PartialMap/kll.c;Macro/PartialMap/layer.c;Macro/PartialMap/macro.c;Macro/PartialMap/result.c;Macro/PartialMap/trigger.c;Macro/PixelMap/pixel.c;/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right/generatedPixelmap.c +Macro/PartialMap/macro.c;Macro/PartialMap/result.c;Macro/PartialMap/trigger.c -- Detected Output Module Source Files: -Output/HID-IO/hidio_com.c;Output/Interface/output_gen.c;Output/USB/output_com.c;Output/USB/output_usb.c;Output/USB/arm/usb_desc.c;Output/USB/arm/usb_dev.c;Output/USB/arm/usb_joystick.c;Output/USB/arm/usb_keyboard.c;Output/USB/arm/usb_mem.c;Output/USB/arm/usb_mouse.c;Output/USB/arm/usb_rawio.c;Output/USB/arm/usb_serial.c +Output/pjrcUSB/output_com.c;Output/pjrcUSB/arm/usb_desc.c;Output/pjrcUSB/arm/usb_dev.c;Output/pjrcUSB/arm/usb_joystick.c;Output/pjrcUSB/arm/usb_keyboard.c;Output/pjrcUSB/arm/usb_mem.c;Output/pjrcUSB/arm/usb_mouse.c;Output/pjrcUSB/arm/usb_rawio.c;Output/pjrcUSB/arm/usb_serial.c -- Detected Debug Module Source Files: -Debug/cli/cli.c;Debug/latency/latency.c;Debug/led/led.c;Debug/print/print.c +Debug/cli/cli.c;Debug/led/led.c;Debug/print/print.c +-- Detected Scan Module Source Files: +Scan/ISSILed/led_scan.c;Scan/MatrixARM/matrix_scan.c;Scan/STLcd/lcd_scan.c;Scan/UARTConnect/connect_scan.c;Scan/MDErgo1/scan_loop.c +-- Detected Macro Module Source Files: +Macro/PartialMap/macro.c;Macro/PartialMap/result.c;Macro/PartialMap/trigger.c +-- Detected Output Module Source Files: +Output/pjrcUSB/output_com.c;Output/pjrcUSB/arm/usb_desc.c;Output/pjrcUSB/arm/usb_dev.c;Output/pjrcUSB/arm/usb_joystick.c;Output/pjrcUSB/arm/usb_keyboard.c;Output/pjrcUSB/arm/usb_mem.c;Output/pjrcUSB/arm/usb_mouse.c;Output/pjrcUSB/arm/usb_rawio.c;Output/pjrcUSB/arm/usb_serial.c +-- Detected Debug Module Source Files: +Debug/cli/cli.c;Debug/led/led.c;Debug/print/print.c -- Found Git: /usr/bin/git (found version "1.9.1") -No LSB modules are available. --- Found LSB_RELEASE: /usr/bin/lsb_release --- Build OS Detected: -Ubuntu 14.04.5 LTS trusty --- Found Ctags: /usr/bin/ctags-exuberant (found version "5.9~svn20110310") -ctags-exuberant: cannot open tag file : Permission denied +-- Found Git: /usr/bin/git (found version "1.9.1") +-- Found Ctags: /usr/bin/ctags (found version "5.9~svn20110310") +ctags: -- Found Ctags: /usr/bin/ctags (found version "5.9~svn20110310") +cannot open tag file : Permission denied +ctags: cannot open tag file : Permission denied -- Found PythonInterp: python3 (found suitable version "3.4.3", minimum required is "3") -- Detected Layout Files: -/srv/KiiConf/controller/Scan/Devices/ISSILed/capabilities.kll -/srv/KiiConf/controller/Scan/Devices/MatrixARMPeriodic/capabilities.kll -/srv/KiiConf/controller/Scan/Devices/STLcd/capabilities.kll -/srv/KiiConf/controller/Scan/Devices/UARTConnect/capabilities.kll -/srv/KiiConf/controller/Macro/PartialMap/capabilities.kll -/srv/KiiConf/controller/Macro/PixelMap/capabilities.kll -/srv/KiiConf/controller/Output/HID-IO/capabilities.kll -/srv/KiiConf/controller/Output/USB/capabilities.kll -/srv/KiiConf/controller/Debug/latency/capabilities.kll -/srv/KiiConf/controller/Scan/Infinity_Ergodox/scancode_map.kll -/srv/KiiConf/controller/Scan/Infinity_Ergodox/rightHand.kll -/srv/KiiConf/controller/Scan/Infinity_Ergodox/slave1.kll -/srv/KiiConf/controller/Scan/Infinity_Ergodox/leftHand.kll -/srv/KiiConf/controller/kll/layouts/infinity_ergodox/lcdFuncMap.kll -/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right/MDErgo1-Blank-0.kll -/srv/KiiConf/controller/kll/layouts/infinity_ergodox/lcdFuncMap.kll -/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right/MDErgo1-Blank-1.kll -/srv/KiiConf/controller/kll/layouts/infinity_ergodox/lcdFuncMap.kll -/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right/MDErgo1-Blank-2.kll +/srv/KiiConf/controller-lts/Scan/ISSILed/capabilities.kll +/srv/KiiConf/controller-lts/Scan/MatrixARM/capabilities.kll +/srv/KiiConf/controller-lts/Scan/STLcd/capabilities.kll +/srv/KiiConf/controller-lts/Scan/UARTConnect/capabilities.kll +/srv/KiiConf/controller-lts/Macro/PartialMap/capabilities.kll +/srv/KiiConf/controller-lts/Output/pjrcUSB/capabilities.kll +/srv/KiiConf/controller-lts/Scan/MDErgo1/scancode_map.kll +/srv/KiiConf/controller-lts/Scan/MDErgo1/rightHand.kll +/srv/KiiConf/controller-lts/Scan/MDErgo1/slave1.kll +/srv/KiiConf/controller-lts/Scan/MDErgo1/leftHand.kll +/srv/KiiConf/dist/tmp-lts/7b235e8c41419a9389e24f756ba879f915b410981efb3b/right/MDErgo1-Blank-0.kll +/srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +/srv/KiiConf/dist/tmp-lts/7b235e8c41419a9389e24f756ba879f915b410981efb3b/right/MDErgo1-Blank-1.kll +/srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +/srv/KiiConf/dist/tmp-lts/7b235e8c41419a9389e24f756ba879f915b410981efb3b/right/MDErgo1-Blank-2.kll +/srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +-- Found PythonInterp: python3 (found suitable version "3.4.3", minimum required is "3") +-- Detected Layout Files: +/srv/KiiConf/controller-lts/Scan/ISSILed/capabilities.kll +/srv/KiiConf/controller-lts/Scan/MatrixARM/capabilities.kll +/srv/KiiConf/controller-lts/Scan/STLcd/capabilities.kll +/srv/KiiConf/controller-lts/Scan/UARTConnect/capabilities.kll +/srv/KiiConf/controller-lts/Macro/PartialMap/capabilities.kll +/srv/KiiConf/controller-lts/Output/pjrcUSB/capabilities.kll +/srv/KiiConf/controller-lts/Scan/MDErgo1/scancode_map.kll +/srv/KiiConf/controller-lts/Scan/MDErgo1/leftHand.kll +/srv/KiiConf/controller-lts/Scan/MDErgo1/slave1.kll +/srv/KiiConf/controller-lts/Scan/MDErgo1/rightHand.kll +/srv/KiiConf/dist/tmp-lts/7b235e8c41419a9389e24f756ba879f915b410981efb3b/left/MDErgo1-Blank-0.kll +/srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +/srv/KiiConf/dist/tmp-lts/7b235e8c41419a9389e24f756ba879f915b410981efb3b/left/MDErgo1-Blank-1.kll +/srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +/srv/KiiConf/dist/tmp-lts/7b235e8c41419a9389e24f756ba879f915b410981efb3b/left/MDErgo1-Blank-2.kll +/srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +-- Found DFU_SUFFIX: /usr/local/bin/dfu-suffix (found version "0.8") +-- Configuring done -- Found DFU_SUFFIX: /usr/local/bin/dfu-suffix (found version "0.8") -- Configuring done -- Generating done --- Build files have been written to: /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right -[1/39] Generating KLL Layout -kll BETA 0.5c.f42eca6a53c84bcd093a0e12149789db4f14f98c - 2018-04-08 20:48:41 -0700 --- Generating -- -/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right/kll_defs.h -/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right/generatedKeymap.h -/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right/generatedPixelmap.c -/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right/kll.json -[2/39] Building C object CMakeFiles/kiibohd.dir/main.c.o -[3/39] Building C object CMakeFiles/kiibohd.dir/Lib/kinetis.c.o -[4/39] Building C object CMakeFiles/kiibohd.dir/Lib/delay.c.o -[5/39] Building C object CMakeFiles/kiibohd.dir/Lib/entropy.c.o -[6/39] Building C object CMakeFiles/kiibohd.dir/Lib/periodic.c.o -[7/39] Building C object CMakeFiles/kiibohd.dir/Lib/time.c.o -[8/39] Building C object CMakeFiles/kiibohd.dir/Scan/Devices/ISSILed/i2c.c.o -[9/39] Building C object CMakeFiles/kiibohd.dir/Scan/Devices/ISSILed/led_scan.c.o -[10/39] Building C object CMakeFiles/kiibohd.dir/Scan/Devices/MatrixARMPeriodic/matrix_scan.c.o -[11/39] Building C object CMakeFiles/kiibohd.dir/Scan/Devices/STLcd/lcd_scan.c.o -[12/39] Building C object CMakeFiles/kiibohd.dir/Scan/Devices/UARTConnect/connect_scan.c.o -[13/39] Building C object CMakeFiles/kiibohd.dir/Scan/Infinity_Ergodox/scan_loop.c.o -[14/39] Building C object CMakeFiles/kiibohd.dir/Macro/PartialMap/kll.c.o -[15/39] Building C object CMakeFiles/kiibohd.dir/Macro/PartialMap/layer.c.o -[16/39] Building C object CMakeFiles/kiibohd.dir/Macro/PartialMap/macro.c.o -[17/39] Building C object CMakeFiles/kiibohd.dir/Macro/PartialMap/result.c.o -[18/39] Building C object CMakeFiles/kiibohd.dir/Macro/PartialMap/trigger.c.o -[19/39] Building C object CMakeFiles/kiibohd.dir/Macro/PixelMap/pixel.c.o -[20/39] Building C object CMakeFiles/kiibohd.dir/generatedPixelmap.c.o -[21/39] Building C object CMakeFiles/kiibohd.dir/Output/HID-IO/hidio_com.c.o -[22/39] Building C object CMakeFiles/kiibohd.dir/Output/Interface/output_gen.c.o -[23/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/output_com.c.o -[24/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/output_usb.c.o -[25/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/arm/usb_desc.c.o -[26/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/arm/usb_dev.c.o -[27/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/arm/usb_joystick.c.o -[28/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/arm/usb_keyboard.c.o -[29/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/arm/usb_mem.c.o -[30/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/arm/usb_mouse.c.o -[31/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/arm/usb_rawio.c.o -[32/39] Building C object CMakeFiles/kiibohd.dir/Output/USB/arm/usb_serial.c.o -[33/39] Building C object CMakeFiles/kiibohd.dir/Debug/cli/cli.c.o -[34/39] Building C object CMakeFiles/kiibohd.dir/Debug/latency/latency.c.o -[35/39] Building C object CMakeFiles/kiibohd.dir/Debug/led/led.c.o -[36/39] Building C object CMakeFiles/kiibohd.dir/Debug/print/print.c.o -[37/39] Linking C executable kiibohd.elf -Setting new key -Key Prepended: 0000000000000000 -[38/39] Message for DFU targets -[39/39] Chip usage for mk20dx256vlh7 -NOTE: kiibohd.secure.dfu.bin is required for secure Kiibohd Bootloaders. -Only keyboards from late 2017 and onwards, support this. -See lsusb -d 1c11: -v and look for iInterface 4 Kiibohd DFU Secure. -Otherwise, use the kiibohd.dfu.bin file when it says iInterface 4 Kiibohd DFU. -Use the physical reset button on the back of the keyboard to temporarily disable secure mode. -NOTE2: Secure mode is disabled currently, but will be enabled when key negotiation is supported. - SRAM: 18% 12264/65536 bytes - Flash: 27% 70200/253952 bytes -Firmware has been compiled into: '/srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right' -/srv/KiiConf/dist -+ RETVAL_R=0 -+ (( 0 != 0 )) -+ (( 0 != 0 )) +CMake Warning: + Manually-specified variables were not used by the project: + + CONFIGURATOR + + +-- Build files have been written to: /srv/KiiConf/dist/tmp-lts/7b235e8c41419a9389e24f756ba879f915b410981efb3b/left ++ make -j +-- Generating done +CMake Warning: + Manually-specified variables were not used by the project: + + CONFIGURATOR + + +-- Build files have been written to: /srv/KiiConf/dist/tmp-lts/7b235e8c41419a9389e24f756ba879f915b410981efb3b/right ++ make -j +[ 4%] Generating KLL Layout +[ 4%] Generating KLL Layout +Scanning dependencies of target kiibohd.elf +[ 8%] [ 12%] [ 16%] [ 20%] [ 24%] [ 28%] Building C object CMakeFiles/kiibohd.elf.dir/main.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Lib/delay.c.o +[ 32%] Building C object CMakeFiles/kiibohd.elf.dir/Lib/mk20dx.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Scan/ISSILed/led_scan.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Scan/MatrixARM/matrix_scan.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Scan/STLcd/lcd_scan.c.o +Scanning dependencies of target kiibohd.elf +Building C object CMakeFiles/kiibohd.elf.dir/Scan/UARTConnect/connect_scan.c.o +[ 8%] [ 12%] [ 16%] [ 36%] [ 40%] Building C object CMakeFiles/kiibohd.elf.dir/Scan/MDErgo1/scan_loop.c.o +Building C object CMakeFiles/kiibohd.elf.dir/main.c.o +[ 44%] [ 20%] Building C object CMakeFiles/kiibohd.elf.dir/Lib/mk20dx.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Lib/delay.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Macro/PartialMap/macro.c.o +[ 48%] Building C object CMakeFiles/kiibohd.elf.dir/Macro/PartialMap/result.c.o +[ 24%] Building C object CMakeFiles/kiibohd.elf.dir/Macro/PartialMap/trigger.c.o +[ 52%] [ 28%] Building C object CMakeFiles/kiibohd.elf.dir/Scan/ISSILed/led_scan.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Scan/MatrixARM/matrix_scan.c.o +[ 56%] [ 60%] [ 32%] [ 64%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_desc.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/output_com.c.o +[ 68%] Building C object CMakeFiles/kiibohd.elf.dir/Scan/STLcd/lcd_scan.c.o +[ 72%] [ 36%] Building C object CMakeFiles/kiibohd.elf.dir/Scan/UARTConnect/connect_scan.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_keyboard.c.o +[ 40%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_dev.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_mem.c.o +[ 44%] [ 48%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_joystick.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Macro/PartialMap/macro.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Macro/PartialMap/result.c.o +[ 52%] Building C object CMakeFiles/kiibohd.elf.dir/Scan/MDErgo1/scan_loop.c.o +[ 76%] Building C object CMakeFiles/kiibohd.elf.dir/Macro/PartialMap/trigger.c.o +[ 80%] [ 84%] [ 88%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/output_com.c.o +[ 56%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_mouse.c.o +[ 60%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_rawio.c.o +[ 64%] [ 92%] [ 96%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_desc.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_serial.c.o +[ 68%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/led/led.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Debug/cli/cli.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_keyboard.c.o +[ 72%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/print/print.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_dev.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_joystick.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_mem.c.o +[ 76%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_mouse.c.o +[ 80%] [ 84%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_rawio.c.o +[ 88%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_serial.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Debug/cli/cli.c.o +[ 92%] [ 96%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/print/print.c.o +Building C object CMakeFiles/kiibohd.elf.dir/Debug/led/led.c.o +Linking C executable kiibohd.elf +Create and sign dfu bin file: kiibohd.dfu.bin +Creating Extended Listing: kiibohd.lss +Linking C executable kiibohd.elf +Create and sign dfu bin file: kiibohd.dfu.bin +Creating Symbol Table: kiibohd.sym +Creating Extended Listing: kiibohd.lss +[ 96%] Built target kiibohd.elf +Scanning dependencies of target SizeAfter +[100%] Chip usage for mk20dx256vlh7 +  SRAM: 14% 9568/65536 bytes + Flash: 17% 43704/253952 bytes +[100%] Built target SizeAfter ++ RETVAL=0 ++ set +x +/srv/KiiConf/dist/tmp-lts/7b235e8c41419a9389e24f756ba879f915b410981efb3b +Creating Symbol Table: kiibohd.sym +[ 96%] Built target kiibohd.elf +Scanning dependencies of target SizeAfter +[100%] Chip usage for mk20dx256vlh7 +  SRAM: 14% 9564/65536 bytes + Flash: 17% 43696/253952 bytes +[100%] Built target SizeAfter + RETVAL=0 -+ ln -s /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left/kiibohd.dfu.bin /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left_kiibohd.dfu.bin -+ ln -s /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left/kiibohd.secure.dfu.bin /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left_kiibohd.secure.dfu.bin -+ ln -s /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left/kll.json /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left_kll.json -+ ln -s /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left/log/generatedKeymap.h /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left_generatedKeymap.h -+ ln -s /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left/log/kll_defs.h /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/left_kll_defs.h -+ ln -s /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right/kiibohd.dfu.bin /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right_kiibohd.dfu.bin -+ ln -s /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right/kiibohd.secure.dfu.bin /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right_kiibohd.secure.dfu.bin -+ ln -s /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right/kll.json /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right_kll.json -+ ln -s /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right/log/generatedKeymap.h /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right_generatedKeymap.h -+ ln -s /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right/log/kll_defs.h /srv/KiiConf/tmp/898a95ce502809e1429e6ab4b73e8da815b1972790ba5a/right_kll_defs.h + set +x -Compilation Completed. diff --git a/keyboard/if_ergodox/log/left_generatedKeymap.h b/keyboard/if_ergodox/log/left_generatedKeymap.h new file mode 100755 index 0000000..dcef967 --- /dev/null +++ b/keyboard/if_ergodox/log/left_generatedKeymap.h @@ -0,0 +1,803 @@ +/* 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 . + */ + +// This file was generated by the kll compiler, DO NOT EDIT. +// Generation Date: 2018-07-07 +// KLL Backend: kiibohd +// KLL Git Rev: ee4008a1905ca14bac641f581304c3b967b8ddc3 +// KLL Git Changes: None +// Compiler arguments: +// /srv/KiiConf/controller-lts/kll/kll.py +// /srv/KiiConf/controller-lts/Scan/ISSILed/capabilities.kll +// /srv/KiiConf/controller-lts/Scan/MatrixARM/capabilities.kll +// /srv/KiiConf/controller-lts/Scan/STLcd/capabilities.kll +// /srv/KiiConf/controller-lts/Scan/UARTConnect/capabilities.kll +// /srv/KiiConf/controller-lts/Macro/PartialMap/capabilities.kll +// /srv/KiiConf/controller-lts/Output/pjrcUSB/capabilities.kll +// /srv/KiiConf/controller-lts/Scan/MDErgo1/scancode_map.kll +// /srv/KiiConf/controller-lts/Scan/MDErgo1/leftHand.kll +// /srv/KiiConf/controller-lts/Scan/MDErgo1/slave1.kll +// /srv/KiiConf/controller-lts/Scan/MDErgo1/rightHand.kll +// -d +// MDErgo1-Blank-0.kll +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// -p +// MDErgo1-Blank-1.kll +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// -p +// MDErgo1-Blank-2.kll +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// --backend +// kiibohd +// --templates +// /srv/KiiConf/controller-lts/kll/templates/kiibohdKeymap.h +// /srv/KiiConf/controller-lts/kll/templates/kiibohdDefs.h +// --outputs +// generatedKeymap.h +// kll_defs.h +// +// - Base Layer - +// ISSILedCapabilities +// /srv/KiiConf/controller-lts/Scan/ISSILed/capabilities.kll +// MatrixArmCapabilities +// /srv/KiiConf/controller-lts/Scan/MatrixARM/capabilities.kll +// STLcdCapabilities +// /srv/KiiConf/controller-lts/Scan/STLcd/capabilities.kll +// UARTConnectCapabilities +// /srv/KiiConf/controller-lts/Scan/UARTConnect/capabilities.kll +// PartialMapCapabilities +// /srv/KiiConf/controller-lts/Macro/PartialMap/capabilities.kll +// pjrcUSBCapabilities +// /srv/KiiConf/controller-lts/Output/pjrcUSB/capabilities.kll +// MDErgo1 +// /srv/KiiConf/controller-lts/Scan/MDErgo1/scancode_map.kll +// MDErgo1LeftHand +// /srv/KiiConf/controller-lts/Scan/MDErgo1/leftHand.kll +// MDErgo1Slave1 +// /srv/KiiConf/controller-lts/Scan/MDErgo1/slave1.kll +// MDErgo1RightHand +// /srv/KiiConf/controller-lts/Scan/MDErgo1/rightHand.kll +// - Default Layer - +// MDErgo1 +// MDErgo1-Blank-0.kll +// lcdFuncMap +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// - Partial Layers - +// Layer 1 +// MDErgo1 +// MDErgo1-Blank-1.kll +// lcdFuncMap +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// Layer 2 +// MDErgo1 +// MDErgo1-Blank-2.kll +// lcdFuncMap +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll + + + +#pragma once + +// ----- Includes ----- + +// KLL Include +#include + + + +// ----- Capabilities ----- + +// Capability function declarations +void LCD_layerStackExact_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void LCD_layerStack_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void LED_control_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Macro_layerLatch_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Macro_layerLock_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Macro_layerRotate_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Macro_layerShift_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Macro_layerState_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Output_consCtrlSend_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Output_flashMode_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Output_kbdProtocolBoot_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Output_kbdProtocolNKRO_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Output_noneSend_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Output_sysCtrlSend_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Output_toggleKbdProtocol_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Output_usbCodeSend_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Output_usbMouse_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); + + + +// Indexed Capabilities Table +const Capability CapabilitiesList[] = { + { LCD_layerStackExact_capability, 9 }, + { LCD_layerStack_capability, 0 }, + { LED_control_capability, 4 }, + { Macro_layerLatch_capability, 2 }, + { Macro_layerLock_capability, 2 }, + { Macro_layerRotate_capability, 1 }, + { Macro_layerShift_capability, 2 }, + { Macro_layerState_capability, 3 }, + { Output_consCtrlSend_capability, 2 }, + { Output_flashMode_capability, 0 }, + { Output_kbdProtocolBoot_capability, 0 }, + { Output_kbdProtocolNKRO_capability, 0 }, + { Output_noneSend_capability, 0 }, + { Output_sysCtrlSend_capability, 1 }, + { Output_toggleKbdProtocol_capability, 0 }, + { Output_usbCodeSend_capability, 1 }, + { Output_usbMouse_capability, 6 }, +}; + + +// -- Result Macros + +// Result Macro Guides +Guide_RM( 0 ) = { 1, 15, KEY_2, 0 }; +Guide_RM( 1 ) = { 1, 15, KEY_BACKSLASH, 0 }; +Guide_RM( 2 ) = { 1, 15, KEY_F, 0 }; +Guide_RM( 3 ) = { 1, 15, KEY_SEMICOLON, 0 }; +Guide_RM( 4 ) = { 1, 15, KEY_RCTRL, 0 }; +Guide_RM( 5 ) = { 1, 15, KEY_J, 0 }; +Guide_RM( 6 ) = { 1, 15, KEY_ESC, 0 }; +Guide_RM( 7 ) = { 1, 15, KEY_QUOTE, 0 }; +Guide_RM( 8 ) = { 1, 15, KEY_F8, 0 }; +Guide_RM( 9 ) = { 1, 15, KEY_LGUI, 0 }; +Guide_RM( 10 ) = { 1, 15, KEY_K, 0 }; +Guide_RM( 11 ) = { 1, 15, KEY_DELETE, 0 }; +Guide_RM( 12 ) = { 1, 15, KEY_DOWN, 0 }; +Guide_RM( 13 ) = { 1, 15, KEY_5, 0 }; +Guide_RM( 14 ) = { 1, 15, KEY_F7, 0 }; +Guide_RM( 15 ) = { 1, 15, KEY_ENTER, 0 }; +Guide_RM( 16 ) = { 1, 15, KEY_D, 0 }; +Guide_RM( 17 ) = { 1, 15, KEY_UP, 0 }; +Guide_RM( 18 ) = { 1, 15, KEY_P, 0 }; +Guide_RM( 19 ) = { 1, 15, KEY_F6, 0 }; +Guide_RM( 20 ) = { 1, 15, KEY_TAB, 0 }; +Guide_RM( 21 ) = { 1, 15, KEY_SPACE, 0 }; +Guide_RM( 22 ) = { 1, 15, KEY_U, 0 }; +Guide_RM( 23 ) = { 1, 15, KEY_S, 0 }; +Guide_RM( 24 ) = { 1, 15, KEY_RIGHT_BRACKET, 0 }; +Guide_RM( 25 ) = { 1, 15, KEY_G, 0 }; +Guide_RM( 26 ) = { 1, 15, KEY_RSHIFT, 0 }; +Guide_RM( 27 ) = { 1, 15, KEY_H, 0 }; +Guide_RM( 28 ) = { 1, 15, KEY_HOME, 0 }; +Guide_RM( 29 ) = { 1, 15, KEY_COMMA, 0 }; +Guide_RM( 30 ) = { 1, 15, KEY_LALT, 0 }; +Guide_RM( 31 ) = { 1, 15, KEY_E, 0 }; +Guide_RM( 32 ) = { 1, 15, KEY_PAGE_UP, 0 }; +Guide_RM( 33 ) = { 1, 15, KEY_END, 0 }; +Guide_RM( 34 ) = { 2, 4, 1, 0, 1, 0 }; +Guide_RM( 35 ) = { 1, 15, KEY_I, 0 }; +Guide_RM( 36 ) = { 1, 15, KEY_W, 0 }; +Guide_RM( 37 ) = { 1, 15, KEY_PAGE_DOWN, 0 }; +Guide_RM( 38 ) = { 1, 15, KEY_LEFT_BRACKET, 0 }; +Guide_RM( 39 ) = { 1, 15, KEY_O, 0 }; +Guide_RM( 40 ) = { 1, 15, KEY_X, 0 }; +Guide_RM( 41 ) = { 1, 15, KEY_Q, 0 }; +Guide_RM( 42 ) = { 1, 15, KEY_Y, 0 }; +Guide_RM( 43 ) = { 1, 15, KEY_B, 0 }; +Guide_RM( 44 ) = { 1, 15, KEY_PERIOD, 0 }; +Guide_RM( 45 ) = { 1, 15, KEY_Z, 0 }; +Guide_RM( 46 ) = { 1, 15, KEY_N, 0 }; +Guide_RM( 47 ) = { 1, 15, KEY_T, 0 }; +Guide_RM( 48 ) = { 1, 15, KEY_SLASH, 0 }; +Guide_RM( 49 ) = { 1, 15, KEY_9, 0 }; +Guide_RM( 50 ) = { 1, 15, KEY_LSHIFT, 0 }; +Guide_RM( 51 ) = { 1, 15, KEY_1, 0 }; +Guide_RM( 52 ) = { 1, 15, KEY_M, 0 }; +Guide_RM( 53 ) = { 1, 15, KEY_6, 0 }; +Guide_RM( 54 ) = { 1, 15, KEY_R, 0 }; +Guide_RM( 55 ) = { 1, 15, KEY_0, 0 }; +Guide_RM( 56 ) = { 1, 15, KEY_BACKTICK, 0 }; +Guide_RM( 57 ) = { 1, 15, KEY_V, 0 }; +Guide_RM( 58 ) = { 1, 15, KEY_RGUI, 0 }; +Guide_RM( 59 ) = { 1, 15, KEY_BACKSPACE, 0 }; +Guide_RM( 60 ) = { 1, 15, KEY_MINUS, 0 }; +Guide_RM( 61 ) = { 1, 15, KEY_L, 0 }; +Guide_RM( 62 ) = { 1, 15, KEY_C, 0 }; +Guide_RM( 63 ) = { 1, 15, KEY_4, 0 }; +Guide_RM( 64 ) = { 1, 15, KEY_EQUAL, 0 }; +Guide_RM( 65 ) = { 2, 6, 1, 0, 1, 0 }; +Guide_RM( 66 ) = { 1, 15, KEY_7, 0 }; +Guide_RM( 67 ) = { 1, 15, KEY_RIGHT, 0 }; +Guide_RM( 68 ) = { 1, 15, KEY_3, 0 }; +Guide_RM( 69 ) = { 2, 6, 2, 0, 1, 0 }; +Guide_RM( 70 ) = { 2, 5, 1, 1, 0 }; +Guide_RM( 71 ) = { 1, 15, KEY_LEFT, 0 }; +Guide_RM( 72 ) = { 1, 15, KEY_8, 0 }; +Guide_RM( 73 ) = { 1, 15, KEY_A, 0 }; +Guide_RM( 74 ) = { 2, 5, 0, 1, 0 }; +Guide_RM( 75 ) = { 1, 15, KEY_F2, 0 }; +Guide_RM( 76 ) = { 1, 15, KEY_F5, 0 }; +Guide_RM( 77 ) = { 1, 15, KEY_F9, 0 }; +Guide_RM( 78 ) = { 1, 15, KEY_F1, 0 }; +Guide_RM( 79 ) = { 1, 15, KEY_F10, 0 }; +Guide_RM( 80 ) = { 1, 15, KEY_F4, 0 }; +Guide_RM( 81 ) = { 1, 15, KEY_F3, 0 }; +Guide_RM( 82 ) = { 1, 9, 0 }; + + +// -- Result Macro List + +// Indexed Table of Result Macros +const ResultMacro ResultMacroList[] = { + Define_RM( 0 ), + Define_RM( 1 ), + Define_RM( 2 ), + Define_RM( 3 ), + Define_RM( 4 ), + Define_RM( 5 ), + Define_RM( 6 ), + Define_RM( 7 ), + Define_RM( 8 ), + Define_RM( 9 ), + Define_RM( 10 ), + Define_RM( 11 ), + Define_RM( 12 ), + Define_RM( 13 ), + Define_RM( 14 ), + Define_RM( 15 ), + Define_RM( 16 ), + Define_RM( 17 ), + Define_RM( 18 ), + Define_RM( 19 ), + Define_RM( 20 ), + Define_RM( 21 ), + Define_RM( 22 ), + Define_RM( 23 ), + Define_RM( 24 ), + Define_RM( 25 ), + Define_RM( 26 ), + Define_RM( 27 ), + Define_RM( 28 ), + Define_RM( 29 ), + Define_RM( 30 ), + Define_RM( 31 ), + Define_RM( 32 ), + Define_RM( 33 ), + Define_RM( 34 ), + Define_RM( 35 ), + Define_RM( 36 ), + Define_RM( 37 ), + Define_RM( 38 ), + Define_RM( 39 ), + Define_RM( 40 ), + Define_RM( 41 ), + Define_RM( 42 ), + Define_RM( 43 ), + Define_RM( 44 ), + Define_RM( 45 ), + Define_RM( 46 ), + Define_RM( 47 ), + Define_RM( 48 ), + Define_RM( 49 ), + Define_RM( 50 ), + Define_RM( 51 ), + Define_RM( 52 ), + Define_RM( 53 ), + Define_RM( 54 ), + Define_RM( 55 ), + Define_RM( 56 ), + Define_RM( 57 ), + Define_RM( 58 ), + Define_RM( 59 ), + Define_RM( 60 ), + Define_RM( 61 ), + Define_RM( 62 ), + Define_RM( 63 ), + Define_RM( 64 ), + Define_RM( 65 ), + Define_RM( 66 ), + Define_RM( 67 ), + Define_RM( 68 ), + Define_RM( 69 ), + Define_RM( 70 ), + Define_RM( 71 ), + Define_RM( 72 ), + Define_RM( 73 ), + Define_RM( 74 ), + Define_RM( 75 ), + Define_RM( 76 ), + Define_RM( 77 ), + Define_RM( 78 ), + Define_RM( 79 ), + Define_RM( 80 ), + Define_RM( 81 ), + Define_RM( 82 ), +}; + + +// -- Trigger Macro Record + +// Keeps a record/state of each result macro +ResultMacroRecord ResultMacroRecordList[ ResultMacroNum ]; + + +// -- Trigger Macros + +// Trigger Macro Guides +Guide_TM( 0 ) = { 1, 0x00, 0x01, 0x06, 0 }; +Guide_TM( 1 ) = { 1, 0x00, 0x01, 0x2F, 0 }; +Guide_TM( 2 ) = { 1, 0x00, 0x01, 0x16, 0 }; +Guide_TM( 3 ) = { 1, 0x00, 0x01, 0x46, 0 }; +Guide_TM( 4 ) = { 1, 0x00, 0x01, 0x1A, 0 }; +Guide_TM( 5 ) = { 1, 0x00, 0x01, 0x43, 0 }; +Guide_TM( 6 ) = { 1, 0x00, 0x01, 0x02, 0 }; +Guide_TM( 7 ) = { 1, 0x00, 0x01, 0x47, 0 }; +Guide_TM( 8 ) = { 1, 0x00, 0x01, 0x29, 0 }; +Guide_TM( 9 ) = { 1, 0x00, 0x01, 0x1B, 0 }; +Guide_TM( 10 ) = { 1, 0x00, 0x01, 0x44, 0 }; +Guide_TM( 11 ) = { 1, 0x00, 0x01, 0x26, 0 }; +Guide_TM( 12 ) = { 1, 0x00, 0x01, 0x56, 0 }; +Guide_TM( 13 ) = { 1, 0x00, 0x01, 0x03, 0 }; +Guide_TM( 14 ) = { 1, 0x00, 0x01, 0x2A, 0 }; +Guide_TM( 15 ) = { 1, 0x00, 0x01, 0x53, 0 }; +Guide_TM( 16 ) = { 1, 0x00, 0x01, 0x17, 0 }; +Guide_TM( 17 ) = { 1, 0x00, 0x01, 0x57, 0 }; +Guide_TM( 18 ) = { 1, 0x00, 0x01, 0x3D, 0 }; +Guide_TM( 19 ) = { 1, 0x00, 0x01, 0x2B, 0 }; +Guide_TM( 20 ) = { 1, 0x00, 0x01, 0x11, 0 }; +Guide_TM( 21 ) = { 1, 0x00, 0x01, 0x54, 0 }; +Guide_TM( 22 ) = { 1, 0x00, 0x01, 0x3A, 0 }; +Guide_TM( 23 ) = { 1, 0x00, 0x01, 0x18, 0 }; +Guide_TM( 24 ) = { 1, 0x00, 0x01, 0x3E, 0 }; +Guide_TM( 25 ) = { 1, 0x00, 0x01, 0x15, 0 }; +Guide_TM( 26 ) = { 1, 0x00, 0x01, 0x27, 0 }; +Guide_TM( 27 ) = { 1, 0x00, 0x01, 0x50, 0 }; +Guide_TM( 28 ) = { 1, 0x00, 0x01, 0x42, 0 }; +Guide_TM( 29 ) = { 1, 0x00, 0x01, 0x24, 0 }; +Guide_TM( 30 ) = { 1, 0x00, 0x01, 0x4D, 0 }; +Guide_TM( 31 ) = { 1, 0x00, 0x01, 0x28, 0 }; +Guide_TM( 32 ) = { 1, 0x00, 0x01, 0x0E, 0 }; +Guide_TM( 33 ) = { 1, 0x00, 0x01, 0x51, 0 }; +Guide_TM( 34 ) = { 1, 0x00, 0x01, 0x25, 0 }; +Guide_TM( 35 ) = { 1, 0x00, 0x01, 0x0B, 0 }; +Guide_TM( 36 ) = { 1, 0x00, 0x01, 0x3B, 0 }; +Guide_TM( 37 ) = { 1, 0x00, 0x01, 0x0F, 0 }; +Guide_TM( 38 ) = { 1, 0x00, 0x01, 0x52, 0 }; +Guide_TM( 39 ) = { 1, 0x00, 0x01, 0x38, 0 }; +Guide_TM( 40 ) = { 1, 0x00, 0x01, 0x3C, 0 }; +Guide_TM( 41 ) = { 1, 0x00, 0x01, 0x21, 0 }; +Guide_TM( 42 ) = { 1, 0x00, 0x01, 0x10, 0 }; +Guide_TM( 43 ) = { 1, 0x00, 0x01, 0x39, 0 }; +Guide_TM( 44 ) = { 1, 0x00, 0x01, 0x1E, 0 }; +Guide_TM( 45 ) = { 1, 0x00, 0x01, 0x4E, 0 }; +Guide_TM( 46 ) = { 1, 0x00, 0x01, 0x22, 0 }; +Guide_TM( 47 ) = { 1, 0x00, 0x01, 0x4B, 0 }; +Guide_TM( 48 ) = { 1, 0x00, 0x01, 0x0C, 0 }; +Guide_TM( 49 ) = { 1, 0x00, 0x01, 0x4F, 0 }; +Guide_TM( 50 ) = { 1, 0x00, 0x01, 0x33, 0 }; +Guide_TM( 51 ) = { 1, 0x00, 0x01, 0x23, 0 }; +Guide_TM( 52 ) = { 1, 0x00, 0x01, 0x07, 0 }; +Guide_TM( 53 ) = { 1, 0x00, 0x01, 0x4C, 0 }; +Guide_TM( 54 ) = { 1, 0x00, 0x01, 0x30, 0 }; +Guide_TM( 55 ) = { 1, 0x00, 0x01, 0x0D, 0 }; +Guide_TM( 56 ) = { 1, 0x00, 0x01, 0x34, 0 }; +Guide_TM( 57 ) = { 1, 0x00, 0x01, 0x08, 0 }; +Guide_TM( 58 ) = { 1, 0x00, 0x01, 0x1F, 0 }; +Guide_TM( 59 ) = { 1, 0x00, 0x01, 0x48, 0 }; +Guide_TM( 60 ) = { 1, 0x00, 0x01, 0x35, 0 }; +Guide_TM( 61 ) = { 1, 0x00, 0x01, 0x1C, 0 }; +Guide_TM( 62 ) = { 1, 0x00, 0x01, 0x45, 0 }; +Guide_TM( 63 ) = { 1, 0x00, 0x01, 0x20, 0 }; +Guide_TM( 64 ) = { 1, 0x00, 0x01, 0x04, 0 }; +Guide_TM( 65 ) = { 1, 0x00, 0x01, 0x49, 0 }; +Guide_TM( 66 ) = { 1, 0x00, 0x01, 0x1D, 0 }; +Guide_TM( 67 ) = { 1, 0x00, 0x01, 0x31, 0 }; +Guide_TM( 68 ) = { 1, 0x00, 0x01, 0x58, 0 }; +Guide_TM( 69 ) = { 1, 0x00, 0x01, 0x05, 0 }; +Guide_TM( 70 ) = { 1, 0x00, 0x01, 0x4A, 0 }; +Guide_TM( 71 ) = { 1, 0x00, 0x01, 0x2C, 0 }; +Guide_TM( 72 ) = { 1, 0x00, 0x01, 0x55, 0 }; +Guide_TM( 73 ) = { 1, 0x00, 0x01, 0x32, 0 }; +Guide_TM( 74 ) = { 1, 0x00, 0x01, 0x19, 0 }; +Guide_TM( 75 ) = { 1, 0x00, 0x01, 0x59, 0 }; +Guide_TM( 76 ) = { 1, 0x00, 0x01, 0x06, 0 }; +Guide_TM( 77 ) = { 1, 0x00, 0x01, 0x03, 0 }; +Guide_TM( 78 ) = { 1, 0x00, 0x01, 0x33, 0 }; +Guide_TM( 79 ) = { 1, 0x00, 0x01, 0x07, 0 }; +Guide_TM( 80 ) = { 1, 0x00, 0x01, 0x30, 0 }; +Guide_TM( 81 ) = { 1, 0x00, 0x01, 0x34, 0 }; +Guide_TM( 82 ) = { 1, 0x00, 0x01, 0x04, 0 }; +Guide_TM( 83 ) = { 1, 0x00, 0x01, 0x31, 0 }; +Guide_TM( 84 ) = { 1, 0x00, 0x01, 0x05, 0 }; +Guide_TM( 85 ) = { 1, 0x00, 0x01, 0x32, 0 }; +Guide_TM( 86 ) = { 1, 0x00, 0x01, 0x34, 0 }; +Guide_TM( 87 ) = { 1, 0x00, 0x01, 0x08, 0 }; +Guide_TM( 88 ) = { 1, 0x00, 0x01, 0x35, 0 }; + + +// -- Trigger Macro List + +// Indexed Table of Trigger Macros +const TriggerMacro TriggerMacroList[] = { + Define_TM( 0, 0 ), + Define_TM( 1, 1 ), + Define_TM( 2, 2 ), + Define_TM( 3, 3 ), + Define_TM( 4, 4 ), + Define_TM( 5, 5 ), + Define_TM( 6, 6 ), + Define_TM( 7, 7 ), + Define_TM( 8, 8 ), + Define_TM( 9, 9 ), + Define_TM( 10, 10 ), + Define_TM( 11, 11 ), + Define_TM( 12, 12 ), + Define_TM( 13, 13 ), + Define_TM( 14, 14 ), + Define_TM( 15, 15 ), + Define_TM( 16, 16 ), + Define_TM( 17, 17 ), + Define_TM( 18, 18 ), + Define_TM( 19, 19 ), + Define_TM( 20, 20 ), + Define_TM( 21, 21 ), + Define_TM( 22, 22 ), + Define_TM( 23, 23 ), + Define_TM( 24, 24 ), + Define_TM( 25, 25 ), + Define_TM( 26, 21 ), + Define_TM( 27, 26 ), + Define_TM( 28, 27 ), + Define_TM( 29, 28 ), + Define_TM( 30, 29 ), + Define_TM( 31, 30 ), + Define_TM( 32, 31 ), + Define_TM( 33, 32 ), + Define_TM( 34, 33 ), + Define_TM( 35, 34 ), + Define_TM( 36, 35 ), + Define_TM( 37, 36 ), + Define_TM( 38, 37 ), + Define_TM( 39, 38 ), + Define_TM( 40, 39 ), + Define_TM( 41, 40 ), + Define_TM( 42, 41 ), + Define_TM( 43, 42 ), + Define_TM( 44, 43 ), + Define_TM( 45, 44 ), + Define_TM( 46, 45 ), + Define_TM( 47, 46 ), + Define_TM( 48, 47 ), + Define_TM( 49, 48 ), + Define_TM( 50, 49 ), + Define_TM( 51, 50 ), + Define_TM( 52, 51 ), + Define_TM( 53, 52 ), + Define_TM( 54, 53 ), + Define_TM( 55, 54 ), + Define_TM( 56, 55 ), + Define_TM( 57, 56 ), + Define_TM( 58, 57 ), + Define_TM( 59, 58 ), + Define_TM( 60, 59 ), + Define_TM( 61, 60 ), + Define_TM( 62, 61 ), + Define_TM( 63, 62 ), + Define_TM( 64, 63 ), + Define_TM( 65, 64 ), + Define_TM( 66, 65 ), + Define_TM( 67, 66 ), + Define_TM( 68, 67 ), + Define_TM( 69, 68 ), + Define_TM( 70, 69 ), + Define_TM( 71, 70 ), + Define_TM( 72, 71 ), + Define_TM( 73, 72 ), + Define_TM( 74, 73 ), + Define_TM( 75, 74 ), + Define_TM( 76, 75 ), + Define_TM( 77, 76 ), + Define_TM( 78, 77 ), + Define_TM( 79, 78 ), + Define_TM( 80, 19 ), + Define_TM( 81, 79 ), + Define_TM( 82, 80 ), + Define_TM( 83, 14 ), + Define_TM( 84, 81 ), + Define_TM( 85, 8 ), + Define_TM( 86, 82 ), + Define_TM( 87, 82 ), + Define_TM( 88, 82 ), +}; + + +// -- Trigger Macro Record List + +// Keeps a record/state of each trigger macro +TriggerMacroRecord TriggerMacroRecordList[ TriggerMacroNum ]; + + + +// ----- 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 0x59 + +// -- Trigger Lists +// +// Index 0: # of triggers in list +// Index n: pointer to trigger macro - use tm() macro + +// - Default Layer - +Define_TL( default, 0x02 ) = { 1, 6 }; +Define_TL( default, 0x03 ) = { 1, 13 }; +Define_TL( default, 0x04 ) = { 1, 64 }; +Define_TL( default, 0x05 ) = { 1, 69 }; +Define_TL( default, 0x06 ) = { 1, 0 }; +Define_TL( default, 0x07 ) = { 1, 52 }; +Define_TL( default, 0x08 ) = { 1, 57 }; +Define_TL( default, 0x09 ) = { 0 }; +Define_TL( default, 0x0A ) = { 0 }; +Define_TL( default, 0x0B ) = { 1, 35 }; +Define_TL( default, 0x0C ) = { 1, 48 }; +Define_TL( default, 0x0D ) = { 1, 55 }; +Define_TL( default, 0x0E ) = { 1, 32 }; +Define_TL( default, 0x0F ) = { 1, 37 }; +Define_TL( default, 0x10 ) = { 1, 42 }; +Define_TL( default, 0x11 ) = { 1, 20 }; +Define_TL( default, 0x12 ) = { 0 }; +Define_TL( default, 0x13 ) = { 0 }; +Define_TL( default, 0x14 ) = { 0 }; +Define_TL( default, 0x15 ) = { 1, 25 }; +Define_TL( default, 0x16 ) = { 1, 2 }; +Define_TL( default, 0x17 ) = { 1, 16 }; +Define_TL( default, 0x18 ) = { 1, 23 }; +Define_TL( default, 0x19 ) = { 1, 74 }; +Define_TL( default, 0x1A ) = { 1, 4 }; +Define_TL( default, 0x1B ) = { 1, 9 }; +Define_TL( default, 0x1C ) = { 1, 61 }; +Define_TL( default, 0x1D ) = { 1, 66 }; +Define_TL( default, 0x1E ) = { 1, 44 }; +Define_TL( default, 0x1F ) = { 1, 58 }; +Define_TL( default, 0x20 ) = { 1, 63 }; +Define_TL( default, 0x21 ) = { 1, 41 }; +Define_TL( default, 0x22 ) = { 1, 46 }; +Define_TL( default, 0x23 ) = { 1, 51 }; +Define_TL( default, 0x24 ) = { 1, 29 }; +Define_TL( default, 0x25 ) = { 1, 34 }; +Define_TL( default, 0x26 ) = { 1, 11 }; +Define_TL( default, 0x27 ) = { 1, 26 }; +Define_TL( default, 0x28 ) = { 1, 31 }; +Define_TL( default, 0x29 ) = { 1, 8 }; +Define_TL( default, 0x2A ) = { 1, 14 }; +Define_TL( default, 0x2B ) = { 1, 19 }; +Define_TL( default, 0x2C ) = { 1, 71 }; +Define_TL( default, 0x2D ) = { 0 }; +Define_TL( default, 0x2E ) = { 0 }; +Define_TL( default, 0x2F ) = { 1, 1 }; +Define_TL( default, 0x30 ) = { 1, 54 }; +Define_TL( default, 0x31 ) = { 1, 67 }; +Define_TL( default, 0x32 ) = { 1, 73 }; +Define_TL( default, 0x33 ) = { 1, 50 }; +Define_TL( default, 0x34 ) = { 1, 56 }; +Define_TL( default, 0x35 ) = { 1, 60 }; +Define_TL( default, 0x36 ) = { 0 }; +Define_TL( default, 0x37 ) = { 0 }; +Define_TL( default, 0x38 ) = { 1, 39 }; +Define_TL( default, 0x39 ) = { 1, 43 }; +Define_TL( default, 0x3A ) = { 1, 22 }; +Define_TL( default, 0x3B ) = { 1, 36 }; +Define_TL( default, 0x3C ) = { 1, 40 }; +Define_TL( default, 0x3D ) = { 1, 18 }; +Define_TL( default, 0x3E ) = { 1, 24 }; +Define_TL( default, 0x3F ) = { 0 }; +Define_TL( default, 0x40 ) = { 0 }; +Define_TL( default, 0x41 ) = { 0 }; +Define_TL( default, 0x42 ) = { 1, 28 }; +Define_TL( default, 0x43 ) = { 1, 5 }; +Define_TL( default, 0x44 ) = { 1, 10 }; +Define_TL( default, 0x45 ) = { 1, 62 }; +Define_TL( default, 0x46 ) = { 1, 3 }; +Define_TL( default, 0x47 ) = { 1, 7 }; +Define_TL( default, 0x48 ) = { 1, 59 }; +Define_TL( default, 0x49 ) = { 1, 65 }; +Define_TL( default, 0x4A ) = { 1, 70 }; +Define_TL( default, 0x4B ) = { 1, 47 }; +Define_TL( default, 0x4C ) = { 1, 53 }; +Define_TL( default, 0x4D ) = { 1, 30 }; +Define_TL( default, 0x4E ) = { 1, 45 }; +Define_TL( default, 0x4F ) = { 1, 49 }; +Define_TL( default, 0x50 ) = { 1, 27 }; +Define_TL( default, 0x51 ) = { 1, 33 }; +Define_TL( default, 0x52 ) = { 1, 38 }; +Define_TL( default, 0x53 ) = { 1, 15 }; +Define_TL( default, 0x54 ) = { 1, 21 }; +Define_TL( default, 0x55 ) = { 1, 72 }; +Define_TL( default, 0x56 ) = { 1, 12 }; +Define_TL( default, 0x57 ) = { 1, 17 }; +Define_TL( default, 0x58 ) = { 1, 68 }; +Define_TL( default, 0x59 ) = { 1, 75 }; + + +// - Partial Layers - +// Partial Layer 1 +Define_TL( layer1, 0x03 ) = { 1, 77 }; +Define_TL( layer1, 0x04 ) = { 1, 82 }; +Define_TL( layer1, 0x05 ) = { 1, 84 }; +Define_TL( layer1, 0x06 ) = { 1, 76 }; +Define_TL( layer1, 0x07 ) = { 1, 79 }; +Define_TL( layer1, 0x08 ) = { 0 }; +Define_TL( layer1, 0x09 ) = { 0 }; +Define_TL( layer1, 0x0A ) = { 0 }; +Define_TL( layer1, 0x0B ) = { 0 }; +Define_TL( layer1, 0x0C ) = { 0 }; +Define_TL( layer1, 0x0D ) = { 0 }; +Define_TL( layer1, 0x0E ) = { 0 }; +Define_TL( layer1, 0x0F ) = { 0 }; +Define_TL( layer1, 0x10 ) = { 0 }; +Define_TL( layer1, 0x11 ) = { 0 }; +Define_TL( layer1, 0x12 ) = { 0 }; +Define_TL( layer1, 0x13 ) = { 0 }; +Define_TL( layer1, 0x14 ) = { 0 }; +Define_TL( layer1, 0x15 ) = { 0 }; +Define_TL( layer1, 0x16 ) = { 0 }; +Define_TL( layer1, 0x17 ) = { 0 }; +Define_TL( layer1, 0x18 ) = { 0 }; +Define_TL( layer1, 0x19 ) = { 0 }; +Define_TL( layer1, 0x1A ) = { 0 }; +Define_TL( layer1, 0x1B ) = { 0 }; +Define_TL( layer1, 0x1C ) = { 0 }; +Define_TL( layer1, 0x1D ) = { 0 }; +Define_TL( layer1, 0x1E ) = { 0 }; +Define_TL( layer1, 0x1F ) = { 0 }; +Define_TL( layer1, 0x20 ) = { 0 }; +Define_TL( layer1, 0x21 ) = { 0 }; +Define_TL( layer1, 0x22 ) = { 0 }; +Define_TL( layer1, 0x23 ) = { 0 }; +Define_TL( layer1, 0x24 ) = { 0 }; +Define_TL( layer1, 0x25 ) = { 0 }; +Define_TL( layer1, 0x26 ) = { 0 }; +Define_TL( layer1, 0x27 ) = { 0 }; +Define_TL( layer1, 0x28 ) = { 0 }; +Define_TL( layer1, 0x29 ) = { 0 }; +Define_TL( layer1, 0x2A ) = { 0 }; +Define_TL( layer1, 0x2B ) = { 0 }; +Define_TL( layer1, 0x2C ) = { 0 }; +Define_TL( layer1, 0x2D ) = { 0 }; +Define_TL( layer1, 0x2E ) = { 0 }; +Define_TL( layer1, 0x2F ) = { 0 }; +Define_TL( layer1, 0x30 ) = { 1, 80 }; +Define_TL( layer1, 0x31 ) = { 1, 83 }; +Define_TL( layer1, 0x32 ) = { 1, 85 }; +Define_TL( layer1, 0x33 ) = { 1, 78 }; +Define_TL( layer1, 0x34 ) = { 1, 81 }; + +// Partial Layer 2 +Define_TL( layer2, 0x08 ) = { 1, 87 }; +Define_TL( layer2, 0x09 ) = { 0 }; +Define_TL( layer2, 0x0A ) = { 0 }; +Define_TL( layer2, 0x0B ) = { 0 }; +Define_TL( layer2, 0x0C ) = { 0 }; +Define_TL( layer2, 0x0D ) = { 0 }; +Define_TL( layer2, 0x0E ) = { 0 }; +Define_TL( layer2, 0x0F ) = { 0 }; +Define_TL( layer2, 0x10 ) = { 0 }; +Define_TL( layer2, 0x11 ) = { 0 }; +Define_TL( layer2, 0x12 ) = { 0 }; +Define_TL( layer2, 0x13 ) = { 0 }; +Define_TL( layer2, 0x14 ) = { 0 }; +Define_TL( layer2, 0x15 ) = { 0 }; +Define_TL( layer2, 0x16 ) = { 0 }; +Define_TL( layer2, 0x17 ) = { 0 }; +Define_TL( layer2, 0x18 ) = { 0 }; +Define_TL( layer2, 0x19 ) = { 0 }; +Define_TL( layer2, 0x1A ) = { 0 }; +Define_TL( layer2, 0x1B ) = { 0 }; +Define_TL( layer2, 0x1C ) = { 0 }; +Define_TL( layer2, 0x1D ) = { 0 }; +Define_TL( layer2, 0x1E ) = { 0 }; +Define_TL( layer2, 0x1F ) = { 0 }; +Define_TL( layer2, 0x20 ) = { 0 }; +Define_TL( layer2, 0x21 ) = { 0 }; +Define_TL( layer2, 0x22 ) = { 0 }; +Define_TL( layer2, 0x23 ) = { 0 }; +Define_TL( layer2, 0x24 ) = { 0 }; +Define_TL( layer2, 0x25 ) = { 0 }; +Define_TL( layer2, 0x26 ) = { 0 }; +Define_TL( layer2, 0x27 ) = { 0 }; +Define_TL( layer2, 0x28 ) = { 0 }; +Define_TL( layer2, 0x29 ) = { 0 }; +Define_TL( layer2, 0x2A ) = { 0 }; +Define_TL( layer2, 0x2B ) = { 0 }; +Define_TL( layer2, 0x2C ) = { 0 }; +Define_TL( layer2, 0x2D ) = { 0 }; +Define_TL( layer2, 0x2E ) = { 0 }; +Define_TL( layer2, 0x2F ) = { 0 }; +Define_TL( layer2, 0x30 ) = { 0 }; +Define_TL( layer2, 0x31 ) = { 0 }; +Define_TL( layer2, 0x32 ) = { 0 }; +Define_TL( layer2, 0x33 ) = { 0 }; +Define_TL( layer2, 0x34 ) = { 1, 86 }; +Define_TL( layer2, 0x35 ) = { 1, 88 }; + + +// -- ScanCode Offset Map +// Maps interconnect ids to scancode offsets +// +// Only used for keyboards with an interconnect +const uint8_t InterconnectOffsetList[] = { + 0x2D, + 0x59, +}; + + +// -- ScanCode Indexed Maps +// Maps to a trigger list of macro pointers +// _ +// -> |T| +// |r| -> +// |i| +// |g| -> +// |g| +// |e| -> +// |r| +// |s| -> +// - + +// - Default Map for ScanCode Lookup - +const nat_ptr_t *default_scanMap[] = { +default_tl_0x02, default_tl_0x03, default_tl_0x04, default_tl_0x05, default_tl_0x06, default_tl_0x07, default_tl_0x08, default_tl_0x09, default_tl_0x0A, default_tl_0x0B, default_tl_0x0C, default_tl_0x0D, default_tl_0x0E, default_tl_0x0F, default_tl_0x10, default_tl_0x11, default_tl_0x12, default_tl_0x13, default_tl_0x14, default_tl_0x15, default_tl_0x16, default_tl_0x17, default_tl_0x18, default_tl_0x19, default_tl_0x1A, default_tl_0x1B, default_tl_0x1C, default_tl_0x1D, default_tl_0x1E, default_tl_0x1F, default_tl_0x20, default_tl_0x21, default_tl_0x22, default_tl_0x23, default_tl_0x24, default_tl_0x25, default_tl_0x26, default_tl_0x27, default_tl_0x28, default_tl_0x29, default_tl_0x2A, default_tl_0x2B, default_tl_0x2C, default_tl_0x2D, default_tl_0x2E, default_tl_0x2F, default_tl_0x30, default_tl_0x31, default_tl_0x32, default_tl_0x33, default_tl_0x34, default_tl_0x35, default_tl_0x36, default_tl_0x37, default_tl_0x38, default_tl_0x39, default_tl_0x3A, default_tl_0x3B, default_tl_0x3C, default_tl_0x3D, default_tl_0x3E, default_tl_0x3F, default_tl_0x40, default_tl_0x41, default_tl_0x42, default_tl_0x43, default_tl_0x44, default_tl_0x45, default_tl_0x46, default_tl_0x47, default_tl_0x48, default_tl_0x49, default_tl_0x4A, default_tl_0x4B, default_tl_0x4C, default_tl_0x4D, default_tl_0x4E, default_tl_0x4F, default_tl_0x50, default_tl_0x51, default_tl_0x52, default_tl_0x53, default_tl_0x54, default_tl_0x55, default_tl_0x56, default_tl_0x57, default_tl_0x58, default_tl_0x59 +}; + + +// - Partial Layer ScanCode Lookup Maps - +// Partial Layer 1 +const nat_ptr_t *layer1_scanMap[] = { +layer1_tl_0x03, layer1_tl_0x04, layer1_tl_0x05, layer1_tl_0x06, layer1_tl_0x07, layer1_tl_0x08, layer1_tl_0x09, layer1_tl_0x0A, layer1_tl_0x0B, layer1_tl_0x0C, layer1_tl_0x0D, layer1_tl_0x0E, layer1_tl_0x0F, layer1_tl_0x10, layer1_tl_0x11, layer1_tl_0x12, layer1_tl_0x13, layer1_tl_0x14, layer1_tl_0x15, layer1_tl_0x16, layer1_tl_0x17, layer1_tl_0x18, layer1_tl_0x19, layer1_tl_0x1A, layer1_tl_0x1B, layer1_tl_0x1C, layer1_tl_0x1D, layer1_tl_0x1E, layer1_tl_0x1F, layer1_tl_0x20, layer1_tl_0x21, layer1_tl_0x22, layer1_tl_0x23, layer1_tl_0x24, layer1_tl_0x25, layer1_tl_0x26, layer1_tl_0x27, layer1_tl_0x28, layer1_tl_0x29, layer1_tl_0x2A, layer1_tl_0x2B, layer1_tl_0x2C, layer1_tl_0x2D, layer1_tl_0x2E, layer1_tl_0x2F, layer1_tl_0x30, layer1_tl_0x31, layer1_tl_0x32, layer1_tl_0x33, layer1_tl_0x34 +}; + +// Partial Layer 2 +const nat_ptr_t *layer2_scanMap[] = { +layer2_tl_0x08, layer2_tl_0x09, layer2_tl_0x0A, layer2_tl_0x0B, layer2_tl_0x0C, layer2_tl_0x0D, layer2_tl_0x0E, layer2_tl_0x0F, layer2_tl_0x10, layer2_tl_0x11, layer2_tl_0x12, layer2_tl_0x13, layer2_tl_0x14, layer2_tl_0x15, layer2_tl_0x16, layer2_tl_0x17, layer2_tl_0x18, layer2_tl_0x19, layer2_tl_0x1A, layer2_tl_0x1B, layer2_tl_0x1C, layer2_tl_0x1D, layer2_tl_0x1E, layer2_tl_0x1F, layer2_tl_0x20, layer2_tl_0x21, layer2_tl_0x22, layer2_tl_0x23, layer2_tl_0x24, layer2_tl_0x25, layer2_tl_0x26, layer2_tl_0x27, layer2_tl_0x28, layer2_tl_0x29, layer2_tl_0x2A, layer2_tl_0x2B, layer2_tl_0x2C, layer2_tl_0x2D, layer2_tl_0x2E, layer2_tl_0x2F, layer2_tl_0x30, layer2_tl_0x31, layer2_tl_0x32, layer2_tl_0x33, layer2_tl_0x34, layer2_tl_0x35 +}; + + + +// ----- Layer Index ----- + +// -- Layer Index List +// +// Index 0: Default map +// Index n: Additional layers +const Layer LayerIndex[] = { + Layer_IN( default_scanMap, "D: MDErgo1 + lcdFuncMap", 0x02 ), + Layer_IN( layer1_scanMap, "1: MDErgo1 + lcdFuncMap", 0x03 ), + Layer_IN( layer2_scanMap, "2: MDErgo1 + lcdFuncMap", 0x08 ), +}; + + +// - Layer State +uint8_t LayerState[ LayerNum ]; + + + +// ----- 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 + + diff --git a/keyboard/if_ergodox/log/left_kll_defs.h b/keyboard/if_ergodox/log/left_kll_defs.h new file mode 100755 index 0000000..c8857b3 --- /dev/null +++ b/keyboard/if_ergodox/log/left_kll_defs.h @@ -0,0 +1,260 @@ +/* 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 . + */ + +// This file was generated by the kll compiler, DO NOT EDIT. +// Generation Date: 2018-07-07 +// KLL Backend: kiibohd +// KLL Git Rev: ee4008a1905ca14bac641f581304c3b967b8ddc3 +// KLL Git Changes: None +// Compiler arguments: +// /srv/KiiConf/controller-lts/kll/kll.py +// /srv/KiiConf/controller-lts/Scan/ISSILed/capabilities.kll +// /srv/KiiConf/controller-lts/Scan/MatrixARM/capabilities.kll +// /srv/KiiConf/controller-lts/Scan/STLcd/capabilities.kll +// /srv/KiiConf/controller-lts/Scan/UARTConnect/capabilities.kll +// /srv/KiiConf/controller-lts/Macro/PartialMap/capabilities.kll +// /srv/KiiConf/controller-lts/Output/pjrcUSB/capabilities.kll +// /srv/KiiConf/controller-lts/Scan/MDErgo1/scancode_map.kll +// /srv/KiiConf/controller-lts/Scan/MDErgo1/leftHand.kll +// /srv/KiiConf/controller-lts/Scan/MDErgo1/slave1.kll +// /srv/KiiConf/controller-lts/Scan/MDErgo1/rightHand.kll +// -d +// MDErgo1-Blank-0.kll +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// -p +// MDErgo1-Blank-1.kll +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// -p +// MDErgo1-Blank-2.kll +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// --backend +// kiibohd +// --templates +// /srv/KiiConf/controller-lts/kll/templates/kiibohdKeymap.h +// /srv/KiiConf/controller-lts/kll/templates/kiibohdDefs.h +// --outputs +// generatedKeymap.h +// kll_defs.h +// +// - Base Layer - +// ISSILedCapabilities +// /srv/KiiConf/controller-lts/Scan/ISSILed/capabilities.kll +// MatrixArmCapabilities +// /srv/KiiConf/controller-lts/Scan/MatrixARM/capabilities.kll +// STLcdCapabilities +// /srv/KiiConf/controller-lts/Scan/STLcd/capabilities.kll +// UARTConnectCapabilities +// /srv/KiiConf/controller-lts/Scan/UARTConnect/capabilities.kll +// PartialMapCapabilities +// /srv/KiiConf/controller-lts/Macro/PartialMap/capabilities.kll +// pjrcUSBCapabilities +// /srv/KiiConf/controller-lts/Output/pjrcUSB/capabilities.kll +// MDErgo1 +// /srv/KiiConf/controller-lts/Scan/MDErgo1/scancode_map.kll +// MDErgo1LeftHand +// /srv/KiiConf/controller-lts/Scan/MDErgo1/leftHand.kll +// MDErgo1Slave1 +// /srv/KiiConf/controller-lts/Scan/MDErgo1/slave1.kll +// MDErgo1RightHand +// /srv/KiiConf/controller-lts/Scan/MDErgo1/rightHand.kll +// - Default Layer - +// MDErgo1 +// MDErgo1-Blank-0.kll +// lcdFuncMap +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// - Partial Layers - +// Layer 1 +// MDErgo1 +// MDErgo1-Blank-1.kll +// lcdFuncMap +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// Layer 2 +// MDErgo1 +// MDErgo1-Blank-2.kll +// lcdFuncMap +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll + + + +#pragma once + +// ----- Enums ----- + +// Capability Indices +typedef enum CapabilityIndex { + LCD_layerStackExact_capability_index, + LCD_layerStack_capability_index, + LED_control_capability_index, + Macro_layerLatch_capability_index, + Macro_layerLock_capability_index, + Macro_layerRotate_capability_index, + Macro_layerShift_capability_index, + Macro_layerState_capability_index, + Output_consCtrlSend_capability_index, + Output_flashMode_capability_index, + Output_kbdProtocolBoot_capability_index, + Output_kbdProtocolNKRO_capability_index, + Output_noneSend_capability_index, + Output_sysCtrlSend_capability_index, + Output_toggleKbdProtocol_capability_index, + Output_usbCodeSend_capability_index, + Output_usbMouse_capability_index, +} CapabilityIndex; + + + +// ----- Defines ----- + +// -- Interconnect Node Maximum -- +#define InterconnectNodeMax 0x2 + + +// -- Capability / KLL Defines -- + +#define flashModeEnabled_define 0 +#define UARTConnectCableCheckLength_define 2 +#define STLcdNumber9_define \ +0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ + +#define STLcdNumber5Color_define 0xB7B7, 0x5D5D, 0x8545 +#define enableUSBSuspend_define 1 +#define UARTConnectBaudFine_define 0 +#define MinDebounceTime_define 5 +#define STLcdDefaultImage_define \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + +#define StrobeDelay_define 0 +#define STLcdNumber7_define \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ + +#define KeyboardLocale_define 0 +#define STLcdBacklightBlue_define 4095 +#define STLcdNumber7Color_define 0x00C1, 0x7E7E, 0x3C3C +#define enableVirtualSerialPort_define 1 +#define LCDEnabled_define 1 +#define STLcdBacklightPrescalar_define 0 +#define STLcdNumber6_define \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, \ + +#define DebounceThrottleDiv_define 0 +#define ISSILedMask1_define \ + 0xFF, 0x00, /* C1-1 -> C1-16 */ \ + 0xFF, 0x00, /* C2-1 -> C2-16 */ \ + 0xFF, 0x00, /* C3-1 -> C3-16 */ \ + 0xFF, 0x00, /* C4-1 -> C4-16 */ \ + 0x3F, 0x00, /* C5-1 -> C5-16 */ \ + 0x00, 0x00, /* C6-1 -> C6-16 */ \ + 0x00, 0x00, /* C7-1 -> C7-16 */ \ + 0x00, 0x00, /* C8-1 -> C8-16 */ \ + 0x00, 0x00, /* C9-1 -> C9-16 */ \ + +#define STLcdNumber2_define \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ + +#define STLcdNumber8Color_define 0x8303, 0x1394, 0xB9F9 +#define STLcdNumber6Color_define 0xBCFC, 0xB6F6, 0x2D2D +#define STLcdNumber0Color_define 0xB939, 0xAAEA, 0x8D8D +#define STLcdNumber0_define \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ + +#define ConnectEnabled_define 1 +#define STLcdNumber3Color_define 0x0000, 0x8242, 0xB3F3 +#define DebounceDivThreshold_define 65535 +#define STLcdNumber1Color_define 0xA8A8, 0x2727, 0x1FA0 +#define enableKeyboard_define 1 +#define STLcdNumber4_define \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ + +#define STLcdNumber5_define \ +0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, \ + +#define USBProtocol_define 1 +#define enableDeviceRestartOnUSBTimeout_define 0 +#define enableMouse_define 1 +#define ISSILedBrightness1_define \ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C1-1 -> C1-16 */ \ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C2-1 -> C2-16 */ \ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C3-1 -> C3-16 */ \ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C4-1 -> C4-16 */ \ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C5-1 -> C5-16 */ \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C6-1 -> C6-16 */ \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C7-1 -> C7-16 */ \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C8-1 -> C8-16 */ \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C9-1 -> C9-16 */ \ + +#define UARTConnectBufSize_define 128 +#define STLcdNumber8_define \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ + +#define enableRawIO_define 0 +#define UARTConnectBaud_define 1 +#define STLcdBacklightGreen_define 4095 +#define STLcdNumber3_define \ +0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ + +#define STLcdNumber1_define \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + +#define enableUSBLowPowerNegotiation_define 0 +#define enableJoystick_define 0 +#define enableUSBResume_define 1 +#define STLcdNumber9Color_define 0x09CA, 0x12D3, 0x8484 +#define STLcdNumber4Color_define 0xF6F6, 0xA5A5, 0x4949 +#define STLcdNumber2Color_define 0x4B4B, 0x8D8D, 0x34B5 +#define StateWordSize_define 8 +#define IndexWordSize_define 16 +#define STLcdBacklightRed_define 4095 +#define CapabilitiesNum_KLL 17 +#define ResultMacroNum_KLL 83 +#define TriggerMacroNum_KLL 89 +#define LayerNum_KLL 3 + +// -- Built-in Defines -- + + diff --git a/keyboard/if_ergodox/log/right_generatedKeymap.h b/keyboard/if_ergodox/log/right_generatedKeymap.h new file mode 100755 index 0000000..bae9188 --- /dev/null +++ b/keyboard/if_ergodox/log/right_generatedKeymap.h @@ -0,0 +1,804 @@ +/* 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 . + */ + +// This file was generated by the kll compiler, DO NOT EDIT. +// Generation Date: 2018-07-07 +// KLL Backend: kiibohd +// KLL Git Rev: ee4008a1905ca14bac641f581304c3b967b8ddc3 +// KLL Git Changes: None +// Compiler arguments: +// /srv/KiiConf/controller-lts/kll/kll.py +// /srv/KiiConf/controller-lts/Scan/ISSILed/capabilities.kll +// /srv/KiiConf/controller-lts/Scan/MatrixARM/capabilities.kll +// /srv/KiiConf/controller-lts/Scan/STLcd/capabilities.kll +// /srv/KiiConf/controller-lts/Scan/UARTConnect/capabilities.kll +// /srv/KiiConf/controller-lts/Macro/PartialMap/capabilities.kll +// /srv/KiiConf/controller-lts/Output/pjrcUSB/capabilities.kll +// /srv/KiiConf/controller-lts/Scan/MDErgo1/scancode_map.kll +// /srv/KiiConf/controller-lts/Scan/MDErgo1/rightHand.kll +// /srv/KiiConf/controller-lts/Scan/MDErgo1/slave1.kll +// /srv/KiiConf/controller-lts/Scan/MDErgo1/leftHand.kll +// -d +// MDErgo1-Blank-0.kll +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// -p +// MDErgo1-Blank-1.kll +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// -p +// MDErgo1-Blank-2.kll +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// --backend +// kiibohd +// --templates +// /srv/KiiConf/controller-lts/kll/templates/kiibohdKeymap.h +// /srv/KiiConf/controller-lts/kll/templates/kiibohdDefs.h +// --outputs +// generatedKeymap.h +// kll_defs.h +// +// - Base Layer - +// ISSILedCapabilities +// /srv/KiiConf/controller-lts/Scan/ISSILed/capabilities.kll +// MatrixArmCapabilities +// /srv/KiiConf/controller-lts/Scan/MatrixARM/capabilities.kll +// STLcdCapabilities +// /srv/KiiConf/controller-lts/Scan/STLcd/capabilities.kll +// UARTConnectCapabilities +// /srv/KiiConf/controller-lts/Scan/UARTConnect/capabilities.kll +// PartialMapCapabilities +// /srv/KiiConf/controller-lts/Macro/PartialMap/capabilities.kll +// pjrcUSBCapabilities +// /srv/KiiConf/controller-lts/Output/pjrcUSB/capabilities.kll +// MDErgo1 +// /srv/KiiConf/controller-lts/Scan/MDErgo1/scancode_map.kll +// MDErgo1RightHand +// /srv/KiiConf/controller-lts/Scan/MDErgo1/rightHand.kll +// MDErgo1Slave1 +// /srv/KiiConf/controller-lts/Scan/MDErgo1/slave1.kll +// MDErgo1LeftHand +// /srv/KiiConf/controller-lts/Scan/MDErgo1/leftHand.kll +// - Default Layer - +// MDErgo1 +// MDErgo1-Blank-0.kll +// lcdFuncMap +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// - Partial Layers - +// Layer 1 +// MDErgo1 +// MDErgo1-Blank-1.kll +// lcdFuncMap +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// Layer 2 +// MDErgo1 +// MDErgo1-Blank-2.kll +// lcdFuncMap +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll + + + +#pragma once + +// ----- Includes ----- + +// KLL Include +#include + + + +// ----- Capabilities ----- + +// Capability function declarations +void LCD_layerStackExact_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void LCD_layerStack_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void LED_control_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Macro_layerLatch_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Macro_layerLock_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Macro_layerRotate_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Macro_layerShift_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Macro_layerState_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Output_consCtrlSend_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Output_flashMode_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Output_kbdProtocolBoot_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Output_kbdProtocolNKRO_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Output_noneSend_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Output_sysCtrlSend_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Output_toggleKbdProtocol_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Output_usbCodeSend_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); +void Output_usbMouse_capability( TriggerMacro *trigger, uint8_t state, uint8_t stateType, uint8_t *args ); + + + +// Indexed Capabilities Table +const Capability CapabilitiesList[] = { + { LCD_layerStackExact_capability, 9 }, + { LCD_layerStack_capability, 0 }, + { LED_control_capability, 4 }, + { Macro_layerLatch_capability, 2 }, + { Macro_layerLock_capability, 2 }, + { Macro_layerRotate_capability, 1 }, + { Macro_layerShift_capability, 2 }, + { Macro_layerState_capability, 3 }, + { Output_consCtrlSend_capability, 2 }, + { Output_flashMode_capability, 0 }, + { Output_kbdProtocolBoot_capability, 0 }, + { Output_kbdProtocolNKRO_capability, 0 }, + { Output_noneSend_capability, 0 }, + { Output_sysCtrlSend_capability, 1 }, + { Output_toggleKbdProtocol_capability, 0 }, + { Output_usbCodeSend_capability, 1 }, + { Output_usbMouse_capability, 6 }, +}; + + +// -- Result Macros + +// Result Macro Guides +Guide_RM( 0 ) = { 1, 15, KEY_9, 0 }; +Guide_RM( 1 ) = { 1, 15, KEY_ESC, 0 }; +Guide_RM( 2 ) = { 1, 15, KEY_J, 0 }; +Guide_RM( 3 ) = { 1, 15, KEY_A, 0 }; +Guide_RM( 4 ) = { 1, 15, KEY_QUOTE, 0 }; +Guide_RM( 5 ) = { 1, 15, KEY_F, 0 }; +Guide_RM( 6 ) = { 1, 15, KEY_BACKSLASH, 0 }; +Guide_RM( 7 ) = { 1, 15, KEY_RCTRL, 0 }; +Guide_RM( 8 ) = { 1, 15, KEY_DOWN, 0 }; +Guide_RM( 9 ) = { 1, 15, KEY_RGUI, 0 }; +Guide_RM( 10 ) = { 1, 15, KEY_D, 0 }; +Guide_RM( 11 ) = { 1, 15, KEY_ENTER, 0 }; +Guide_RM( 12 ) = { 1, 15, KEY_F8, 0 }; +Guide_RM( 13 ) = { 1, 15, KEY_6, 0 }; +Guide_RM( 14 ) = { 1, 15, KEY_UP, 0 }; +Guide_RM( 15 ) = { 1, 15, KEY_DELETE, 0 }; +Guide_RM( 16 ) = { 1, 15, KEY_K, 0 }; +Guide_RM( 17 ) = { 1, 15, KEY_F7, 0 }; +Guide_RM( 18 ) = { 1, 15, KEY_Q, 0 }; +Guide_RM( 19 ) = { 1, 15, KEY_RIGHT, 0 }; +Guide_RM( 20 ) = { 1, 15, KEY_RIGHT_BRACKET, 0 }; +Guide_RM( 21 ) = { 1, 15, KEY_SPACE, 0 }; +Guide_RM( 22 ) = { 1, 15, KEY_R, 0 }; +Guide_RM( 23 ) = { 1, 15, KEY_L, 0 }; +Guide_RM( 24 ) = { 1, 15, KEY_TAB, 0 }; +Guide_RM( 25 ) = { 1, 15, KEY_H, 0 }; +Guide_RM( 26 ) = { 1, 15, KEY_LSHIFT, 0 }; +Guide_RM( 27 ) = { 1, 15, KEY_G, 0 }; +Guide_RM( 28 ) = { 1, 15, KEY_PAGE_UP, 0 }; +Guide_RM( 29 ) = { 1, 15, KEY_C, 0 }; +Guide_RM( 30 ) = { 1, 15, KEY_LEFT, 0 }; +Guide_RM( 31 ) = { 1, 15, KEY_I, 0 }; +Guide_RM( 32 ) = { 1, 15, KEY_HOME, 0 }; +Guide_RM( 33 ) = { 1, 15, KEY_PAGE_DOWN, 0 }; +Guide_RM( 34 ) = { 1, 15, KEY_LEFT_BRACKET, 0 }; +Guide_RM( 35 ) = { 1, 15, KEY_E, 0 }; +Guide_RM( 36 ) = { 1, 15, KEY_O, 0 }; +Guide_RM( 37 ) = { 1, 15, KEY_END, 0 }; +Guide_RM( 38 ) = { 2, 4, 1, 0, 1, 0 }; +Guide_RM( 39 ) = { 1, 15, KEY_W, 0 }; +Guide_RM( 40 ) = { 1, 15, KEY_PERIOD, 0 }; +Guide_RM( 41 ) = { 1, 15, KEY_P, 0 }; +Guide_RM( 42 ) = { 1, 15, KEY_T, 0 }; +Guide_RM( 43 ) = { 1, 15, KEY_N, 0 }; +Guide_RM( 44 ) = { 1, 15, KEY_X, 0 }; +Guide_RM( 45 ) = { 1, 15, KEY_SLASH, 0 }; +Guide_RM( 46 ) = { 1, 15, KEY_B, 0 }; +Guide_RM( 47 ) = { 1, 15, KEY_Y, 0 }; +Guide_RM( 48 ) = { 1, 15, KEY_Z, 0 }; +Guide_RM( 49 ) = { 1, 15, KEY_2, 0 }; +Guide_RM( 50 ) = { 1, 15, KEY_RSHIFT, 0 }; +Guide_RM( 51 ) = { 1, 15, KEY_0, 0 }; +Guide_RM( 52 ) = { 1, 15, KEY_V, 0 }; +Guide_RM( 53 ) = { 1, 15, KEY_5, 0 }; +Guide_RM( 54 ) = { 1, 15, KEY_U, 0 }; +Guide_RM( 55 ) = { 1, 15, KEY_1, 0 }; +Guide_RM( 56 ) = { 1, 15, KEY_BACKSPACE, 0 }; +Guide_RM( 57 ) = { 1, 15, KEY_M, 0 }; +Guide_RM( 58 ) = { 1, 15, KEY_LGUI, 0 }; +Guide_RM( 59 ) = { 1, 15, KEY_BACKTICK, 0 }; +Guide_RM( 60 ) = { 1, 15, KEY_EQUAL, 0 }; +Guide_RM( 61 ) = { 1, 15, KEY_S, 0 }; +Guide_RM( 62 ) = { 1, 15, KEY_COMMA, 0 }; +Guide_RM( 63 ) = { 1, 15, KEY_7, 0 }; +Guide_RM( 64 ) = { 1, 15, KEY_MINUS, 0 }; +Guide_RM( 65 ) = { 2, 6, 2, 0, 1, 0 }; +Guide_RM( 66 ) = { 1, 15, KEY_4, 0 }; +Guide_RM( 67 ) = { 1, 15, KEY_F6, 0 }; +Guide_RM( 68 ) = { 1, 15, KEY_8, 0 }; +Guide_RM( 69 ) = { 2, 6, 1, 0, 1, 0 }; +Guide_RM( 70 ) = { 2, 5, 0, 1, 0 }; +Guide_RM( 71 ) = { 1, 15, KEY_LALT, 0 }; +Guide_RM( 72 ) = { 1, 15, KEY_3, 0 }; +Guide_RM( 73 ) = { 1, 15, KEY_SEMICOLON, 0 }; +Guide_RM( 74 ) = { 2, 5, 1, 1, 0 }; +Guide_RM( 75 ) = { 1, 15, KEY_F9, 0 }; +Guide_RM( 76 ) = { 1, 15, KEY_F2, 0 }; +Guide_RM( 77 ) = { 1, 15, KEY_F10, 0 }; +Guide_RM( 78 ) = { 1, 15, KEY_F5, 0 }; +Guide_RM( 79 ) = { 1, 15, KEY_F1, 0 }; +Guide_RM( 80 ) = { 1, 15, KEY_F4, 0 }; +Guide_RM( 81 ) = { 1, 15, KEY_F3, 0 }; +Guide_RM( 82 ) = { 1, 9, 0 }; + + +// -- Result Macro List + +// Indexed Table of Result Macros +const ResultMacro ResultMacroList[] = { + Define_RM( 0 ), + Define_RM( 1 ), + Define_RM( 2 ), + Define_RM( 3 ), + Define_RM( 4 ), + Define_RM( 5 ), + Define_RM( 6 ), + Define_RM( 7 ), + Define_RM( 8 ), + Define_RM( 9 ), + Define_RM( 10 ), + Define_RM( 11 ), + Define_RM( 12 ), + Define_RM( 13 ), + Define_RM( 14 ), + Define_RM( 15 ), + Define_RM( 16 ), + Define_RM( 17 ), + Define_RM( 18 ), + Define_RM( 19 ), + Define_RM( 20 ), + Define_RM( 21 ), + Define_RM( 22 ), + Define_RM( 23 ), + Define_RM( 24 ), + Define_RM( 25 ), + Define_RM( 26 ), + Define_RM( 27 ), + Define_RM( 28 ), + Define_RM( 29 ), + Define_RM( 30 ), + Define_RM( 31 ), + Define_RM( 32 ), + Define_RM( 33 ), + Define_RM( 34 ), + Define_RM( 35 ), + Define_RM( 36 ), + Define_RM( 37 ), + Define_RM( 38 ), + Define_RM( 39 ), + Define_RM( 40 ), + Define_RM( 41 ), + Define_RM( 42 ), + Define_RM( 43 ), + Define_RM( 44 ), + Define_RM( 45 ), + Define_RM( 46 ), + Define_RM( 47 ), + Define_RM( 48 ), + Define_RM( 49 ), + Define_RM( 50 ), + Define_RM( 51 ), + Define_RM( 52 ), + Define_RM( 53 ), + Define_RM( 54 ), + Define_RM( 55 ), + Define_RM( 56 ), + Define_RM( 57 ), + Define_RM( 58 ), + Define_RM( 59 ), + Define_RM( 60 ), + Define_RM( 61 ), + Define_RM( 62 ), + Define_RM( 63 ), + Define_RM( 64 ), + Define_RM( 65 ), + Define_RM( 66 ), + Define_RM( 67 ), + Define_RM( 68 ), + Define_RM( 69 ), + Define_RM( 70 ), + Define_RM( 71 ), + Define_RM( 72 ), + Define_RM( 73 ), + Define_RM( 74 ), + Define_RM( 75 ), + Define_RM( 76 ), + Define_RM( 77 ), + Define_RM( 78 ), + Define_RM( 79 ), + Define_RM( 80 ), + Define_RM( 81 ), + Define_RM( 82 ), +}; + + +// -- Trigger Macro Record + +// Keeps a record/state of each result macro +ResultMacroRecord ResultMacroRecordList[ ResultMacroNum ]; + + +// -- Trigger Macros + +// Trigger Macro Guides +Guide_TM( 0 ) = { 1, 0x00, 0x01, 0x06, 0 }; +Guide_TM( 1 ) = { 1, 0x00, 0x01, 0x2F, 0 }; +Guide_TM( 2 ) = { 1, 0x00, 0x01, 0x16, 0 }; +Guide_TM( 3 ) = { 1, 0x00, 0x01, 0x46, 0 }; +Guide_TM( 4 ) = { 1, 0x00, 0x01, 0x1A, 0 }; +Guide_TM( 5 ) = { 1, 0x00, 0x01, 0x43, 0 }; +Guide_TM( 6 ) = { 1, 0x00, 0x01, 0x02, 0 }; +Guide_TM( 7 ) = { 1, 0x00, 0x01, 0x47, 0 }; +Guide_TM( 8 ) = { 1, 0x00, 0x01, 0x29, 0 }; +Guide_TM( 9 ) = { 1, 0x00, 0x01, 0x1B, 0 }; +Guide_TM( 10 ) = { 1, 0x00, 0x01, 0x44, 0 }; +Guide_TM( 11 ) = { 1, 0x00, 0x01, 0x26, 0 }; +Guide_TM( 12 ) = { 1, 0x00, 0x01, 0x56, 0 }; +Guide_TM( 13 ) = { 1, 0x00, 0x01, 0x03, 0 }; +Guide_TM( 14 ) = { 1, 0x00, 0x01, 0x2A, 0 }; +Guide_TM( 15 ) = { 1, 0x00, 0x01, 0x53, 0 }; +Guide_TM( 16 ) = { 1, 0x00, 0x01, 0x17, 0 }; +Guide_TM( 17 ) = { 1, 0x00, 0x01, 0x57, 0 }; +Guide_TM( 18 ) = { 1, 0x00, 0x01, 0x3D, 0 }; +Guide_TM( 19 ) = { 1, 0x00, 0x01, 0x2B, 0 }; +Guide_TM( 20 ) = { 1, 0x00, 0x01, 0x11, 0 }; +Guide_TM( 21 ) = { 1, 0x00, 0x01, 0x54, 0 }; +Guide_TM( 22 ) = { 1, 0x00, 0x01, 0x3A, 0 }; +Guide_TM( 23 ) = { 1, 0x00, 0x01, 0x18, 0 }; +Guide_TM( 24 ) = { 1, 0x00, 0x01, 0x3E, 0 }; +Guide_TM( 25 ) = { 1, 0x00, 0x01, 0x15, 0 }; +Guide_TM( 26 ) = { 1, 0x00, 0x01, 0x27, 0 }; +Guide_TM( 27 ) = { 1, 0x00, 0x01, 0x50, 0 }; +Guide_TM( 28 ) = { 1, 0x00, 0x01, 0x42, 0 }; +Guide_TM( 29 ) = { 1, 0x00, 0x01, 0x24, 0 }; +Guide_TM( 30 ) = { 1, 0x00, 0x01, 0x4D, 0 }; +Guide_TM( 31 ) = { 1, 0x00, 0x01, 0x28, 0 }; +Guide_TM( 32 ) = { 1, 0x00, 0x01, 0x0E, 0 }; +Guide_TM( 33 ) = { 1, 0x00, 0x01, 0x51, 0 }; +Guide_TM( 34 ) = { 1, 0x00, 0x01, 0x25, 0 }; +Guide_TM( 35 ) = { 1, 0x00, 0x01, 0x0B, 0 }; +Guide_TM( 36 ) = { 1, 0x00, 0x01, 0x3B, 0 }; +Guide_TM( 37 ) = { 1, 0x00, 0x01, 0x0F, 0 }; +Guide_TM( 38 ) = { 1, 0x00, 0x01, 0x52, 0 }; +Guide_TM( 39 ) = { 1, 0x00, 0x01, 0x38, 0 }; +Guide_TM( 40 ) = { 1, 0x00, 0x01, 0x3C, 0 }; +Guide_TM( 41 ) = { 1, 0x00, 0x01, 0x21, 0 }; +Guide_TM( 42 ) = { 1, 0x00, 0x01, 0x10, 0 }; +Guide_TM( 43 ) = { 1, 0x00, 0x01, 0x39, 0 }; +Guide_TM( 44 ) = { 1, 0x00, 0x01, 0x1E, 0 }; +Guide_TM( 45 ) = { 1, 0x00, 0x01, 0x4E, 0 }; +Guide_TM( 46 ) = { 1, 0x00, 0x01, 0x22, 0 }; +Guide_TM( 47 ) = { 1, 0x00, 0x01, 0x4B, 0 }; +Guide_TM( 48 ) = { 1, 0x00, 0x01, 0x0C, 0 }; +Guide_TM( 49 ) = { 1, 0x00, 0x01, 0x4F, 0 }; +Guide_TM( 50 ) = { 1, 0x00, 0x01, 0x33, 0 }; +Guide_TM( 51 ) = { 1, 0x00, 0x01, 0x23, 0 }; +Guide_TM( 52 ) = { 1, 0x00, 0x01, 0x07, 0 }; +Guide_TM( 53 ) = { 1, 0x00, 0x01, 0x4C, 0 }; +Guide_TM( 54 ) = { 1, 0x00, 0x01, 0x30, 0 }; +Guide_TM( 55 ) = { 1, 0x00, 0x01, 0x0D, 0 }; +Guide_TM( 56 ) = { 1, 0x00, 0x01, 0x34, 0 }; +Guide_TM( 57 ) = { 1, 0x00, 0x01, 0x08, 0 }; +Guide_TM( 58 ) = { 1, 0x00, 0x01, 0x1F, 0 }; +Guide_TM( 59 ) = { 1, 0x00, 0x01, 0x48, 0 }; +Guide_TM( 60 ) = { 1, 0x00, 0x01, 0x35, 0 }; +Guide_TM( 61 ) = { 1, 0x00, 0x01, 0x1C, 0 }; +Guide_TM( 62 ) = { 1, 0x00, 0x01, 0x45, 0 }; +Guide_TM( 63 ) = { 1, 0x00, 0x01, 0x20, 0 }; +Guide_TM( 64 ) = { 1, 0x00, 0x01, 0x04, 0 }; +Guide_TM( 65 ) = { 1, 0x00, 0x01, 0x49, 0 }; +Guide_TM( 66 ) = { 1, 0x00, 0x01, 0x1D, 0 }; +Guide_TM( 67 ) = { 1, 0x00, 0x01, 0x31, 0 }; +Guide_TM( 68 ) = { 1, 0x00, 0x01, 0x58, 0 }; +Guide_TM( 69 ) = { 1, 0x00, 0x01, 0x05, 0 }; +Guide_TM( 70 ) = { 1, 0x00, 0x01, 0x4A, 0 }; +Guide_TM( 71 ) = { 1, 0x00, 0x01, 0x2C, 0 }; +Guide_TM( 72 ) = { 1, 0x00, 0x01, 0x55, 0 }; +Guide_TM( 73 ) = { 1, 0x00, 0x01, 0x32, 0 }; +Guide_TM( 74 ) = { 1, 0x00, 0x01, 0x19, 0 }; +Guide_TM( 75 ) = { 1, 0x00, 0x01, 0x59, 0 }; +Guide_TM( 76 ) = { 1, 0x00, 0x01, 0x06, 0 }; +Guide_TM( 77 ) = { 1, 0x00, 0x01, 0x03, 0 }; +Guide_TM( 78 ) = { 1, 0x00, 0x01, 0x33, 0 }; +Guide_TM( 79 ) = { 1, 0x00, 0x01, 0x07, 0 }; +Guide_TM( 80 ) = { 1, 0x00, 0x01, 0x30, 0 }; +Guide_TM( 81 ) = { 1, 0x00, 0x01, 0x34, 0 }; +Guide_TM( 82 ) = { 1, 0x00, 0x01, 0x04, 0 }; +Guide_TM( 83 ) = { 1, 0x00, 0x01, 0x31, 0 }; +Guide_TM( 84 ) = { 1, 0x00, 0x01, 0x05, 0 }; +Guide_TM( 85 ) = { 1, 0x00, 0x01, 0x32, 0 }; +Guide_TM( 86 ) = { 1, 0x00, 0x01, 0x07, 0 }; +Guide_TM( 87 ) = { 1, 0x00, 0x01, 0x08, 0 }; +Guide_TM( 88 ) = { 1, 0x00, 0x01, 0x35, 0 }; + + +// -- Trigger Macro List + +// Indexed Table of Trigger Macros +const TriggerMacro TriggerMacroList[] = { + Define_TM( 0, 0 ), + Define_TM( 1, 1 ), + Define_TM( 2, 2 ), + Define_TM( 3, 3 ), + Define_TM( 4, 4 ), + Define_TM( 5, 5 ), + Define_TM( 6, 6 ), + Define_TM( 7, 7 ), + Define_TM( 8, 8 ), + Define_TM( 9, 9 ), + Define_TM( 10, 10 ), + Define_TM( 11, 11 ), + Define_TM( 12, 12 ), + Define_TM( 13, 13 ), + Define_TM( 14, 14 ), + Define_TM( 15, 15 ), + Define_TM( 16, 16 ), + Define_TM( 17, 17 ), + Define_TM( 18, 18 ), + Define_TM( 19, 19 ), + Define_TM( 20, 20 ), + Define_TM( 21, 21 ), + Define_TM( 22, 22 ), + Define_TM( 23, 23 ), + Define_TM( 24, 24 ), + Define_TM( 25, 25 ), + Define_TM( 26, 21 ), + Define_TM( 27, 26 ), + Define_TM( 28, 27 ), + Define_TM( 29, 28 ), + Define_TM( 30, 29 ), + Define_TM( 31, 30 ), + Define_TM( 32, 31 ), + Define_TM( 33, 32 ), + Define_TM( 34, 33 ), + Define_TM( 35, 34 ), + Define_TM( 36, 35 ), + Define_TM( 37, 36 ), + Define_TM( 38, 37 ), + Define_TM( 39, 38 ), + Define_TM( 40, 39 ), + Define_TM( 41, 40 ), + Define_TM( 42, 41 ), + Define_TM( 43, 42 ), + Define_TM( 44, 43 ), + Define_TM( 45, 44 ), + Define_TM( 46, 45 ), + Define_TM( 47, 46 ), + Define_TM( 48, 47 ), + Define_TM( 49, 48 ), + Define_TM( 50, 49 ), + Define_TM( 51, 50 ), + Define_TM( 52, 51 ), + Define_TM( 53, 52 ), + Define_TM( 54, 53 ), + Define_TM( 55, 54 ), + Define_TM( 56, 55 ), + Define_TM( 57, 56 ), + Define_TM( 58, 57 ), + Define_TM( 59, 58 ), + Define_TM( 60, 59 ), + Define_TM( 61, 60 ), + Define_TM( 62, 61 ), + Define_TM( 63, 62 ), + Define_TM( 64, 63 ), + Define_TM( 65, 64 ), + Define_TM( 66, 65 ), + Define_TM( 67, 66 ), + Define_TM( 68, 67 ), + Define_TM( 69, 68 ), + Define_TM( 70, 69 ), + Define_TM( 71, 70 ), + Define_TM( 72, 71 ), + Define_TM( 73, 72 ), + Define_TM( 74, 73 ), + Define_TM( 75, 74 ), + Define_TM( 76, 75 ), + Define_TM( 77, 67 ), + Define_TM( 78, 76 ), + Define_TM( 79, 77 ), + Define_TM( 80, 78 ), + Define_TM( 81, 79 ), + Define_TM( 82, 17 ), + Define_TM( 83, 80 ), + Define_TM( 84, 12 ), + Define_TM( 85, 81 ), + Define_TM( 86, 82 ), + Define_TM( 87, 82 ), + Define_TM( 88, 82 ), +}; + + +// -- Trigger Macro Record List + +// Keeps a record/state of each trigger macro +TriggerMacroRecord TriggerMacroRecordList[ TriggerMacroNum ]; + + + +// ----- 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 0x59 + +// -- Trigger Lists +// +// Index 0: # of triggers in list +// Index n: pointer to trigger macro - use tm() macro + +// - Default Layer - +Define_TL( default, 0x02 ) = { 1, 6 }; +Define_TL( default, 0x03 ) = { 1, 13 }; +Define_TL( default, 0x04 ) = { 1, 64 }; +Define_TL( default, 0x05 ) = { 1, 69 }; +Define_TL( default, 0x06 ) = { 1, 0 }; +Define_TL( default, 0x07 ) = { 1, 52 }; +Define_TL( default, 0x08 ) = { 1, 57 }; +Define_TL( default, 0x09 ) = { 0 }; +Define_TL( default, 0x0A ) = { 0 }; +Define_TL( default, 0x0B ) = { 1, 35 }; +Define_TL( default, 0x0C ) = { 1, 48 }; +Define_TL( default, 0x0D ) = { 1, 55 }; +Define_TL( default, 0x0E ) = { 1, 32 }; +Define_TL( default, 0x0F ) = { 1, 37 }; +Define_TL( default, 0x10 ) = { 1, 42 }; +Define_TL( default, 0x11 ) = { 1, 20 }; +Define_TL( default, 0x12 ) = { 0 }; +Define_TL( default, 0x13 ) = { 0 }; +Define_TL( default, 0x14 ) = { 0 }; +Define_TL( default, 0x15 ) = { 1, 25 }; +Define_TL( default, 0x16 ) = { 1, 2 }; +Define_TL( default, 0x17 ) = { 1, 16 }; +Define_TL( default, 0x18 ) = { 1, 23 }; +Define_TL( default, 0x19 ) = { 1, 74 }; +Define_TL( default, 0x1A ) = { 1, 4 }; +Define_TL( default, 0x1B ) = { 1, 9 }; +Define_TL( default, 0x1C ) = { 1, 61 }; +Define_TL( default, 0x1D ) = { 1, 66 }; +Define_TL( default, 0x1E ) = { 1, 44 }; +Define_TL( default, 0x1F ) = { 1, 58 }; +Define_TL( default, 0x20 ) = { 1, 63 }; +Define_TL( default, 0x21 ) = { 1, 41 }; +Define_TL( default, 0x22 ) = { 1, 46 }; +Define_TL( default, 0x23 ) = { 1, 51 }; +Define_TL( default, 0x24 ) = { 1, 29 }; +Define_TL( default, 0x25 ) = { 1, 34 }; +Define_TL( default, 0x26 ) = { 1, 11 }; +Define_TL( default, 0x27 ) = { 1, 26 }; +Define_TL( default, 0x28 ) = { 1, 31 }; +Define_TL( default, 0x29 ) = { 1, 8 }; +Define_TL( default, 0x2A ) = { 1, 14 }; +Define_TL( default, 0x2B ) = { 1, 19 }; +Define_TL( default, 0x2C ) = { 1, 71 }; +Define_TL( default, 0x2D ) = { 0 }; +Define_TL( default, 0x2E ) = { 0 }; +Define_TL( default, 0x2F ) = { 1, 1 }; +Define_TL( default, 0x30 ) = { 1, 54 }; +Define_TL( default, 0x31 ) = { 1, 67 }; +Define_TL( default, 0x32 ) = { 1, 73 }; +Define_TL( default, 0x33 ) = { 1, 50 }; +Define_TL( default, 0x34 ) = { 1, 56 }; +Define_TL( default, 0x35 ) = { 1, 60 }; +Define_TL( default, 0x36 ) = { 0 }; +Define_TL( default, 0x37 ) = { 0 }; +Define_TL( default, 0x38 ) = { 1, 39 }; +Define_TL( default, 0x39 ) = { 1, 43 }; +Define_TL( default, 0x3A ) = { 1, 22 }; +Define_TL( default, 0x3B ) = { 1, 36 }; +Define_TL( default, 0x3C ) = { 1, 40 }; +Define_TL( default, 0x3D ) = { 1, 18 }; +Define_TL( default, 0x3E ) = { 1, 24 }; +Define_TL( default, 0x3F ) = { 0 }; +Define_TL( default, 0x40 ) = { 0 }; +Define_TL( default, 0x41 ) = { 0 }; +Define_TL( default, 0x42 ) = { 1, 28 }; +Define_TL( default, 0x43 ) = { 1, 5 }; +Define_TL( default, 0x44 ) = { 1, 10 }; +Define_TL( default, 0x45 ) = { 1, 62 }; +Define_TL( default, 0x46 ) = { 1, 3 }; +Define_TL( default, 0x47 ) = { 1, 7 }; +Define_TL( default, 0x48 ) = { 1, 59 }; +Define_TL( default, 0x49 ) = { 1, 65 }; +Define_TL( default, 0x4A ) = { 1, 70 }; +Define_TL( default, 0x4B ) = { 1, 47 }; +Define_TL( default, 0x4C ) = { 1, 53 }; +Define_TL( default, 0x4D ) = { 1, 30 }; +Define_TL( default, 0x4E ) = { 1, 45 }; +Define_TL( default, 0x4F ) = { 1, 49 }; +Define_TL( default, 0x50 ) = { 1, 27 }; +Define_TL( default, 0x51 ) = { 1, 33 }; +Define_TL( default, 0x52 ) = { 1, 38 }; +Define_TL( default, 0x53 ) = { 1, 15 }; +Define_TL( default, 0x54 ) = { 1, 21 }; +Define_TL( default, 0x55 ) = { 1, 72 }; +Define_TL( default, 0x56 ) = { 1, 12 }; +Define_TL( default, 0x57 ) = { 1, 17 }; +Define_TL( default, 0x58 ) = { 1, 68 }; +Define_TL( default, 0x59 ) = { 1, 75 }; + + +// - Partial Layers - +// Partial Layer 1 +Define_TL( layer1, 0x03 ) = { 1, 77 }; +Define_TL( layer1, 0x04 ) = { 1, 82 }; +Define_TL( layer1, 0x05 ) = { 1, 84 }; +Define_TL( layer1, 0x06 ) = { 1, 76 }; +Define_TL( layer1, 0x07 ) = { 1, 79 }; +Define_TL( layer1, 0x08 ) = { 0 }; +Define_TL( layer1, 0x09 ) = { 0 }; +Define_TL( layer1, 0x0A ) = { 0 }; +Define_TL( layer1, 0x0B ) = { 0 }; +Define_TL( layer1, 0x0C ) = { 0 }; +Define_TL( layer1, 0x0D ) = { 0 }; +Define_TL( layer1, 0x0E ) = { 0 }; +Define_TL( layer1, 0x0F ) = { 0 }; +Define_TL( layer1, 0x10 ) = { 0 }; +Define_TL( layer1, 0x11 ) = { 0 }; +Define_TL( layer1, 0x12 ) = { 0 }; +Define_TL( layer1, 0x13 ) = { 0 }; +Define_TL( layer1, 0x14 ) = { 0 }; +Define_TL( layer1, 0x15 ) = { 0 }; +Define_TL( layer1, 0x16 ) = { 0 }; +Define_TL( layer1, 0x17 ) = { 0 }; +Define_TL( layer1, 0x18 ) = { 0 }; +Define_TL( layer1, 0x19 ) = { 0 }; +Define_TL( layer1, 0x1A ) = { 0 }; +Define_TL( layer1, 0x1B ) = { 0 }; +Define_TL( layer1, 0x1C ) = { 0 }; +Define_TL( layer1, 0x1D ) = { 0 }; +Define_TL( layer1, 0x1E ) = { 0 }; +Define_TL( layer1, 0x1F ) = { 0 }; +Define_TL( layer1, 0x20 ) = { 0 }; +Define_TL( layer1, 0x21 ) = { 0 }; +Define_TL( layer1, 0x22 ) = { 0 }; +Define_TL( layer1, 0x23 ) = { 0 }; +Define_TL( layer1, 0x24 ) = { 0 }; +Define_TL( layer1, 0x25 ) = { 0 }; +Define_TL( layer1, 0x26 ) = { 0 }; +Define_TL( layer1, 0x27 ) = { 0 }; +Define_TL( layer1, 0x28 ) = { 0 }; +Define_TL( layer1, 0x29 ) = { 0 }; +Define_TL( layer1, 0x2A ) = { 0 }; +Define_TL( layer1, 0x2B ) = { 0 }; +Define_TL( layer1, 0x2C ) = { 0 }; +Define_TL( layer1, 0x2D ) = { 0 }; +Define_TL( layer1, 0x2E ) = { 0 }; +Define_TL( layer1, 0x2F ) = { 0 }; +Define_TL( layer1, 0x30 ) = { 1, 80 }; +Define_TL( layer1, 0x31 ) = { 1, 83 }; +Define_TL( layer1, 0x32 ) = { 1, 85 }; +Define_TL( layer1, 0x33 ) = { 1, 78 }; +Define_TL( layer1, 0x34 ) = { 1, 81 }; + +// Partial Layer 2 +Define_TL( layer2, 0x07 ) = { 1, 86 }; +Define_TL( layer2, 0x08 ) = { 1, 87 }; +Define_TL( layer2, 0x09 ) = { 0 }; +Define_TL( layer2, 0x0A ) = { 0 }; +Define_TL( layer2, 0x0B ) = { 0 }; +Define_TL( layer2, 0x0C ) = { 0 }; +Define_TL( layer2, 0x0D ) = { 0 }; +Define_TL( layer2, 0x0E ) = { 0 }; +Define_TL( layer2, 0x0F ) = { 0 }; +Define_TL( layer2, 0x10 ) = { 0 }; +Define_TL( layer2, 0x11 ) = { 0 }; +Define_TL( layer2, 0x12 ) = { 0 }; +Define_TL( layer2, 0x13 ) = { 0 }; +Define_TL( layer2, 0x14 ) = { 0 }; +Define_TL( layer2, 0x15 ) = { 0 }; +Define_TL( layer2, 0x16 ) = { 0 }; +Define_TL( layer2, 0x17 ) = { 0 }; +Define_TL( layer2, 0x18 ) = { 0 }; +Define_TL( layer2, 0x19 ) = { 0 }; +Define_TL( layer2, 0x1A ) = { 0 }; +Define_TL( layer2, 0x1B ) = { 0 }; +Define_TL( layer2, 0x1C ) = { 0 }; +Define_TL( layer2, 0x1D ) = { 0 }; +Define_TL( layer2, 0x1E ) = { 0 }; +Define_TL( layer2, 0x1F ) = { 0 }; +Define_TL( layer2, 0x20 ) = { 0 }; +Define_TL( layer2, 0x21 ) = { 0 }; +Define_TL( layer2, 0x22 ) = { 0 }; +Define_TL( layer2, 0x23 ) = { 0 }; +Define_TL( layer2, 0x24 ) = { 0 }; +Define_TL( layer2, 0x25 ) = { 0 }; +Define_TL( layer2, 0x26 ) = { 0 }; +Define_TL( layer2, 0x27 ) = { 0 }; +Define_TL( layer2, 0x28 ) = { 0 }; +Define_TL( layer2, 0x29 ) = { 0 }; +Define_TL( layer2, 0x2A ) = { 0 }; +Define_TL( layer2, 0x2B ) = { 0 }; +Define_TL( layer2, 0x2C ) = { 0 }; +Define_TL( layer2, 0x2D ) = { 0 }; +Define_TL( layer2, 0x2E ) = { 0 }; +Define_TL( layer2, 0x2F ) = { 0 }; +Define_TL( layer2, 0x30 ) = { 0 }; +Define_TL( layer2, 0x31 ) = { 0 }; +Define_TL( layer2, 0x32 ) = { 0 }; +Define_TL( layer2, 0x33 ) = { 0 }; +Define_TL( layer2, 0x34 ) = { 0 }; +Define_TL( layer2, 0x35 ) = { 1, 88 }; + + +// -- ScanCode Offset Map +// Maps interconnect ids to scancode offsets +// +// Only used for keyboards with an interconnect +const uint8_t InterconnectOffsetList[] = { + 0x2D, + 0x59, +}; + + +// -- ScanCode Indexed Maps +// Maps to a trigger list of macro pointers +// _ +// -> |T| +// |r| -> +// |i| +// |g| -> +// |g| +// |e| -> +// |r| +// |s| -> +// - + +// - Default Map for ScanCode Lookup - +const nat_ptr_t *default_scanMap[] = { +default_tl_0x02, default_tl_0x03, default_tl_0x04, default_tl_0x05, default_tl_0x06, default_tl_0x07, default_tl_0x08, default_tl_0x09, default_tl_0x0A, default_tl_0x0B, default_tl_0x0C, default_tl_0x0D, default_tl_0x0E, default_tl_0x0F, default_tl_0x10, default_tl_0x11, default_tl_0x12, default_tl_0x13, default_tl_0x14, default_tl_0x15, default_tl_0x16, default_tl_0x17, default_tl_0x18, default_tl_0x19, default_tl_0x1A, default_tl_0x1B, default_tl_0x1C, default_tl_0x1D, default_tl_0x1E, default_tl_0x1F, default_tl_0x20, default_tl_0x21, default_tl_0x22, default_tl_0x23, default_tl_0x24, default_tl_0x25, default_tl_0x26, default_tl_0x27, default_tl_0x28, default_tl_0x29, default_tl_0x2A, default_tl_0x2B, default_tl_0x2C, default_tl_0x2D, default_tl_0x2E, default_tl_0x2F, default_tl_0x30, default_tl_0x31, default_tl_0x32, default_tl_0x33, default_tl_0x34, default_tl_0x35, default_tl_0x36, default_tl_0x37, default_tl_0x38, default_tl_0x39, default_tl_0x3A, default_tl_0x3B, default_tl_0x3C, default_tl_0x3D, default_tl_0x3E, default_tl_0x3F, default_tl_0x40, default_tl_0x41, default_tl_0x42, default_tl_0x43, default_tl_0x44, default_tl_0x45, default_tl_0x46, default_tl_0x47, default_tl_0x48, default_tl_0x49, default_tl_0x4A, default_tl_0x4B, default_tl_0x4C, default_tl_0x4D, default_tl_0x4E, default_tl_0x4F, default_tl_0x50, default_tl_0x51, default_tl_0x52, default_tl_0x53, default_tl_0x54, default_tl_0x55, default_tl_0x56, default_tl_0x57, default_tl_0x58, default_tl_0x59 +}; + + +// - Partial Layer ScanCode Lookup Maps - +// Partial Layer 1 +const nat_ptr_t *layer1_scanMap[] = { +layer1_tl_0x03, layer1_tl_0x04, layer1_tl_0x05, layer1_tl_0x06, layer1_tl_0x07, layer1_tl_0x08, layer1_tl_0x09, layer1_tl_0x0A, layer1_tl_0x0B, layer1_tl_0x0C, layer1_tl_0x0D, layer1_tl_0x0E, layer1_tl_0x0F, layer1_tl_0x10, layer1_tl_0x11, layer1_tl_0x12, layer1_tl_0x13, layer1_tl_0x14, layer1_tl_0x15, layer1_tl_0x16, layer1_tl_0x17, layer1_tl_0x18, layer1_tl_0x19, layer1_tl_0x1A, layer1_tl_0x1B, layer1_tl_0x1C, layer1_tl_0x1D, layer1_tl_0x1E, layer1_tl_0x1F, layer1_tl_0x20, layer1_tl_0x21, layer1_tl_0x22, layer1_tl_0x23, layer1_tl_0x24, layer1_tl_0x25, layer1_tl_0x26, layer1_tl_0x27, layer1_tl_0x28, layer1_tl_0x29, layer1_tl_0x2A, layer1_tl_0x2B, layer1_tl_0x2C, layer1_tl_0x2D, layer1_tl_0x2E, layer1_tl_0x2F, layer1_tl_0x30, layer1_tl_0x31, layer1_tl_0x32, layer1_tl_0x33, layer1_tl_0x34 +}; + +// Partial Layer 2 +const nat_ptr_t *layer2_scanMap[] = { +layer2_tl_0x07, layer2_tl_0x08, layer2_tl_0x09, layer2_tl_0x0A, layer2_tl_0x0B, layer2_tl_0x0C, layer2_tl_0x0D, layer2_tl_0x0E, layer2_tl_0x0F, layer2_tl_0x10, layer2_tl_0x11, layer2_tl_0x12, layer2_tl_0x13, layer2_tl_0x14, layer2_tl_0x15, layer2_tl_0x16, layer2_tl_0x17, layer2_tl_0x18, layer2_tl_0x19, layer2_tl_0x1A, layer2_tl_0x1B, layer2_tl_0x1C, layer2_tl_0x1D, layer2_tl_0x1E, layer2_tl_0x1F, layer2_tl_0x20, layer2_tl_0x21, layer2_tl_0x22, layer2_tl_0x23, layer2_tl_0x24, layer2_tl_0x25, layer2_tl_0x26, layer2_tl_0x27, layer2_tl_0x28, layer2_tl_0x29, layer2_tl_0x2A, layer2_tl_0x2B, layer2_tl_0x2C, layer2_tl_0x2D, layer2_tl_0x2E, layer2_tl_0x2F, layer2_tl_0x30, layer2_tl_0x31, layer2_tl_0x32, layer2_tl_0x33, layer2_tl_0x34, layer2_tl_0x35 +}; + + + +// ----- Layer Index ----- + +// -- Layer Index List +// +// Index 0: Default map +// Index n: Additional layers +const Layer LayerIndex[] = { + Layer_IN( default_scanMap, "D: MDErgo1 + lcdFuncMap", 0x02 ), + Layer_IN( layer1_scanMap, "1: MDErgo1 + lcdFuncMap", 0x03 ), + Layer_IN( layer2_scanMap, "2: MDErgo1 + lcdFuncMap", 0x07 ), +}; + + +// - Layer State +uint8_t LayerState[ LayerNum ]; + + + +// ----- 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 + + diff --git a/keyboard/if_ergodox/log/right_kll_defs.h b/keyboard/if_ergodox/log/right_kll_defs.h new file mode 100755 index 0000000..f52e024 --- /dev/null +++ b/keyboard/if_ergodox/log/right_kll_defs.h @@ -0,0 +1,260 @@ +/* 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 . + */ + +// This file was generated by the kll compiler, DO NOT EDIT. +// Generation Date: 2018-07-07 +// KLL Backend: kiibohd +// KLL Git Rev: ee4008a1905ca14bac641f581304c3b967b8ddc3 +// KLL Git Changes: None +// Compiler arguments: +// /srv/KiiConf/controller-lts/kll/kll.py +// /srv/KiiConf/controller-lts/Scan/ISSILed/capabilities.kll +// /srv/KiiConf/controller-lts/Scan/MatrixARM/capabilities.kll +// /srv/KiiConf/controller-lts/Scan/STLcd/capabilities.kll +// /srv/KiiConf/controller-lts/Scan/UARTConnect/capabilities.kll +// /srv/KiiConf/controller-lts/Macro/PartialMap/capabilities.kll +// /srv/KiiConf/controller-lts/Output/pjrcUSB/capabilities.kll +// /srv/KiiConf/controller-lts/Scan/MDErgo1/scancode_map.kll +// /srv/KiiConf/controller-lts/Scan/MDErgo1/rightHand.kll +// /srv/KiiConf/controller-lts/Scan/MDErgo1/slave1.kll +// /srv/KiiConf/controller-lts/Scan/MDErgo1/leftHand.kll +// -d +// MDErgo1-Blank-0.kll +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// -p +// MDErgo1-Blank-1.kll +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// -p +// MDErgo1-Blank-2.kll +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// --backend +// kiibohd +// --templates +// /srv/KiiConf/controller-lts/kll/templates/kiibohdKeymap.h +// /srv/KiiConf/controller-lts/kll/templates/kiibohdDefs.h +// --outputs +// generatedKeymap.h +// kll_defs.h +// +// - Base Layer - +// ISSILedCapabilities +// /srv/KiiConf/controller-lts/Scan/ISSILed/capabilities.kll +// MatrixArmCapabilities +// /srv/KiiConf/controller-lts/Scan/MatrixARM/capabilities.kll +// STLcdCapabilities +// /srv/KiiConf/controller-lts/Scan/STLcd/capabilities.kll +// UARTConnectCapabilities +// /srv/KiiConf/controller-lts/Scan/UARTConnect/capabilities.kll +// PartialMapCapabilities +// /srv/KiiConf/controller-lts/Macro/PartialMap/capabilities.kll +// pjrcUSBCapabilities +// /srv/KiiConf/controller-lts/Output/pjrcUSB/capabilities.kll +// MDErgo1 +// /srv/KiiConf/controller-lts/Scan/MDErgo1/scancode_map.kll +// MDErgo1RightHand +// /srv/KiiConf/controller-lts/Scan/MDErgo1/rightHand.kll +// MDErgo1Slave1 +// /srv/KiiConf/controller-lts/Scan/MDErgo1/slave1.kll +// MDErgo1LeftHand +// /srv/KiiConf/controller-lts/Scan/MDErgo1/leftHand.kll +// - Default Layer - +// MDErgo1 +// MDErgo1-Blank-0.kll +// lcdFuncMap +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// - Partial Layers - +// Layer 1 +// MDErgo1 +// MDErgo1-Blank-1.kll +// lcdFuncMap +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll +// Layer 2 +// MDErgo1 +// MDErgo1-Blank-2.kll +// lcdFuncMap +// /srv/KiiConf/controller-lts/kll/layouts/lcdFuncMap.kll + + + +#pragma once + +// ----- Enums ----- + +// Capability Indices +typedef enum CapabilityIndex { + LCD_layerStackExact_capability_index, + LCD_layerStack_capability_index, + LED_control_capability_index, + Macro_layerLatch_capability_index, + Macro_layerLock_capability_index, + Macro_layerRotate_capability_index, + Macro_layerShift_capability_index, + Macro_layerState_capability_index, + Output_consCtrlSend_capability_index, + Output_flashMode_capability_index, + Output_kbdProtocolBoot_capability_index, + Output_kbdProtocolNKRO_capability_index, + Output_noneSend_capability_index, + Output_sysCtrlSend_capability_index, + Output_toggleKbdProtocol_capability_index, + Output_usbCodeSend_capability_index, + Output_usbMouse_capability_index, +} CapabilityIndex; + + + +// ----- Defines ----- + +// -- Interconnect Node Maximum -- +#define InterconnectNodeMax 0x2 + + +// -- Capability / KLL Defines -- + +#define STLcdBacklightRed_define 4095 +#define STLcdNumber9_define \ +0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ + +#define STLcdNumber6Color_define 0xBCFC, 0xB6F6, 0x2D2D +#define StrobeDelay_define 0 +#define ISSILedBrightness1_define \ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C1-1 -> C1-16 */ \ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C2-1 -> C2-16 */ \ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C3-1 -> C3-16 */ \ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C4-1 -> C4-16 */ \ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C5-1 -> C5-16 */ \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C6-1 -> C6-16 */ \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C7-1 -> C7-16 */ \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C8-1 -> C8-16 */ \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C9-1 -> C9-16 */ \ + +#define enableUSBSuspend_define 1 +#define enableUSBLowPowerNegotiation_define 0 +#define STLcdBacklightPrescalar_define 0 +#define enableJoystick_define 0 +#define UARTConnectBaudFine_define 0 +#define UARTConnectBaud_define 1 +#define STLcdNumber8_define \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ + +#define enableDeviceRestartOnUSBTimeout_define 0 +#define STLcdDefaultImage_define \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + +#define USBProtocol_define 1 +#define IndexWordSize_define 16 +#define STLcdNumber0Color_define 0xB939, 0xAAEA, 0x8D8D +#define STLcdNumber7_define \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ + +#define STLcdNumber7Color_define 0x00C1, 0x7E7E, 0x3C3C +#define KeyboardLocale_define 0 +#define enableRawIO_define 0 +#define STLcdBacklightBlue_define 4095 +#define enableKeyboard_define 1 +#define DebounceThrottleDiv_define 0 +#define UARTConnectCableCheckLength_define 2 +#define LCDEnabled_define 1 +#define ISSILedMask1_define \ + 0xFF, 0x00, /* C1-1 -> C1-16 */ \ + 0xFF, 0x00, /* C2-1 -> C2-16 */ \ + 0xFF, 0x00, /* C3-1 -> C3-16 */ \ + 0xFF, 0x00, /* C4-1 -> C4-16 */ \ + 0x3F, 0x00, /* C5-1 -> C5-16 */ \ + 0x00, 0x00, /* C6-1 -> C6-16 */ \ + 0x00, 0x00, /* C7-1 -> C7-16 */ \ + 0x00, 0x00, /* C8-1 -> C8-16 */ \ + 0x00, 0x00, /* C9-1 -> C9-16 */ \ + +#define STLcdNumber1Color_define 0xA8A8, 0x2727, 0x1FA0 +#define STLcdNumber8Color_define 0x8303, 0x1394, 0xB9F9 +#define STLcdNumber4Color_define 0xF6F6, 0xA5A5, 0x4949 +#define enableVirtualSerialPort_define 1 +#define UARTConnectBufSize_define 128 +#define enableMouse_define 1 +#define STLcdBacklightGreen_define 4095 +#define STLcdNumber6_define \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, \ + +#define ConnectEnabled_define 1 +#define STLcdNumber5Color_define 0xB7B7, 0x5D5D, 0x8545 +#define STLcdNumber2_define \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ + +#define MinDebounceTime_define 5 +#define STLcdNumber5_define \ +0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, \ + +#define StateWordSize_define 8 +#define DebounceDivThreshold_define 65535 +#define flashModeEnabled_define 0 +#define STLcdNumber0_define \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ + +#define STLcdNumber4_define \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ + +#define STLcdNumber9Color_define 0x09CA, 0x12D3, 0x8484 +#define STLcdNumber3Color_define 0x0000, 0x8242, 0xB3F3 +#define enableUSBResume_define 1 +#define STLcdNumber2Color_define 0x4B4B, 0x8D8D, 0x34B5 +#define STLcdNumber3_define \ +0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \ + +#define STLcdNumber1_define \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + +#define CapabilitiesNum_KLL 17 +#define ResultMacroNum_KLL 83 +#define TriggerMacroNum_KLL 89 +#define LayerNum_KLL 3 + +// -- Built-in Defines -- + + diff --git a/keyboard/if_ergodox/right_kiibohd.dfu.bin b/keyboard/if_ergodox/right_kiibohd.dfu.bin index 7a11c0bd99d1d6c8b751b0b0543398b51c4080d0..9bfef2771387c80dd5e386c3fae0890fe61b774b 100755 GIT binary patch literal 43720 zcmd?Rdwf*Y)jzz?IWv>VBqWmyIGF^POMs9`U`PPNMI9z#m}C-yToe^#0z^Xcp8{~K|1TDq_Qjkf>4YV*BY|99q~@4nhs9NHh|9K(GJeU0ZW%gw>2OJ(`y zpwVWRb1G_l^BTurVXZV6PLFOEl$Q_DS`V2O+Sm7(h?*YoM zC`YSLWF*jPL^tx0IlxQVyuN%mI>ncPGL5zyMH@;yuA>smbt9)NzGkVj-Rz(2v*3NP zuQ(t`*+RBsC|csv+RXmqhFZC<0{NIl292R&{i{s+iJa1TI2bIZ3b}5rjzrz^C{%4iR>~j`dhrpKUT%1d%{%i1ChdKr2i`$RK)SDwZA7?eSX{9|$Ez+-yXd1LWvtNJg zKTxLP3l=+coG}d>)@I{b-)%sdgCm)vb-ta{BfW1VV>EqNQs+H(R`1eEyWadg>X)I8 z(1|gOwv(=Z-{tx@tM%``T>rYu^~E=HQIG0RL0ogWz7GAZAJLBXcXd)T+TZFoXN{Jp z@$z+oXSbV=fL4l!`^6>3Ze|C4MSivB-IZMRP`~k*xTO8nY+rW0xh)$o%WPZ!YCR{M zGSolh4)t=?Z(n?*%4_A%Uy~nB44!YkaJR@3f<;_n0?ukM7Fv@W;BHN~#-qePR@ybQL$#sZ?$X{9p?uSa<~?C?N#&pA+7izv zp@-c;&p6NHo>?DSFopr;wvrw0TSDa@TSCl!#9i3STR2OR=SBDAledJPYn#=@O*cfj z1;vn;!S^1br7A&u?x+V1c5I6Vx?!&#zCJb`IOTFuZw*>cxKkYwu zR^EXfjD9iiY>(DcfVFrk!CA{ZT4~WpOUM@TmF#wFBM-Sh3+42!Ht%w0MYB-mp+uR7 zvudT8BYLb>4X~s0jfbfR`-b3#(80D-D*>b4P4_Xj1A*4BrrX|BhWYGJ2EcXqxGOxx zA5KO~t%>t_I57dKr3uASbIh^5wnwo$wkq+D zlsumaaYQNGda%uomLqHEm#f|%wg+vYKZKqL?+@>D^B)R6W-|xv+qngwgzZ~vj{OdN z?ij}QpAV$RM|`jH&(fmySI@}$&UsCHWaf7SY8ne9WA3G}eS34{rmjmFOHR$kD6$ek zy90dR9^4SLZ(SL4HZRzobyU)2oSKQZBg6DI-yV{ga}fK419|6%7sSdDe>q&E&SrOF z8dCkk^S5*5g}pJ`SzC$EEY6Hs?A(H6vu`eHQuv1`< zF#04sEAi#Z1fNOFi*b%ZpW*ZoTe)ZoWY;V42}-)Ppe@pG3S=N>oRa0^QD^$IcpEO8oU+ zn(vj})T73kv}--to=0UZ`qo*-`nzYe)i0A5`^!955B1bOn)f;Kgd}6{E5AS5G0DUA&9|dkaDs!$!W!^$PqA!NNjBTFu+&rW0zJ_+k`d>Jj z_fzEYM~rG;#opq2jr6Rd#DAX5vT*1z+pfe{C|3}7x)8*EGv3#H;UG9rA##`{ou{|H zV&_4N*C-R3;H~Bk^t(02WA=qmphxiQlhi)PB;?XjEZA^_<;Vw)>9|-(gk*R&uLC@XrSP zAC<=eCOIx)bghr4(rfL++|Sw>;HTn+>m~Q32=K$jALiA0yf9j>1m*s$t|e#X4jVAn zr$^u9;*HMB&DKg~L!XELyMJtq)rywZuQv?bFX-On;a<>4_ovt%O`xz#D@_}IH>|i)=_G1SS21p0Dm_l>`&St2 zSp?!?UmwRC>NsAzJPzwWjN`@2lk8KHI){e zW3+H0=~C&uYUE=7)1XPNnkZA)L;Yx^qv`rsqg6woAT~xV&n8(}f0X#cgpmvVnl!yM z6to$;3q32kzUOF`4D88XW+fa~;|&fhPr*CEmj+vQ11?8)ye(ieZt@_{&#^z0j|2myxYB3 zl%x5v+^^+Y>(aRyF=p2{EDD(GxawVw$5Bq}J!==lQhTkK<|4$SjvUL|t4uZ`Oz!5M z=U?Cf8r=D!H2{8G&yH=19f<`*OXxEu_#n91|9oWq2} zO8jBq|5{m-P|D-oIiB&J5>G}{nXZqPcm?8}E{(LS*U%$OpAjhnCn*B=KN-H(%t`lh z6Q`GcY8J=)OaXg9>oBDuB?tzCVMFLKhp}(hf(=1#8nlOL<9x;60v4P#u@jJ0syq%4 zCp|qpv&Z5|_o2kSy}}Xc*Z^>vTA$lo9|JjZ~@#Ds)-z3A9PHJ03K9W%t`*>~-wKR~eQ9jt$&rdxG(UL3ddr zfAI;MW_mqf$w`7X*H+0&8(6HgVYzHKa;2JKCh2S4vYpk$R#MIst(sGZ9B_NcqNES< zj_J{Ywpz&|l*UX{)5+O*loQ<9y$mvB@z?5F&oP#+9YXCajJd4qusc(&&kNYw(T*S# z__O7D5EImb`M;c7QydWPlhoH{| zAB3*KrmP#@kvJpIexmu@VngPDfiIHBJC_BRwN{;Vmh#tdv&8fnwtIbd*M4N0)YG!v zx>aLs*?LcXo@`>=fS0Qea8J0-aTe_VyOsF)lr{8<%%9-)vHi`Lly7^xwk`&y&1yck zCfn4zclnR;E;DukdD(+pcJsMwIa4p?MVD{bu5m1m9^7u<{`No?e=;mM%qm4@^L(}? z)DjB0xjx>W9n+L&^a*x-ES;z8)0A_kH*777arO;cHQ+~y{_6ml?pd+P^@s3P9b5>w`%D-KS*C|WT!ktO|Ag9l~ z^0h&2t`ffY!nb}_+d$A+UdLIN1-LnB2;H5^ti1Qa%|E-!XAZIQnN^I(?@gvl5`^NO3uRXRY}h3#E5>MbRac1S&853Br83X z!AGa!xiVRf-|{4HJrLGNze!F*%C7!el2_DcOwlGZnfz^FH7?T;jSCirAUnakzWGg7EyVE!nQ(*-8^_SnG?GDn2beBtw@lk3k1fH`Kp`e@FWyDHcGcpF3!$Sm@Lx4*| zl6&FZFt|K+#ixh#C{;0HQL!{SA|N#dDbgjz|M3b-TU2b3{MKu`oCA zZeGyF%_fVGrs850xWXv}JhSEwx(qQ$f(mD{WDK7hAb%1`mDS5Dwps~p5H zugt`+lA4O&k<{<;JCy3g@1+#Y?W@$!@GGU#I>Ik{mG~#U#_nm}Y1mKZ3@PzLsi~0O zYNa4{p;FRmwifyAK2w`Z3Nn-5*yg$r6pemML!MvNe4z0_t5aBM$=|`JNrjKeR|G2& zunwiJAiIDcJhuHt|M-Sddx3wqzo4bir$?>}x#kwv`MTOHzp>tcFd8=$_zA{(;L4ZZ zW$a1dUObB}9Stt)Nw6wq#K3?K^UQ)RBE_2|QJsfoD z0$@8ru%IEo?MC%?Uobmn4jk+%636+n8;U}C{u@G%`}c*iLFJjT44?PBP-XTnI{#$V zKELnMP`T$K4R*h`X)Xibt~mBpRZe6;?Y9R6QT=13qKm(5(CAp zHy)l>pNcO{)iiKFt@iMPH5taXYuhGzg!lASue%+dc+}WdRbS?}1z7pw$cB*4c4O^P zQ}{*$MpcOw*cYnwu_dx)c40r^Kb#*ASECh+f z_+rMu38Sfwo2$fsnS3?;mwq<&QCaZY1MduKgde)IKekL8Hzh-F@_cE$ns~`7kaY%4nyl2;$i(yj&1GT*9n+TPprc(jMZV0cAU%avM(Tp63SY_@ZKNHp&@)9Ja~XCFlEd zu($fU@Vi~HJbJc_G3$I!wTDULl3vd|56Q|(e2S7mviOddG4^+{o|h1Qf$${)$;iWq z_1!#1`a1Mf{jnE!lU`18Xn076-=7VEj|NT-a(oSJfo73(dfIn>iE@8L-K>zmgsl$#sT!mEU&^*{4PnKl`OCvLp z-ad47&kWy8Z`$fT!#7DB7pue^3%WL1cu5*@_$o%A6*w;rUgGR`nZVx$nID1adc*w`5h5`|`U+jlPXrX3^gB?>N zeL9qh)U46b{&tAqQI1q(5Y}Gcop_AqehDz3{g~iU1RMKlogjNSTW>VHs5{8P)2oI^T6$h~Qo0RRj-eSy zKO@f=O@C{s0_nXn**?55ar()5_!t2uCsZ(+GsmFC+d5!dV1@|0Tqq zBcJjiRP2;4oeSx?U z{eBaHY??vvjY3aZ(+)dMhgR$lET{`QvOk^T6{Ig!-E^XC$Mac*v!vqxo;U|S_f_}} z_necHfV;PKVO3zq07b!yBS@#z8XCC>&%aT2*m$&fL%>_ITBK4%;Fj-;djs68z2fd6 z&d8>}37f_ZB1(OA&h+Os%L5O&HN9Nbxs^NY8*0y8$I9{Ec5dY_VEdOk4NpPt#F&4J zKs4}2#5AvaySZ|*e`YW~x)lBHR+fTq*h9^iQd?R1vdE2-9(LP;PsQJH&SB`g3hmyiI90sJ zmKPx9S8k5YM?WtH3hG`IYXFNkx@wTW5_)}EK#+!%IY>1j)rQo0r3xvJau_WL(tuKq z)HTX9FDK;>&yTIf2ra>hku)!x8lCLJXqicz>iaaH?Mn3nV$iQY7Fi_K|Fk#(Hm6+J zU$bGM8V7r9j!`(A8PmY_Xp}Rr^3~ddM&PqqBs*fRk`?2ip^~&p@{KKI?lJl_*1h7# z;@^0R=7_V9M{WOg2Pp4tN5ozK(g#W?mT%QKIDF6EZ*TrJu z+L&eQO)>x0n&9f#hV3_)oxY+vuecz@9Lu5=zMBGyLx@x~ibgleNAM-pfa~v(h1N(r`knp)6%YifB-nY5cpEml^%?;mGs2iXs07ahvuyC~c(=9j_kj(83=b<$MwufS?wLzj!{iYodiAz&SUPJNP49OtaL$& zo0FD4$nKw=`Xc;gKaKgI_y^I3zG##*o{sKujek^e>?ed{Gk&kaAk+7(SQOeH00fL= zp+vuc#GjKtfh~hqafRyUU@jfqxs9!A{iy-Yu9>kxtv|trQ3EsSL;_T4Pmfg{KiYXO zIaO@^T02IZ=@x?L{XEH4@KHUmD4fgyJr#G6J@h{nE~dm^1otrlt`hJn_XlY_?dZ<= z7h@;tAc$o!LGAZhKuwFW&>vJQIJTeFT=B+QP;^1s?S5^5}rc&jq+C znwfu0Lz~tg{6J%A14d}ETFm(q%$i#UyEW!AE-8Ss>j%A_55j~o_SAFYpMU`*n-Lr) zt2RSHY8@Vrv0WG;tG+I!DVwBPp@a-WPCnzY5{FXbu@Zku<;S#0@k&lik9eVCi0Pr( z><{s~_~#84-u5y$lM?^QsD(Byv*iI-D*yb|5?Y4}AFYTv@U&beekxZ4F><5MGXZPF zn68wweBX_+V?Ml#fAZKdtFg0vsfpdgjw+***PsVg%tc_Pfp^f*^n;;&t{(-NMv1Ahy3{*c1Pu>0`6i0vx*B~YVxzCA z(cIS5)YOb~y!B>P(`ATV=L>A_$dQ@N7xLQQkw2R0@%;vpar1?1q0`p+7DHdmG~|gz zfosLuhT3{#Krg~ssh%11$Xn!ddyB;Uz>V#T8YV#Q;V%Z42dxF-)xIK8xENefB*G>K zU76?2ss|L$lSdRzOGH5|2o~(T61p&g$l=_1vHa!2IZZSD85e`s&s_gv@Wq`2!GWDG z_+MB*;2&7;^f_AYt9ERd3C-5L^M>FJJ8$T`;r@#HEz-S0mOpE~!&lU{ND{ar|9xn^ ztbQj>KrA>-<}L=W%@U{7S6qI!L;q*j7GZ{LQIWq&ga?C5iI?}D0$uOe%a{qYF(#X- zeiugG#dk7S#sT!3ssl>6 zql+x9@H$E?LaXl#>taD`Xz@Xmk44F!TuXQ+c zU?+EluOU$5Ss~k;{4ASi&k|EtHnc(ky;MW{yyn8KKZAW$Y93y%`mD?a{3jr+2F=i# zknBn_6w%u}k z1?)Xf%J(~&V^Op=cI{Fc`K9PG-^9Q&pH>pJ#etXg`d)6z8(mG9%b!*4RFJ+q>_h7J zNI3(7^uX{Eq&^uUZA*}X!;6vnXb7H)fiKKogjwZ(Mh*t%`&jueBSp{wit0?_`+=+K zx%ql=ALM^#Nz3q<*)_mhli|R8xh_a$NSjy4_Ay>FTIcTi^qsYBd}4C{zUfi2mqJmoLTRJw8}=(`WU2T(*o{;1bFu~YSfeWy zUxhK%bd$U?A``9-$$1un*bj$TDM>CNS%{2A!RGp74qz529E&S>ft4M z73ZQgs$MzeMaCKs$PPeuo%G(tOIOi3zVz9U#+Tl)I18*+qvwhjFg}uL*c6S2+jZFU zyoaBbwubYPRXzV_jvFI)_V^sxQO+qy$A>C>>xP3v!oUZD$5Xt0a-9;ci$PKx!g-DE zQuw$V{s?SAR9$~nU)?2pAyf9sR*e54nX_7eucZGA(EmBBAE~k-Gg9}cwgN%2LfaRl zJE248HB9jCUEPWEM1s%lashrfslT_##+bf3|u%c@M1a0i_fv zJL)1`b;zCFH`ON$yepvR5KcT%e-hpos67+Bauf@Gvy|1aVcw_^bhOGu{PN0j55P(gTi^~ z-%_QaHC==)ccr+6dLJ8I50moa@cDiNJVs>~FSQ+)fj4BsCc8D^2+^e;bFm@NnJ3|t zQm(=Igf>bP(tO;|!%x>n^qxGA8QL^-$6oO0-YF>m^>PbPPC%V>IUXKy?P|HEe<(K% z<+#h`G$?noTJ9TaIjW7m%XHC9^qqG+zsD#gbF(7mkj}S%O#vi5J}NE|%J>L}nu}2L zJE%wVP|C>)NM1CPJvxj&BYFkqEG^=tFON}=_Gn?FEoAF*;xvzXwJQrCUD)7H@I;s| zw*|BMvfw7xug$ivsD0n`AFJ8jrREiKscSyQzdvKsDK_)gNEuor2z{2Kr*fP# zq~iA`Zi-d;Cc@sQbUf{zA2}ocYS$V0mEb&iydPFa>>j)zNQ$AlYbN9i4yO~;!if~# zTTC*K_Z-)G?nc8qUj>DIi?4`eTPOOK*6uCZf5XFF-n$RDb3V+x`w@56hb?Adpp&hT ztShu1IQP#XXZ6@&Xe)6Jlhw=A~DY#7_-Lznc14lBioqlDx)Chm+$+ zaeMepIw#L>79x4FPQ;!?r?{kNHZfMZtbUttGT<`3lp) zz&_+9F~(^>gY1gHgC2+n(3pRMd5GQlpgfJIpl7g)pI#F2P2wFzr*Ejp>LYlZP|vk_ zsTJ@bX^)qF{${2xv&kF~EX!(Vn7FE~BD20CPG4yj)3Vot=!4oOzC-*b1Lx>t`(TFZ zS>Wqh;kbxB5IY4tCdgWI45!s;nd9rFCH1`hZ>1lD7Y3F7$-gY!_Yb85NkJ|B*yYl6 zK56yw+mFh7@>%I4;6vcb+LuG$bI*>@?s~Dmv7}a>#SY1P+`_Gs}$*s=`6nVPbd6AsPiA9G4ufgJ(?cE$GS=%fL+1Ux6Ef#l* zR7a>D=qEe27CdY3O0qi=&mDu$wLc;nlWU!jq1W~}8|nOWb!4V*X1ytpivKn>g*4F} zm5oyZ6MHJKQV+jT1HH&58a-2dXXHI6CIz;Z6p7R7SD1up->!vzxGQ@=r>}s&{tp8o znfG6}=DR&N2e=u~I;P$X>!l99J+Ql+P|KdM%DNMe73~kaA#%+gI2JSMkp!LHGwJP~+hN;o+@G#b zZBl#G7xAdoWq@F_)^qFWIgMvz_PA!?gg$e?WvBuMuS?MH8r&`5r56*lb6=NODbI0E z3b4{!j?%gd_JV}Y^NRbl%*2T&GX^wSoOM5ZNqOm9f_Cz&6E$mz69148X46hRH}QFR zKWtx=*Oz$3{n<&PUPt27{;Stc!YLsyO-V%iO^B@tcqO5oEx2dEOXkELS%Xwtq5!Fa z#6Ebhat>WY_>jk05#aY2cKTQjxJC|9d^0a`Z%{7lrG1!a>W_fmxFd}H3HnMd;yi>& z2y+llAbfz(gwXYjGI=>*5^vUc*!dp>1$$$YkYGbTpLQUq_tiCcx!t^Ua=0Gj_|32d zkeQSq$?1b(oFO_V2DquGdPsVDYxo-Y)MaAKISCiiJ;U674!(6fZd8!;)P?jOa4A)m z#(0;%G26qY0*(jH$QO>7FA8Tus2qbrAh>V6@Lkvb=?y`|(5 zwBYYVNVf0}ccwLi$M!r6*$1>qa9;(O60E zOd+}d;jZNlePpHME0yO}Bvc-j`b$4?z$t2Ky7I?S{->VxHQ#?k^8){8fx*j4oZNIq z4hDs(->&T_+P0SMUM){^7O&-I>jxe%aJxSzAHYm*|K7zDBOlAmazc>j-&G^At zfhqCF6|T$>(GL8A&GYDO;6(b7_~InlvpmpNe;oe2|5)hFQ(!h`*hHBRtU8lTXHeaXrt`0CYxwBDWtiKS4b zumV{7^J5PMcHnF(Kk5qbWqA>y3}=lv^VVDFE{PFA2kIlKunu;Q^bHde;-81H)(967 z^xf2^MQw9(G~YWZwj=ORz=c*bBYc?|Z3>avNvqwf7ojz3qYM;|knV?Cr533#4f@ic zuN<|nulE6&tNDz4PbWf`9#ZxLN7@5ixz>|4a3V81%G=t-o8&o0lWepsD|u**I%8h1 z%1Pr7;Eg38K6-++p*CMqc+C@BRIq$E=7qIhP;xvEAc=@9P8T_eSNPhETI2GqONnsCmZ4GRP?~*!OrwQ}hv*y|o!Iqz3`TN)W zM;Dv=^-b~#7M9RB7X>+EyGtH-+fEu~>oR8B=hmJ)BdNPE*;{iM%~jf?a)8W-tpu=zGH z%U;u-mAtK>E(|&(DrCL%Uc^1lL(o5`dT1X%=(hD0z;;^*IGjwS@qPmEQ5T(qJc7^( zyxE#S%F&QCIy`V~jk}|^f72pKVj@t}&@vq>4pk&k?^P%UYFGo}# zdXaqSdFi{d1t&emV^Or5wqJ45r#Nrn;n%?9R@j)`iu$Ir5f1vl7Qbs1E$nwBNpRAG zqxYujyRl!Y<;I~zBhHUGsb0y(85!O5Jb_yXuP6rOU85L$rcf}(VQtaG zGVo+j$giK1YA*YY>K|1m{{Zd1kD!!0yGifU;I8DcvrdfS{Bc-W7+0qEW=8dp4;M== z?G(`rEtQM%LFcjJkbvJWQP+!c9m8DH`Ya#i(A$T{#U3#S`*qIT0H6H@Oq5Y5S6+L8}dS& z<-ss64_~yN(`v^Db7M7KISt&@ypRrg<7!_Hj}K;dWi=EAv$_nB4=wo33lLYy6E!{d zF7iNAPm`d7G@;+uG1qqyet~cT0rw~BnSI4duBy0vD5^sX2;$cRV1c<1oCs%WUWCJh zi%Pk1bPgGqgAs6_dtBRS4>-EGav@4*&?E;Nk8LA(V7-*`8r%j-uN2j&L5+#WbxjWJ z8rW@cc8+^>N`**wSs%Sz2iS_WHNq;8#xTwC<$#VJWuF1={-b~0PcGMk#)*2F(c8Vp zV^y$YFzIBlVbU`9vPEQ%DGA&P&IPSn3(G>~;)r}qBgKT6BPY63nyhK@eO}AiJ`W#s z6$SKNhFUIWJ%~MWe-aEltnew0iMX%xdCk-L=mZ;wv| zuFrzCU^?y_{TBK=<#STmF>XqBeRiXEm_J|E6frbRa4bjn9*CK zYdEG05&jX4ev15suP`>N2Y2y~GS>MTW7`pSA?-&n{5-7-=;4R`Dekpv>N&{pgf;LF zhhI+!bzeh0oH0v3lP6&PvG$Ti9wMC%=Tr?n1<2Dnw5RhMm^F%f?w^F?{qUVfIVQPN zL;ZHb7#_9CbrIt+I{DC*mG$Z@Tuh^KQ97CU;TuF(gzrQrV`Jx}hSxaB_8RV}tjX%) zW+nPLsTpJE8t|n8zqn-V`vBl`A$Wv`PMGw)8!h6Jx6#&dYOfoV9NOj9MNB~@{uhO2 zm5Sf-2A!SIdw3?}t+6{_eg8W};uF@+eYZ#cKY;W`5Q*mqqctxnEeHT z_x;SaPh_@_MRCblj9u!+-Tp>(Wwnqjb@xdeFZwfa*Gd;)GqQU_)83!<9f{K|Ima#1 ziFJ^NfzsTuo+~ z0kyQg6|%+2ELa=oO>K$(^{-;b1^iB+oUyz8RnC4zgSjprU;fC?C^@y46{43}u8JOh zpteBoTEWyXkWQtn3Nz9mrZIGP|&?(vsn-fnCPjhTz8;V4K!s3bH`^L<7sc+%jS1jQTH7yI z8YO+MW>7EKLbZOZu>E~|?K!?y@UMTh<`}KjuYfO~12<@%8o-rcdlo_K(>3f{gD*um zwD{VJ98G`!0`QLsuKH(2dM6+r!*8;gzU(Urd>-~^Og;4yAoF6^i`cOs)e6(Q$mFzVp=%fm@L6VCN6qcjjz?)WkROKm6MNJ)_U#*h39x z`L&v*wAvlbJEpQ0>q2KhUtDEicsJ#|gl!2gCRK@`Cr*FGkCTz|Ll7U*LDN zyx78bWr@|He`|D|f2L};n@MLoXP-WLvGZOg`8&s-z7M0U>C8ACbhxDDo!@Mvy>f%N z@Ux>AgDA0}({-N9r&``lH}YJ_o7HJJjkeU>A9liXq@CV(cUFCdvT6@?o$0u-v+Oh1 zC97KUTb)x*AG}zGvU>C$*%Fi*JC9yGu!Tv_caBHPdOV#E9=&MX;*xSY4+fU_8XM`G z2P=Ii!)9^GWk?@SYAzlKm}BnqR-XEO2%|Z8@yK#|zU}g8+B*kOB0a{tI)mz{=5>A+ zvwx#VC!F$sLtn$B=}G-CG03=T@hJxfJw#4WgfY|9{R}~*zn|C zv1MO>o2|Z`>7)0tWixPkVq!CV^xX}9zJUFSFrU}(n)Gff;9eHphI?($0KC>{-j9~5 zRLhm__1GHhK3kn#F2bZYMp&5(x_F(+8O*-La*gwv80!s!9*Hi$ z1)MKOOms^0unYNPe9wqHl6y(sB|boW?lkCT67uOR{C5aMGsL@yhKNrP?{L1)8Hslg zoe^&%+S&`N1o~!N^@Dg~(v}gggp<}T?Z7*{-nq%cyL+oEN@B+-$ET z=$SpMVzFFBZ8*OZ4aa`qdoFe;WWWu@?>Ca2biKHbJ&FB%Uq)Ro2khhR&%`!_IN;?| z!N;&;G!OZqxpC5kp+}MO4n6401(k(k4|$ETgCQP%L7GGry-ydD!3j|12L+=knd5_1-=G2SaPrURcGG)I;`>i~4ms z>LYuXn@6l!Sb|o*=wBbY-j{DMi`SD4)}I$!>08oR9MHuM23A0~)5qwBW^JQggy(2X zZ*Ojd%w;d}TnZh<4c18>*NoY{b3CpoBnc_;>qhP>uBa2DuFAaV9FGwD`?pKfw;bN` z(W@I4`X>ZA+f}~i7_5cC*I&I*Xcz%hQu_>7SH{>Jg>~n`~NNtb{fzwwyt+BGDbK0KmvNiu)X2I76 zUAeP+>pZSf`r3vPPbJb`wGcRhk^S>;63eo zL`S5967B3k8oXP_E$nFHB|U#=P|skk#2qeHJ{R=LCDzri^IZ$?rE^`&+7{ui2S2Fi zw)%_K3e)K(GN;}|7Oa{WkFWG-t*|Xwi&jkl&F6>yw$Hg^=Cwk3hRQ=+F5)3NNbH&z zm4mOAO~6@LRSdg_B|qCP>nm(W?XnK1BASv#^=D-7XXxKqfZY|n$8MHOjb8sk-%_M- zHf}W3*7Alq7n@5fz#vytnZ=CQY~Sn#>PO#O;GvbNqWf^-H$Lyru$*$% zS9+a|JiPH}J!j%u348pw=hJf9zprJDztT6(ViGI83cU9iZk6)e9MIn!zFySlP=`+E zrs}k(?7nfx3Bt$ARq>Q& zD|U|qGW_0U5tF|9=*1u3yU2ejI*mLYF9fYc{;59v;=4Vi^-P!e$nJX^Uj#6T_;uyy znC>*+Wob}w=2Fnk%i_W;NNg@4ODyrh{|8?ox=#)|ja!QvMC+Cd%eLi-wmSGlZq4&g zXfQ%T7!T-EAo-ejIoUsGFIXAWxLioDM!XF18pM9Ye#9bT+CRv5GTWNrdJ6CugIhhm z1E)tG?IQ#uI_dVD=R7|G=gI2%k#|N+iT}s2rR(WYc~t6r%J&rHp2?p1Jseha%dk+E z)5l$%A1#RCRu_0DZ~3bK3Dho-{JG~Nf(7^fB=-B-eLC~0`+fH>r8{)@dzmypPd$HkAyQSR{ zq`Kc$>$-%uVhc$7(t*RxSd23vsdJ<68_mUm4M#Vj<`B+HYXVIAVd_?-&L_$1rgbTk zzMtBF^tohue2=9>b({~Uj;QeiDM^iYq@3Gn6!)e?HU78M^{DlmWw3AE|Zp|bTckS=i}X8yweZp@b!j0+v&~xRL+b`(b;(ONV3|88sB1) zGv!2j=jD>CzeOddpp8pW2i|-W<1MS-&~EWGOPrpcx>ME%bvBD^xGfQ%JY)-%)>}Nf zDvNA%yyk!(cI;rR#x*^RmplP=$jn9kQpC#JKbPm#{YvjxG5fbYpc zU+fz0{A!|u@5A>Kp})Zv>^kkj_cFLV=povAuZ?^wnC+L#+|Zg??~jRwI!XWa+TJlA zO`J#Fywe7p!P>eq@oRuxUU{wk)eL-9k}a|h3t#2671dH(;u5Myyo%;R?a1A=m$*6$ zXv5w!S+!a)>DO;&5?_@0vXUm)?-v$FOF(fiC>-b|9x*kWmg0s_X@w|sUeQz?s_k@y zc693OLXc`%hYEZPgC*kZU`0?q<_L6vvU0r+kF&>*eI&au59;9y`7I&FLH-$blo9e_RB%9KEI(x5N%Gon;H?>-1 z70nSxlcViw2$`fOv}BX!>3kMSiR zO+;RkjT<6dwcJ0s&KJ7Iq3d(mvx3y;7P>QtF9G5koZ`#{^1LLn4oud;m z$?G-Ube{!d*1p)2-Dt(P{CpvuB`c`J8|5kfnqx}*c#88_x^(btp*#PJUel<%A=x9x z+M{+j(ArzD<9;>z{V^uJp3org=lCVN43old5PpyONmBXeQGNvFiGQ#ebBTLl(YHp%zCnh3)n)+LszaQtb#`AdfH$PG2)8n=* z!wnA8=+mDQ6GoptPmEWe(y;zih4mE}_l*cU5PpJi4q;L+{PYlZA$)+)kB|$Qv>M?$ zgqIL#U#2}--H#EE`F>Wz;`f_jJx25^x|!OfztWokawc};8HhaFMI7c^P#=Ya2P2rkquL#*#6ta)l!7{!_&yv}-U zZ!uPe;KVrz=d=ebj^POWmEn0XUOJ;4io(irQ?|drkJBI(mu$eK&=KaiDq?M7klc08 zXT0#2l}h}Ka@aFb#j@f)Hnloj+_aBP=6cQK#n5-d)-K&12LBIuDn=h48J+`+TA$~IlxKlu>J_`gET*y z7vUA*62V9OK71=NA1}gO1j4I%h~EK@xex>14F!Qrho+BCkjR==_`0qU-$pW$OuM$s};q8jo3YP4Uv`jo~z7VV{s%Rbg$wWoOg}kWtLCu z-dLK|q)D*ZZ0Zb*>ZKHU-X9vN_Iw<^q2v#1in}!49V@du@&0n0DG@G@jY;lqZ>oT2 z)`KGlx>E7bh$C>v(hZIiVSV3b;Cb25?f9Jn8KPReI(B18mADBb>F?i!ab+DPPvl8` zB)b(3-Gbk|A-ks>o&#BZ{)U@NB5OEEXGexEh5dLZ3{`ui{&ikktm3r3+!o~=W)*^t z!1CrpZrAxA1y|G?)*8xlJYPm9)md!tBmxvCqKr@7eg7cSiG&ir<~YA#shab#9P7_4 zzZ+*tN@@YlBo<&dE-s%QxwkwL8CQNs^ppOp@mGEHS}lR6W`Z)42$4a>W?*3$hp%2j)Q=Ah_44X9{ojKU?y&yXoVsqMHIYIqIXn zwTm3KsI$4!_k$s3DaMSUTif-XtX1Tviaf@wnKrIQi5rwDKHPXBpO2bM+`i+Lo$iue zD{z}iDRG<9vDWRdL?*M6iT^cq#aJyT)#^{}benoBL@JYpf)2MuoJHL1U#|Q- zoQnS}ag%zkPHRf^`vz!^XqspvAGBgZpnYK?Vk-jS%@|D)F5pBCx7VN<`VU>4YsYtE z+UazI_0spt^j#X<)WV7QXbH;4Hwn~ln&rNd(XDxLg$xg~-9n%m`16efx8FRGd&1Oq zslOKVcrm&IzvrXsN%jD4d@o7GSHB^6%pR^fFTkb`M~&tnzU!O5HS(3hY_*g2xpf~u zvnICYz{<~X!pSYTgzpwRy9IpN(J7wq%lp{Y{Af zq_lyCxWBJodNgrC;;J4sY1C0@Wo{uxR(3ubx?F#6FMWHE>Qn!p4X3{uD1!6hOGDbs z%13&yoa&sqp=3@S%iJFxw~C9DVElY}c0^Ndh;Ze((E#lFe<}z?Ud2_#TB2tHjOx08XHJSmhv_&Sf#<6r<;C zzoAkSF;?25h0rAnW1RIqccG`auTbV1oeMeKmoSua^IK}a>PJrHymH-X=X~<7%H(#s zFP_ebdGJ+%E9YPAzoq=*>FehY_UjUYBpzGZRBs(;VBVJYjTTSKowskZT2|D$*LgiF zme04arq<0{+P7PpTJC7MwH12Y-wM>G3#f&gnif%E_njU8Qwg_6EwQQt&HRfp3cGjt z;uVWmT2?k&8k-l@Ena>vQ`p%gyS{zXwpPowEtXq1-PL-BrM>mmO&!}X5RuyH*w)g% zZPOjMT3WVQS~hNMZ|&%qVc9gJb%wvA3tsUDeTkhOu+1A!-xxE!f znP{S81{=Q<_lfRj?9mGF5Ip}op0#+Mg6Gu;+h;(oLF~Mbu|5Z620Smt^EflZCwTEBGcU42#U zI`^Ho+|t^(%bmC1K3a3mg6dhD7cXDlynM9PrCY{I0p{Ws z(b95m3_`T>#ZR7S_19Zrz40fW(&D*KKGKTh?#7ebct> zWt+EbY^`Y7yyeb2wpDDpV`FPzI@?sWVR`F@yC|j>7(idUt^Ib2moEd((ZdSDTzVj^ zr1<)=H#fGnZ(;71j!hdZ=+ZLU<{2k$TSjz6$az`cRcFU$)?@Xh@^cjqxr7m(u>()D4@7U04 z*>a1za2>$Hjh5Dc2-LE)pe^zC?euO|dRc)-DowY5z{jcr`!X|Eb+lUUnbtwy0`vEqNOPRx=xX?x2Z9h->uMw!arVSMeD+wa_b2k>l^Q2y@a z@-5$_H~334oxgk8)Dp1xTDPOXzkI1qvre5RV9}Z`wOJ*!bouJd%V;KJmA!vU%-O8+ zru3Uxo9i#X`6tHGl!m4XF#yzRwJdKHx3q7wY;L6;PUV#UG-xV4I<0>-^kwa>cWv5& zeQmVdzi4FztiG-B%T)>TS1;UfXL~!Xo4OE0!yC3?Ps7@R zcObdxj=#&Gjy5|3Y(B&G#nOnP0&w)X{*GI=j6Q;yY-?r9{)RY24VQbP(fwb&oqKSc z)pfw{r zl3x3K=iK-G?&I8Z&pqENulJR`ZazK1mM2TYmEt`{w{L8$Ndm6kV21%t$&2T5HZ(G! z$Ai$F*$n%LPHM-6z-Tg)jOCIx+zt`p1CvK%nRLRm%uUl^H#X|+z~16#BQ`JBqU`w1 zUMwu9G~WVlzKw4xT9qn5uj6<7CZKPD{uuBC^ekt%-?lPm!c0Ox?Pc|c`RV!NUoCT$ z@+cGd+G}1Rv+*A&-V|H*`qpC_VB(*z;7t623eMy)@ntV=J^uJgHT&aDDdpAAjW2J6 zKmLvCH|3W<{rSslHa>s6q35sPpVq6zANEG?|5oZZtueKkx+?X8Kfb&b{`MKVycKif z%isUa)bI6)AN$Mqhb!BRdE;#}{PC6E+#he~xA*<$mS5fqe|&k(#^;YO?|I|%#~Zr5 z|L4ZfQ~#F7{`HHu-~P};>(`&YZ1?WlZ-1m+sh$t~$Jbtd`OKMtfkz*`;fDTOUw!=L zziMuNLcQ;OU0s0>-nIO1}ut5=nHW<_%nw8(5HKa1}MDGNmIw+gTP7A?lY)bIJWEu%Q zZX|UrqUy86(R9om9vWyurerHil*F>6mF;3}EpA_OOb*Oi0`(;M@;9#F)1&MQKPS%T z*YTIl?|ez$5;?p6fH+@Cv*UeHZwooQ{EF}Yw$xO)klFQDeE(PGca=*mg$^h4?kF=j zlO9jy5&xKPE$#+4ys?>cvCA|@kVGPly4SirMRmrG9Xmvg(cUg9jSUg27m=CRm8Ye0A^L++hJ{fo}qT3p@?{ z82C5f6<~$4!r?pH8WmWfs_#KB`x$;mw~zZR=ox;G>rAIo7ek*U{44$FSD>#0YP!&^ zfbR#+T%*+0;GY1^JGiF-f112EkjC#uvg6~Nr}lS8M|!i9lX5I9ouOKkKU}2k0%{&B zv-&kC-IHlVPmV$r4+mbsrBjP*s;yMiQ2*XO)Gw~6u$s5pgT!pDOs|&0jS7t_U8CJl zDA%+~t5UhW-93Z-y*vARce~O4-u{6D{lW?7vdKZTVsaw(zj@p{ZJP3xuC78}e;zqX z6mn|u!aj~Y9Kc78PbE9+Oa6g`_Q`3lNb1ISUBjuuSSVVDlQ3#~WA9f4v-P*(j%(iE^|qD!({Tm22kqX7lLNvW4*!2O<=i z>TGb%$HU?LruB=|yMg>R% zE0^KDlk`KeU##ZOTP5Xf8AwD$Ta(M%=y|)Tn6P3$%`UVbKA1F`p*Jqrm-zQ8+^7Y- z_bF2e3?!`5pw#ze@m4434j-S4vjkA$czszew?vaUJA3`hOPEnoGPv(#hPkkSLwn`9 zZzs>oFTb2;@18!hz~}8qDbTDmDQRS8$H0z#ZkzB0ONWKl%%(S$j2}_Oo`>>vl@1sE zi1KEzDsn`2go$iE*;`a}+JJq9{8S-tJp+?M+Zin4lO_8`$32oB^2k9Hoi@Rq5*aO# z!}**NK8CjMC<<%MEd8D5@iVOq)M`%`<$^!OY{?X^fat|;R^lL*Eoik~QIp1sF-k&q z<`S3DLzr_%vuFyVGrHE18P~po)sh>{q#joHXly#I)p{*jlSveb%_@S*}L;U;%7Ia3VRdK^FD zNw@)LopOSk@Hn+zT(DWk)kvD)GEFbE>9<-eVx{C?0PKmy(HGAiLiyzm{faJ1wdQG~ zX>ya?1#yuB6W5t0w0aeByMUHA&JxSHDY-Z(ppYL+PoiQPO%i|}Z(1wAwB~d;+@^J> zGWkWnia6BPO>3M1d908}kY<6o^Rc+s;sJ{z7H_uLFQ!Po^){TVB3%wwLmIEJxWVE^ zi1-VBoZNh|`A%`^+Mh~9TJ zE7yl5b|IbFL(RRa`4Ek$g}h8!Q*GX9kA1hO#UmCETD%YJIdW|f`g8n#N9ZAb+k-@3 zg8ss1`J3y|k3c{DAaI>LR5&moF7s=Z}_^Z&{2=AaFwO^&)&!dARdL4#0o_SQpE9FI>wQu(ia5AQ!y8Sx(4g843tC)n+#-CV!5-faa z)nS_sEbh*j!B1Fx!(rpU2`u^l(}p*X8vpkR7hb4U2Ex3!56I;V>(aZ8u;jO&e+6CX z#$h`365xE`3JHinydcD0dAyT$Nt=f)W{GG&Q(R-ZK$1x}X=iVybFJRRRgO(Z*w6mq z9%0PFKa1~VWCV|s3-7RZTKijfvn`Pl2BjQn8eBF=gMv$d;=ZAreyMaRYggPa|J=0c zpYThAPP67@d|v!hGoG)(6J*vrciQy#5NliZlY8I^b>P%rntAXbe%XKODCa!zQ>43x_vQGn9;BYF;1_tmZQ#GB{oBD8QGPf0qmUsq( z5b81lBrMn_K6WWHw+~n>>r$K(T3OPjTUkDMF$8LFCC67=k zopjF|Iwx3H;#Dc``To$XYMvI+bXktt4T`$gui9~kQ`|zkTF;B@gBDE-C$Y)nZafv6 z)CN7|tY(a^W?brl$D#AUBg~7Rfxmp3^}rb2#&}II#&jjdcH@VM&|I#{(GtKzsd7){O_gw!^B<5e7lRdoABR;|8DC05dI#@znHW;DE~C& zCkb1Ie=GjG@xP3JHRZoVo=;KUKjQx!`5acAWCBC+%fYA9y8c zR)bU2capS>2R{v`9N`7xAg`8(taZ;h5ZeKQcNW8f*JzTkm1-zf$R%4jQE{rDBg6`~ zG0q7JNAhT@3BJSg&cT#BC>35vs#QWD1Sw}9zO6u`lHdDm;N7YY!5g8wpaU?f!H@Cn z8}tHRfDAfomrw`DCXBs;llMCaRMl2V%AoKE&pAPkKKyEiJl4yD%}hD(;9>X#o~U;@ z&sDrWxFULIti~>u$)NQ?^HkbN%f)i4(_Jm)$?A84?YeB)Q=H(Ca_T`Vfu9nf!+tIe z2y2>$@OJzpRL%kk#5qA&N04C+{)+@(39%H={Rw9ZZUZisnEeo%uOOu<2N6?*GAGy| z#6fxV%401-i-l-}U~>=B89^yjbEDM~bDca8LX=Y{4+;o!BO`raPp0~qhM9;QQ}mif zTH@-&Oco5cL%fZnqfHv$I}xOJ3QN1 z04KN+Xa#;ooZ}Lt(_E>sbDsG9jx=@RmvX8sUSjb@7VomS+TwbPWtB@l*^?=!2BiJ6 z$K&5xLE~IJCvxm`^&}7-afO7tP1tND>R2Y0OEDLcMjTDBfW)?o0h68_x&l9ryjv_jh? z9#o>iXs(pd=tAD0G?QqkqzjN9saUVAkJW}jKXyNjs72&nGNf&(Wa8U(pyxM5SXBTw z8G~X}$710!pt5b(kUa^Y1aSLBEhEX?ip}tnT4eVU;?j`vb-=iDndY~ zJAyuRt2@vcvGy^hs)4JC~{&bq__|la}!inaK(|l{b$Y@sBSEFZ_7SeA!N6kFU8bVKrLM#=_ zv9b`qj1JA~2|XBgfam1)E)X~rihNcwx}7&=9-UHg70h1g(iq(qRG4x*tS4l3Bxfk+W{xw97Y=2Oc_jgh7nV&KFWusW z<@vouCszV6t_pLoVlhpWzXPMejO!Jr3vwGZY86#oh(^R?Q^H{d52HPe=M_UEW_*IR zk)IIOgiqs=iKlPhbD^csA@_)ST$yrxhZTiWEX(LihyCR z!P7EQB~f4`ys=Cc@cMC&Rw{Gb-Xv|8+a+w49V zvRI^C370doV3BMEueDezm~>m9pb+HMh6!OO>~{BPmub|6^R1jMMFEx2Gs(vgET^K8TVCZY`Hr zJ=rY#w_IKA8*bgZJGxKDAvh#wRR9jbLoi%x| z$~7YzOwfD!@bvGGD%JWmbUrsK^*_)@9!4hyz3}VkFMt8)<=}IVq2KspvwbfYH8hKL(AX*RaIQJp9p+3ZG1R)OagXR^nk%dTN%0L3uN9l@fR6z)WhnS(%; zjvvWYD9w|+=FY%;wqgZy5|YaFy?h0dlQ$B@Zlm@v3?VO;vs_Zg6hm^yOUZ@yr!GpK zjm6}J+~^(*&Xasv!n3E4&u1r_kYNwX<4`f#kaP+Gu8XDPJjy zI;B~<-Ig}e!5sSq>3I5vejP?OscZVq>JNYI82gl*{|EZniFIm|2}a7!P7-R%;%X=8IF5|+T8HUj(lLT+~2 zjYQg;BO7#ZzXbPh3b{r8QE_bhXE3~wjkCLW&)jQm^Lw=tDFN?7R`Mm#Q>>f!^!2Vn zAmIYs?1u7@5mPp&JVpbN7ltDkR-@=vnXocnzC0-TBr9ty^LppG<1E z%(~^)=?~asY09bEasWPk7>pkg7QneKr^$AVVx}{iWc}~vbYI-zJIH zKvTY)z13Pr)kD8mhdXNd$Gz|>^%S&L8m*~PO*XumGLYoWhKIa165=r$W( z2Ys6j=aAkG@A9XlX~4ULs^^bYoSM}2t)#QJJX zL<%ok$UUY-^mz&>uX1ko%I`dRWRed!S>Il5_OLQXauZ%DY|_&-_+_<p)MpG=Tw5$M8i^z#9b+A%qwR@~a7QAsW#d?EY^;5Aq`fVXjJ0>fZCA^_|X7k1yH?}vUB}C>4w{7$?c2CDs zd~F`j)5A7%Y}yWMc%nCzp7Iqb<2i98(w3NsbZk7DNp12<=^ffXE14Wg^U0a!iFPlI zVOV9!Jb}|oVvZ-p;gsq`8PaIa(jlY3Y8+yzW46tKI^-Jpv~lX)({UDJ2)4+%t5Lr8 z4tb^SpG;${iG^6HZo>u2r0bnY|2L^cP6CIa96RNG-$~C(Za#o0DqJJGSu65gNBe}S z6rVCjSEau^XMa{W0+*D-l$QlhxD>aB{Ng9mUL-z_@|g88{2tN5}~h@ ztp$rbG|Zl!D3%c^?Re=m<`gmvV?pd=W+c7O;AQdCgH3K?Iy*HbY=?`+X}&#S;)-Yh zuQFO)uh^XKqll=k3yPonRdL}@gKDBzW1-W7o6dK0lJ0oZxg-+`ZvJwW8AZY z?2Agy-S=7cZW;aDC~9KjIDncoT!%SUYS zuvKJl%DL|@Aig5|i$S4g&>}(7u>_%O%qFly6jh<8nPFFnO;6I*GTLZ^VicH=j!E*_ zH_Vb1%3dKCiTVhyEpV?*PGT;c;kZ%$iFK)&DJHd%*kyv4(=5%xWLsVT$AsOqow2x2{#G^p4GaP!!1cgkU^REHF3WMu6`D&j2gGNZCLgVIU8@_!-Ip zUIAVO)V=f<@GIaqz^gzt_uGqr3xJitYM=pV2fBbhU=SDqt_LolpI1sg+UA0rfOen@ z=o6awE?@{a2pk4dKofbVz^?+;^yy*zr=cGLW`M_mKA?fPCZLZo9Rx;z1dswUzzg(! z9y|k_1|A2#44efX2EGn#$M)tN_(|Y9Kp*~{z#uRLR5NDRgI9t-LBG1-R{;gR6Fdk! z3_Suq2qb_MkO8KEJTL=11N;bh4tO4T0eBH`YMlDo2b^1-f^({-rfwB~TlLPWLg18h zXMm8p3)K})&4N|WhkkLQ3V)0BSBJv*t4=v5BvsmmZV25==mHz+<-ITTU|HU?p`Unp z&ut7GP-!)-@~WU>Dx+NN+miUx);FZGI@ZO`$;Dm3zbLSWn1afY8ruzgNtMvK zTr7l=>NqjXC(b$bRj<9qHSg))ag^fl<~Y^$YnGy%UAs*!s5uefYP(+SE(3Igjd(8+ z9|&xhh$_jUYHdUZ5g(Ksb>{_8{Bf46CL6?png+GRscE3_>V~S?nugjy^@5s{fhB5t zeKmiQa3RZLK}}87c8+T`w+X7R#=bT{j4gTt5g(DF8I7t31gh$t2UJZx#3jyqzaOztQZLWh}aCRxT PC;NBwElD4Ka>@S!X+hK@ literal 70216 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�Bd@d|r(%MiVi7U4i{+dd^tQ~rR@2_k5y0dq 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 ClFvW@ diff --git a/keyboard/if_ergodox/right_kiibohd.secure.dfu.bin b/keyboard/if_ergodox/right_kiibohd.secure.dfu.bin deleted file mode 100755 index 693ac64f23948d42cb9e8dfaceb94754096df264..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71240 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 PPH!#9i(DBp? C1-16 */ \\\n\t0xFF, 0x00, /* C2-1 -> C2-16 */ \\\n\t0xFF, 0x00, /* C3-1 -> C3-16 */ \\\n\t0xFF, 0x00, /* C4-1 -> C4-16 */ \\\n\t0x3F, 0x00, /* C5-1 -> C5-16 */ \\\n\t0x00, 0x00, /* C6-1 -> C6-16 */ \\\n\t0x00, 0x00, /* C7-1 -> C7-16 */ \\\n\t0x00, 0x00, /* C8-1 -> C8-16 */ \\\n\t0x00, 0x00, /* C9-1 -> C9-16 */ \\\n" - }, - "ISSILedMask2": { - "name": "ISSILedMask2_define", - "value": " \\\n\t0xFF, 0xFF, /* C1-1 -> C1-16 */ \\\n\t0xFF, 0xFF, /* C2-1 -> C2-16 */ \\\n\t0xFF, 0xFF, /* C3-1 -> C3-16 */ \\\n\t0xFF, 0xFF, /* C4-1 -> C4-16 */ \\\n\t0xFF, 0xFF, /* C5-1 -> C5-16 */ \\\n\t0xFF, 0xFF, /* C6-1 -> C6-16 */ \\\n\t0xFF, 0xFF, /* C7-1 -> C7-16 */ \\\n\t0xFF, 0xFF, /* C8-1 -> C8-16 */ \\\n\t0xFF, 0xFF, /* C9-1 -> C9-16 */ \\\n" - }, - "ISSILedMask3": { - "name": "ISSILedMask3_define", - "value": " \\\n\t0xFF, 0xFF, /* C1-1 -> C1-16 */ \\\n\t0xFF, 0xFF, /* C2-1 -> C2-16 */ \\\n\t0xFF, 0xFF, /* C3-1 -> C3-16 */ \\\n\t0xFF, 0xFF, /* C4-1 -> C4-16 */ \\\n\t0xFF, 0xFF, /* C5-1 -> C5-16 */ \\\n\t0xFF, 0xFF, /* C6-1 -> C6-16 */ \\\n\t0xFF, 0xFF, /* C7-1 -> C7-16 */ \\\n\t0xFF, 0xFF, /* C8-1 -> C8-16 */ \\\n\t0xFF, 0xFF, /* C9-1 -> C9-16 */ \\\n" - }, - "ISSILedMask4": { - "name": "ISSILedMask4_define", - "value": " \\\n\t0xFF, 0xFF, /* C1-1 -> C1-16 */ \\\n\t0xFF, 0xFF, /* C2-1 -> C2-16 */ \\\n\t0xFF, 0xFF, /* C3-1 -> C3-16 */ \\\n\t0xFF, 0xFF, /* C4-1 -> C4-16 */ \\\n\t0xFF, 0xFF, /* C5-1 -> C5-16 */ \\\n\t0xFF, 0xFF, /* C6-1 -> C6-16 */ \\\n\t0xFF, 0xFF, /* C7-1 -> C7-16 */ \\\n\t0xFF, 0xFF, /* C8-1 -> C8-16 */ \\\n\t0xFF, 0xFF, /* C9-1 -> C9-16 */ \\\n" - }, - "ISSI_Chip_31FL3731": { - "name": "ISSI_Chip_31FL3731_define", - "value": "1" - }, - "ISSI_Chip_31FL3732": { - "name": "ISSI_Chip_31FL3732_define", - "value": "0" - }, - "ISSI_Chip_31FL3733": { - "name": "ISSI_Chip_31FL3733_define", - "value": "0" - }, - "ISSI_Chips": { - "name": "ISSI_Chips_define", - "value": "1" - }, - "ISSI_Enable": { - "name": "ISSI_Enable_define", - "value": "1" - }, - "ISSI_FrameRate_ms": { - "name": "ISSI_FrameRate_ms_define", - "value": "100" - }, - "ISSI_Global_Brightness": { - "name": "ISSI_Global_Brightness_define", - "value": "255" - }, - "ISSI_I2C_Buses": { - "name": "ISSI_I2C_Buses_define", - "value": "1" - }, - "LCDEnabled": { - "name": "LCDEnabled_define", - "value": "1" - }, - "LED_MapCh1_Addr": { - "name": "LED_MapCh1_Addr_define", - "value": "ISSI_Ch1" - }, - "LED_MapCh1_Bus": { - "name": "LED_MapCh1_Bus_define", - "value": "0" - }, - "LED_MapCh2_Addr": { - "name": "LED_MapCh2_Addr_define", - "value": "ISSI_Ch2" - }, - "LED_MapCh2_Bus": { - "name": "LED_MapCh2_Bus_define", - "value": "0" - }, - "LED_MapCh3_Addr": { - "name": "LED_MapCh3_Addr_define", - "value": "ISSI_Ch3" - }, - "LED_MapCh3_Bus": { - "name": "LED_MapCh3_Bus_define", - "value": "0" - }, - "LED_MapCh4_Addr": { - "name": "LED_MapCh4_Addr_define", - "value": "ISSI_Ch4" - }, - "LED_MapCh4_Bus": { - "name": "LED_MapCh4_Bus_define", - "value": "0" - }, - "MinDebounceTime": { - "name": "MinDebounceTime_define", - "value": "6" - }, - "Output_HIDIOEnabled": { - "name": "Output_HIDIOEnabled_define", - "value": "1" - }, - "Output_USBEnabled": { - "name": "Output_USBEnabled_define", - "value": "1" - }, - "PeriodicCycles": { - "name": "PeriodicCycles_define", - "value": "1000" - }, - "Pixel_AnimationStackSize": { - "name": "Pixel_AnimationStackSize_define", - "value": "20" - }, - "Pixel_HardCode_ChanWidth": { - "name": "Pixel_HardCode_ChanWidth_define", - "value": "0" - }, - "Pixel_HardCode_Channels": { - "name": "Pixel_HardCode_Channels_define", - "value": "0" - }, - "Pixel_MapEnabled": { - "name": "Pixel_MapEnabled_define", - "value": "1" - }, - "Pixel_Test_Mode": { - "name": "Pixel_Test_Mode_define", - "value": "PixelTest_Off" - }, - "PressReleaseCache": { - "name": "PressReleaseCache_define", - "value": "1" - }, - "ResultMacroBufferSize": { - "name": "ResultMacroBufferSize_define", - "value": "50" - }, - "STLcdBacklightBlue": { - "name": "STLcdBacklightBlue_define", - "value": "4095" - }, - "STLcdBacklightGreen": { - "name": "STLcdBacklightGreen_define", - "value": "4095" - }, - "STLcdBacklightPrescalar": { - "name": "STLcdBacklightPrescalar_define", - "value": "0" - }, - "STLcdBacklightRed": { - "name": "STLcdBacklightRed_define", - "value": "4095" - }, - "STLcdDefaultImage": { - "name": "STLcdDefaultImage_define", - "value": " \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber0": { - "name": "STLcdNumber0_define", - "value": " \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber0Color": { - "name": "STLcdNumber0Color_define", - "value": "0xB939, 0xAAEA, 0x8D8D" - }, - "STLcdNumber1": { - "name": "STLcdNumber1_define", - "value": " \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber1Color": { - "name": "STLcdNumber1Color_define", - "value": "0xA8A8, 0x2727, 0x1FA0" - }, - "STLcdNumber2": { - "name": "STLcdNumber2_define", - "value": " \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber2Color": { - "name": "STLcdNumber2Color_define", - "value": "0x4B4B, 0x8D8D, 0x34B5" - }, - "STLcdNumber3": { - "name": "STLcdNumber3_define", - "value": " \\\n0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber3Color": { - "name": "STLcdNumber3Color_define", - "value": "0x0000, 0x8242, 0xB3F3" - }, - "STLcdNumber4": { - "name": "STLcdNumber4_define", - "value": " \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber4Color": { - "name": "STLcdNumber4Color_define", - "value": "0xF6F6, 0xA5A5, 0x4949" - }, - "STLcdNumber5": { - "name": "STLcdNumber5_define", - "value": " \\\n0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber5Color": { - "name": "STLcdNumber5Color_define", - "value": "0xB7B7, 0x5D5D, 0x8545" - }, - "STLcdNumber6": { - "name": "STLcdNumber6_define", - "value": " \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber6Color": { - "name": "STLcdNumber6Color_define", - "value": "0xBCFC, 0xB6F6, 0x2D2D" - }, - "STLcdNumber7": { - "name": "STLcdNumber7_define", - "value": " \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber7Color": { - "name": "STLcdNumber7Color_define", - "value": "0x00C1, 0x7E7E, 0x3C3C" - }, - "STLcdNumber8": { - "name": "STLcdNumber8_define", - "value": " \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber8Color": { - "name": "STLcdNumber8Color_define", - "value": "0x8303, 0x1394, 0xB9F9" - }, - "STLcdNumber9": { - "name": "STLcdNumber9_define", - "value": " \\\n0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, \\\n" - }, - "STLcdNumber9Color": { - "name": "STLcdNumber9Color_define", - "value": "0x09CA, 0x12D3, 0x8484" - }, - "StrobeDelay": { - "name": "StrobeDelay_define", - "value": "0" - }, - "UARTConnectBaud": { - "name": "UARTConnectBaud_define", - "value": "1" - }, - "UARTConnectBaudFine": { - "name": "UARTConnectBaudFine_define", - "value": "0" - }, - "UARTConnectBufSize": { - "name": "UARTConnectBufSize_define", - "value": "128" - }, - "UARTConnectCableCheckLength": { - "name": "UARTConnectCableCheckLength_define", - "value": "2" - }, - "enableDeviceRestartOnUSBTimeout": { - "name": "enableDeviceRestartOnUSBTimeout_define", - "value": "0" - }, - "enableJoystick": { - "name": "enableJoystick_define", - "value": "0" - }, - "enableKeyboard": { - "name": "enableKeyboard_define", - "value": "1" - }, - "enableMouse": { - "name": "enableMouse_define", - "value": "1" - }, - "enableRawIO": { - "name": "enableRawIO_define", - "value": "1" - }, - "enableUSBLowPowerNegotiation": { - "name": "enableUSBLowPowerNegotiation_define", - "value": "0" - }, - "enableUSBResume": { - "name": "enableUSBResume_define", - "value": "1" - }, - "enableUSBSuspend": { - "name": "enableUSBSuspend_define", - "value": "1" - }, - "enableVirtualSerialPort": { - "name": "enableVirtualSerialPort_define", - "value": "1" - }, - "flashModeEnabled": { - "name": "flashModeEnabled_define", - "value": "0" - }, - "indexWordSize": { - "name": "IndexWordSize_define", - "value": "16" - }, - "keyboardLocale": { - "name": "KeyboardLocale_define", - "value": "0" - }, - "latencyResources": { - "name": "LatencyMeasurementCount_define", - "value": "10" - }, - "secureBootloaderEnabled": { - "name": "SecureBootloader_define", - "value": "0" - }, - "stateWordSize": { - "name": "StateWordSize_define", - "value": "16" - }, - "usbIdle": { - "name": "USBIdle_define", - "value": "0" - }, - "usbIdleForce": { - "name": "USBIdle_force_define", - "value": "1" - }, - "usbProtocol": { - "name": "USBProtocol_define", - "value": "1" - } - }, - "Layers": { - "0": { - ":0 S003": { - "kll": "S0x003 : layerShift(6) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 6 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 3 - } - ] - ] - }, - ":0 S004": { - "kll": "S0x004 : U0x023;", - "result": [ - [ - { - "type": "USBCode", - "uid": 35 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 4 - } - ] - ] - }, - ":0 S005": { - "kll": "S0x005 : U0x024;", - "result": [ - [ - { - "type": "USBCode", - "uid": 36 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 5 - } - ] - ] - }, - ":0 S006": { - "kll": "S0x006 : U0x025;", - "result": [ - [ - { - "type": "USBCode", - "uid": 37 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 6 - } - ] - ] - }, - ":0 S007": { - "kll": "S0x007 : U0x026;", - "result": [ - [ - { - "type": "USBCode", - "uid": 38 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 7 - } - ] - ] - }, - ":0 S008": { - "kll": "S0x008 : U0x027;", - "result": [ - [ - { - "type": "USBCode", - "uid": 39 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 8 - } - ] - ] - }, - ":0 S009": { - "kll": "S0x009 : U0x02a;", - "result": [ - [ - { - "type": "USBCode", - "uid": 42 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 9 - } - ] - ] - }, - ":0 S012": { - "kll": "S0x00c : U0x02f;", - "result": [ - [ - { - "type": "USBCode", - "uid": 47 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 12 - } - ] - ] - }, - ":0 S013": { - "kll": "S0x00d : U0x01c;", - "result": [ - [ - { - "type": "USBCode", - "uid": 28 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 13 - } - ] - ] - }, - ":0 S014": { - "kll": "S0x00e : U0x018;", - "result": [ - [ - { - "type": "USBCode", - "uid": 24 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 14 - } - ] - ] - }, - ":0 S015": { - "kll": "S0x00f : U0x00c;", - "result": [ - [ - { - "type": "USBCode", - "uid": 12 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 15 - } - ] - ] - }, - ":0 S016": { - "kll": "S0x010 : U0x012;", - "result": [ - [ - { - "type": "USBCode", - "uid": 18 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 16 - } - ] - ] - }, - ":0 S017": { - "kll": "S0x011 : U0x013;", - "result": [ - [ - { - "type": "USBCode", - "uid": 19 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 17 - } - ] - ] - }, - ":0 S018": { - "kll": "S0x012 : U0x030;", - "result": [ - [ - { - "type": "USBCode", - "uid": 48 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 18 - } - ] - ] - }, - ":0 S022": { - "kll": "S0x016 : U0x00b;", - "result": [ - [ - { - "type": "USBCode", - "uid": 11 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 22 - } - ] - ] - }, - ":0 S023": { - "kll": "S0x017 : U0x00d;", - "result": [ - [ - { - "type": "USBCode", - "uid": 13 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 23 - } - ] - ] - }, - ":0 S024": { - "kll": "S0x018 : U0x00e;", - "result": [ - [ - { - "type": "USBCode", - "uid": 14 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 24 - } - ] - ] - }, - ":0 S025": { - "kll": "S0x019 : U0x00f;", - "result": [ - [ - { - "type": "USBCode", - "uid": 15 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 25 - } - ] - ] - }, - ":0 S026": { - "kll": "S0x01a : U0x033;", - "result": [ - [ - { - "type": "USBCode", - "uid": 51 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 26 - } - ] - ] - }, - ":0 S027": { - "kll": "S0x01b : U0x034;", - "result": [ - [ - { - "type": "USBCode", - "uid": 52 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 27 - } - ] - ] - }, - ":0 S028": { - "kll": "S0x01c : U0x0e6;", - "result": [ - [ - { - "type": "USBCode", - "uid": 230 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 28 - } - ] - ] - }, - ":0 S029": { - "kll": "S0x01d : U0x0e4;", - "result": [ - [ - { - "type": "USBCode", - "uid": 228 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 29 - } - ] - ] - }, - ":0 S030": { - "kll": "S0x01e : layerShift(2) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 2 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 30 - } - ] - ] - }, - ":0 S031": { - "kll": "S0x01f : U0x011;", - "result": [ - [ - { - "type": "USBCode", - "uid": 17 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 31 - } - ] - ] - }, - ":0 S032": { - "kll": "S0x020 : U0x010;", - "result": [ - [ - { - "type": "USBCode", - "uid": 16 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 32 - } - ] - ] - }, - ":0 S033": { - "kll": "S0x021 : U0x036;", - "result": [ - [ - { - "type": "USBCode", - "uid": 54 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 33 - } - ] - ] - }, - ":0 S034": { - "kll": "S0x022 : U0x037;", - "result": [ - [ - { - "type": "USBCode", - "uid": 55 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 34 - } - ] - ] - }, - ":0 S035": { - "kll": "S0x023 : U0x038;", - "result": [ - [ - { - "type": "USBCode", - "uid": 56 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 35 - } - ] - ] - }, - ":0 S036": { - "kll": "S0x024 : U0x0e5;", - "result": [ - [ - { - "type": "USBCode", - "uid": 229 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 36 - } - ] - ] - }, - ":0 S037": { - "kll": "S0x025 : U0x04b;", - "result": [ - [ - { - "type": "USBCode", - "uid": 75 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 37 - } - ] - ] - }, - ":0 S038": { - "kll": "S0x026 : U0x04e;", - "result": [ - [ - { - "type": "USBCode", - "uid": 78 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 38 - } - ] - ] - }, - ":0 S039": { - "kll": "S0x027 : U0x028;", - "result": [ - [ - { - "type": "USBCode", - "uid": 40 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 39 - } - ] - ] - }, - ":0 S040": { - "kll": "S0x028 : U0x02c;", - "result": [ - [ - { - "type": "USBCode", - "uid": 44 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 40 - } - ] - ] - }, - ":0 S041": { - "kll": "S0x029 : U0x050;", - "result": [ - [ - { - "type": "USBCode", - "uid": 80 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 41 - } - ] - ] - }, - ":0 S042": { - "kll": "S0x02a : U0x051;", - "result": [ - [ - { - "type": "USBCode", - "uid": 81 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 42 - } - ] - ] - }, - ":0 S043": { - "kll": "S0x02b : U0x052;", - "result": [ - [ - { - "type": "USBCode", - "uid": 82 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 43 - } - ] - ] - }, - ":0 S044": { - "kll": "S0x02c : U0x04f;", - "result": [ - [ - { - "type": "USBCode", - "uid": 79 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 44 - } - ] - ] - }, - ":0 S045": { - "kll": "S0x02d : U0x0e7;", - "result": [ - [ - { - "type": "USBCode", - "uid": 231 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 45 - } - ] - ] - }, - ":1 S003": { - "kll": "S0x030 : U0x029;", - "result": [ - [ - { - "type": "USBCode", - "uid": 41 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 3 - } - ] - ] - }, - ":1 S004": { - "kll": "S0x031 : U0x022;", - "result": [ - [ - { - "type": "USBCode", - "uid": 34 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 4 - } - ] - ] - }, - ":1 S005": { - "kll": "S0x032 : U0x021;", - "result": [ - [ - { - "type": "USBCode", - "uid": 33 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 5 - } - ] - ] - }, - ":1 S006": { - "kll": "S0x033 : U0x020;", - "result": [ - [ - { - "type": "USBCode", - "uid": 32 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 6 - } - ] - ] - }, - ":1 S007": { - "kll": "S0x034 : U0x01f;", - "result": [ - [ - { - "type": "USBCode", - "uid": 31 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 7 - } - ] - ] - }, - ":1 S008": { - "kll": "S0x035 : U0x01e;", - "result": [ - [ - { - "type": "USBCode", - "uid": 30 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 8 - } - ] - ] - }, - ":1 S009": { - "kll": "S0x036 : U0x035;", - "result": [ - [ - { - "type": "USBCode", - "uid": 53 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 9 - } - ] - ] - }, - ":1 S012": { - "kll": "S0x039 : layerLock(1) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 1 - } - ], - "name": "layerLock", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 12 - } - ] - ] - }, - ":1 S013": { - "kll": "S0x03a : U0x017;", - "result": [ - [ - { - "type": "USBCode", - "uid": 23 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 13 - } - ] - ] - }, - ":1 S014": { - "kll": "S0x03b : U0x015;", - "result": [ - [ - { - "type": "USBCode", - "uid": 21 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 14 - } - ] - ] - }, - ":1 S015": { - "kll": "S0x03c : U0x008;", - "result": [ - [ - { - "type": "USBCode", - "uid": 8 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 15 - } - ] - ] - }, - ":1 S016": { - "kll": "S0x03d : U0x01a;", - "result": [ - [ - { - "type": "USBCode", - "uid": 26 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 16 - } - ] - ] - }, - ":1 S017": { - "kll": "S0x03e : U0x014;", - "result": [ - [ - { - "type": "USBCode", - "uid": 20 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 17 - } - ] - ] - }, - ":1 S018": { - "kll": "S0x03f : U0x02b;", - "result": [ - [ - { - "type": "USBCode", - "uid": 43 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 18 - } - ] - ] - }, - ":1 S022": { - "kll": "S0x043 : U0x00a;", - "result": [ - [ - { - "type": "USBCode", - "uid": 10 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 22 - } - ] - ] - }, - ":1 S023": { - "kll": "S0x044 : U0x009;", - "result": [ - [ - { - "type": "USBCode", - "uid": 9 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 23 - } - ] - ] - }, - ":1 S024": { - "kll": "S0x045 : U0x007;", - "result": [ - [ - { - "type": "USBCode", - "uid": 7 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 24 - } - ] - ] - }, - ":1 S025": { - "kll": "S0x046 : U0x016;", - "result": [ - [ - { - "type": "USBCode", - "uid": 22 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 25 - } - ] - ] - }, - ":1 S026": { - "kll": "S0x047 : U0x004;", - "result": [ - [ - { - "type": "USBCode", - "uid": 4 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 26 - } - ] - ] - }, - ":1 S027": { - "kll": "S0x048 : U0x0e4;", - "result": [ - [ - { - "type": "USBCode", - "uid": 228 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 27 - } - ] - ] - }, - ":1 S028": { - "kll": "S0x049 : U0x0e2;", - "result": [ - [ - { - "type": "USBCode", - "uid": 226 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 28 - } - ] - ] - }, - ":1 S029": { - "kll": "S0x04a : U0x02d;", - "result": [ - [ - { - "type": "USBCode", - "uid": 45 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 29 - } - ] - ] - }, - ":1 S030": { - "kll": "S0x04b : layerShift(1) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 1 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 30 - } - ] - ] - }, - ":1 S031": { - "kll": "S0x04c : U0x005;", - "result": [ - [ - { - "type": "USBCode", - "uid": 5 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 31 - } - ] - ] - }, - ":1 S032": { - "kll": "S0x04d : U0x019;", - "result": [ - [ - { - "type": "USBCode", - "uid": 25 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 32 - } - ] - ] - }, - ":1 S033": { - "kll": "S0x04e : U0x006;", - "result": [ - [ - { - "type": "USBCode", - "uid": 6 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 33 - } - ] - ] - }, - ":1 S034": { - "kll": "S0x04f : U0x01b;", - "result": [ - [ - { - "type": "USBCode", - "uid": 27 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 34 - } - ] - ] - }, - ":1 S035": { - "kll": "S0x050 : U0x01d;", - "result": [ - [ - { - "type": "USBCode", - "uid": 29 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 35 - } - ] - ] - }, - ":1 S036": { - "kll": "S0x051 : U0x0e1;", - "result": [ - [ - { - "type": "USBCode", - "uid": 225 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 36 - } - ] - ] - }, - ":1 S037": { - "kll": "S0x052 : U0x04a;", - "result": [ - [ - { - "type": "USBCode", - "uid": 74 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 37 - } - ] - ] - }, - ":1 S038": { - "kll": "S0x053 : U0x04d;", - "result": [ - [ - { - "type": "USBCode", - "uid": 77 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 38 - } - ] - ] - }, - ":1 S039": { - "kll": "S0x054 : U0x04c;", - "result": [ - [ - { - "type": "USBCode", - "uid": 76 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 39 - } - ] - ] - }, - ":1 S040": { - "kll": "S0x055 : U0x02c;", - "result": [ - [ - { - "type": "USBCode", - "uid": 44 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 40 - } - ] - ] - }, - ":1 S041": { - "kll": "S0x056 : U0x0e2;", - "result": [ - [ - { - "type": "USBCode", - "uid": 226 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 41 - } - ] - ] - }, - ":1 S042": { - "kll": "S0x057 : U0x041;", - "result": [ - [ - { - "type": "USBCode", - "uid": 65 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 42 - } - ] - ] - }, - ":1 S043": { - "kll": "S0x058 : U0x040;", - "result": [ - [ - { - "type": "USBCode", - "uid": 64 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 43 - } - ] - ] - }, - ":1 S044": { - "kll": "S0x059 : U0x03f;", - "result": [ - [ - { - "type": "USBCode", - "uid": 63 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 44 - } - ] - ] - }, - ":1 S045": { - "kll": "S0x05a : layerRotate(1) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 1 - } - ], - "name": "layerRotate", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 45 - } - ] - ] - } - }, - "1": { - ":0 S003": { - "kll": "S0x003 : layerShift(6) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 6 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 3 - } - ] - ] - }, - ":0 S030": { - "kll": "S0x01e : layerShift(7) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 7 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 30 - } - ] - ] - }, - ":1 S004": { - "kll": "S0x031 : U0x03e;", - "result": [ - [ - { - "type": "USBCode", - "uid": 62 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 4 - } - ] - ] - }, - ":1 S005": { - "kll": "S0x032 : U0x03d;", - "result": [ - [ - { - "type": "USBCode", - "uid": 61 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 5 - } - ] - ] - }, - ":1 S006": { - "kll": "S0x033 : U0x03c;", - "result": [ - [ - { - "type": "USBCode", - "uid": 60 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 6 - } - ] - ] - }, - ":1 S007": { - "kll": "S0x034 : U0x03b;", - "result": [ - [ - { - "type": "USBCode", - "uid": 59 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 7 - } - ] - ] - }, - ":1 S008": { - "kll": "S0x035 : U0x03a;", - "result": [ - [ - { - "type": "USBCode", - "uid": 58 - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 8 - } - ] - ] - }, - ":1 S012": { - "kll": "S0x039 : layerShift(1) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 1 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 12 - } - ] - ] - }, - ":1 S030": { - "kll": "S0x04b : layerShift(2) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 2 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 30 - } - ] - ] - }, - ":1 S041": { - "kll": "S0x056 : layerShift(5) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 5 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 41 - } - ] - ] - }, - ":1 S042": { - "kll": "S0x057 : layerShift(4) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 4 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 42 - } - ] - ] - }, - ":1 S043": { - "kll": "S0x058 : layerShift(3) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 3 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 43 - } - ] - ] - } - }, - "2": { - ":0 S003": { - "kll": "S0x003 : layerShift(6) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 6 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 3 - } - ] - ] - }, - ":0 S008": { - "kll": "S0x008 : flashMode();", - "result": [ - [ - { - "args": [], - "name": "flashMode", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 8 - } - ] - ] - }, - ":0 S009": { - "kll": "S0x009 : flashMode();", - "result": [ - [ - { - "args": [], - "name": "flashMode", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 9 - } - ] - ] - }, - ":0 S030": { - "kll": "S0x01e : layerShift(7) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 7 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 30 - } - ] - ] - }, - ":1 S009": { - "kll": "S0x036 : flashMode();", - "result": [ - [ - { - "args": [], - "name": "flashMode", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 9 - } - ] - ] - }, - ":1 S012": { - "kll": "S0x039 : layerShift(1) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 1 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 12 - } - ] - ] - }, - ":1 S030": { - "kll": "S0x04b : layerShift(2) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 2 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 30 - } - ] - ] - }, - ":1 S041": { - "kll": "S0x056 : layerShift(5) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 5 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 41 - } - ] - ] - }, - ":1 S042": { - "kll": "S0x057 : layerShift(4) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 4 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 42 - } - ] - ] - }, - ":1 S043": { - "kll": "S0x058 : layerShift(3) + LCDLayerDisplay();", - "result": [ - [ - { - "args": [ - { - "type": "CapArgValue", - "value": 3 - } - ], - "name": "layerShift", - "type": "Capability" - }, - { - "args": [], - "name": "LCDLayerDisplay", - "type": "Capability" - } - ] - ], - "trigger": [ - [ - { - "type": "ScanCode", - "uid": 43 - } - ] - ] - } - } - }, - "PixelIds": { - "1": { - "Col": 16, - "Row": 6, - "ScanCode": 3, - "x": 118.65, - "y": 1.0, - "z": 0.0 - }, - "2": { - "Col": 12, - "Row": 0, - "ScanCode": 4, - "x": 99.6, - "y": 1.0, - "z": 0.0 - }, - "3": { - "Col": 10, - "Row": 0, - "ScanCode": 5, - "x": 80.55, - "y": 2.0, - "z": 0.0 - }, - "4": { - "Col": 8, - "Row": 0, - "ScanCode": 6, - "x": 61.5, - "y": 4.0, - "z": 0.0 - }, - "5": { - "Col": 6, - "Row": 0, - "ScanCode": 7, - "x": 42.45, - "y": 3.0, - "z": 0.0 - }, - "6": { - "Col": 4, - "Row": 0, - "ScanCode": 8, - "x": 23.4, - "y": 0.0, - "z": 0.0 - }, - "7": { - "Col": 2, - "Row": 0, - "ScanCode": 9, - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "8": { - "Col": 0, - "Row": 0, - "ScanCode": 12, - "x": 118.65, - "y": -23.05, - "z": 0.0 - }, - "9": { - "Col": 12, - "Row": 1, - "ScanCode": 13, - "x": 99.6, - "y": -18.05, - "z": 0.0 - }, - "10": { - "Col": 10, - "Row": 1, - "ScanCode": 14, - "x": 80.55, - "y": -17.05, - "z": 0.0 - }, - "11": { - "Col": 8, - "Row": 1, - "ScanCode": 15, - "x": 61.5, - "y": -15.05, - "z": 0.0 - }, - "12": { - "Col": 6, - "Row": 1, - "ScanCode": 16, - "x": 42.45, - "y": -16.05, - "z": 0.0 - }, - "13": { - "Col": 4, - "Row": 1, - "ScanCode": 17, - "x": 23.4, - "y": -19.05, - "z": 0.0 - }, - "14": { - "Col": 2, - "Row": 1, - "ScanCode": 18, - "x": 0.0, - "y": -19.05, - "z": 0.0 - }, - "15": { - "Col": 0, - "Row": 1, - "ScanCode": 22, - "x": 99.6, - "y": -37.1, - "z": 0.0 - }, - "16": { - "Col": 10, - "Row": 2, - "ScanCode": 23, - "x": 80.55, - "y": -36.1, - "z": 0.0 - }, - "17": { - "Col": 8, - "Row": 2, - "ScanCode": 24, - "x": 61.5, - "y": -34.1, - "z": 0.0 - }, - "18": { - "Col": 6, - "Row": 2, - "ScanCode": 25, - "x": 42.45, - "y": -35.1, - "z": 0.0 - }, - "19": { - "Col": 4, - "Row": 2, - "ScanCode": 26, - "x": 23.4, - "y": -38.1, - "z": 0.0 - }, - "20": { - "Col": 2, - "Row": 2, - "ScanCode": 27, - "x": 0.0, - "y": -38.1, - "z": 0.0 - }, - "21": { - "Col": 0, - "Row": 2, - "ScanCode": 28, - "x": 154.95, - "y": -75.05, - "z": 0.0 - }, - "22": { - "Col": 16, - "Row": 4, - "ScanCode": 29, - "x": 138.65, - "y": -68.05, - "z": 0.0 - }, - "23": { - "Col": 14, - "Row": 4, - "ScanCode": 30, - "x": 118.65, - "y": -51.05, - "z": 0.0 - }, - "24": { - "Col": 12, - "Row": 3, - "ScanCode": 31, - "x": 99.6, - "y": -56.15, - "z": 0.0 - }, - "25": { - "Col": 10, - "Row": 3, - "ScanCode": 32, - "x": 80.55, - "y": -55.15, - "z": 0.0 - }, - "26": { - "Col": 8, - "Row": 3, - "ScanCode": 33, - "x": 61.5, - "y": -53.15, - "z": 0.0 - }, - "27": { - "Col": 6, - "Row": 3, - "ScanCode": 34, - "x": 42.45, - "y": -54.15, - "z": 0.0 - }, - "28": { - "Col": 4, - "Row": 3, - "ScanCode": 35, - "x": 23.4, - "y": -57.15, - "z": 0.0 - }, - "29": { - "Col": 2, - "Row": 3, - "ScanCode": 36, - "x": 0.0, - "y": -57.15, - "z": 0.0 - }, - "30": { - "Col": 0, - "Row": 3, - "ScanCode": 37, - "x": 147.0, - "y": -91.2, - "z": 0.0 - }, - "31": { - "Col": 15, - "Row": 5, - "ScanCode": 38, - "x": 139.8, - "y": -109.2, - "z": 0.0 - }, - "32": { - "Col": 14, - "Row": 6, - "ScanCode": 39, - "x": 126.4, - "y": -93.2, - "z": 0.0 - }, - "33": { - "Col": 13, - "Row": 5, - "ScanCode": 40, - "x": 109.1, - "y": -86.2, - "z": 0.0 - }, - "34": { - "Col": 11, - "Row": 5, - "ScanCode": 41, - "x": 80.55, - "y": -74.2, - "z": 0.0 - }, - "35": { - "Col": 8, - "Row": 4, - "ScanCode": 42, - "x": 61.5, - "y": -72.2, - "z": 0.0 - }, - "36": { - "Col": 6, - "Row": 4, - "ScanCode": 43, - "x": 42.45, - "y": -73.2, - "z": 0.0 - }, - "37": { - "Col": 4, - "Row": 4, - "ScanCode": 44, - "x": 23.4, - "y": -76.2, - "z": 0.0 - }, - "38": { - "Col": 2, - "Row": 4, - "ScanCode": 45, - "x": 5.0, - "y": -76.2, - "z": 0.0 - }, - "39": { - "Col": 1, - "Row": 4 - } - }, - "ScanCodes": { - "3": { - "Col": 16, - "PixelId": 1, - "Row": 6, - "x": 118.65, - "y": 1.0, - "z": 0.0 - }, - "4": { - "Col": 12, - "PixelId": 2, - "Row": 0, - "x": 99.6, - "y": 1.0, - "z": 0.0 - }, - "5": { - "Col": 10, - "PixelId": 3, - "Row": 0, - "x": 80.55, - "y": 2.0, - "z": 0.0 - }, - "6": { - "Col": 8, - "PixelId": 4, - "Row": 0, - "x": 61.5, - "y": 4.0, - "z": 0.0 - }, - "7": { - "Col": 6, - "PixelId": 5, - "Row": 0, - "x": 42.45, - "y": 3.0, - "z": 0.0 - }, - "8": { - "Col": 4, - "PixelId": 6, - "Row": 0, - "x": 23.4, - "y": 0.0, - "z": 0.0 - }, - "9": { - "Col": 2, - "PixelId": 7, - "Row": 0, - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "12": { - "Col": 0, - "PixelId": 8, - "Row": 0, - "x": 118.65, - "y": -23.05, - "z": 0.0 - }, - "13": { - "Col": 12, - "PixelId": 9, - "Row": 1, - "x": 99.6, - "y": -18.05, - "z": 0.0 - }, - "14": { - "Col": 10, - "PixelId": 10, - "Row": 1, - "x": 80.55, - "y": -17.05, - "z": 0.0 - }, - "15": { - "Col": 8, - "PixelId": 11, - "Row": 1, - "x": 61.5, - "y": -15.05, - "z": 0.0 - }, - "16": { - "Col": 6, - "PixelId": 12, - "Row": 1, - "x": 42.45, - "y": -16.05, - "z": 0.0 - }, - "17": { - "Col": 4, - "PixelId": 13, - "Row": 1, - "x": 23.4, - "y": -19.05, - "z": 0.0 - }, - "18": { - "Col": 2, - "PixelId": 14, - "Row": 1, - "x": 0.0, - "y": -19.05, - "z": 0.0 - }, - "22": { - "Col": 0, - "PixelId": 15, - "Row": 1, - "x": 99.6, - "y": -37.1, - "z": 0.0 - }, - "23": { - "Col": 10, - "PixelId": 16, - "Row": 2, - "x": 80.55, - "y": -36.1, - "z": 0.0 - }, - "24": { - "Col": 8, - "PixelId": 17, - "Row": 2, - "x": 61.5, - "y": -34.1, - "z": 0.0 - }, - "25": { - "Col": 6, - "PixelId": 18, - "Row": 2, - "x": 42.45, - "y": -35.1, - "z": 0.0 - }, - "26": { - "Col": 4, - "PixelId": 19, - "Row": 2, - "x": 23.4, - "y": -38.1, - "z": 0.0 - }, - "27": { - "Col": 2, - "PixelId": 20, - "Row": 2, - "x": 0.0, - "y": -38.1, - "z": 0.0 - }, - "28": { - "Col": 0, - "PixelId": 21, - "Row": 2, - "x": 154.95, - "y": -75.05, - "z": 0.0 - }, - "29": { - "Col": 16, - "PixelId": 22, - "Row": 4, - "x": 138.65, - "y": -68.05, - "z": 0.0 - }, - "30": { - "Col": 14, - "PixelId": 23, - "Row": 4, - "x": 118.65, - "y": -51.05, - "z": 0.0 - }, - "31": { - "Col": 12, - "PixelId": 24, - "Row": 3, - "x": 99.6, - "y": -56.15, - "z": 0.0 - }, - "32": { - "Col": 10, - "PixelId": 25, - "Row": 3, - "x": 80.55, - "y": -55.15, - "z": 0.0 - }, - "33": { - "Col": 8, - "PixelId": 26, - "Row": 3, - "x": 61.5, - "y": -53.15, - "z": 0.0 - }, - "34": { - "Col": 6, - "PixelId": 27, - "Row": 3, - "x": 42.45, - "y": -54.15, - "z": 0.0 - }, - "35": { - "Col": 4, - "PixelId": 28, - "Row": 3, - "x": 23.4, - "y": -57.15, - "z": 0.0 - }, - "36": { - "Col": 2, - "PixelId": 29, - "Row": 3, - "x": 0.0, - "y": -57.15, - "z": 0.0 - }, - "37": { - "Col": 0, - "PixelId": 30, - "Row": 3, - "x": 147.0, - "y": -91.2, - "z": 0.0 - }, - "38": { - "Col": 15, - "PixelId": 31, - "Row": 5, - "x": 139.8, - "y": -109.2, - "z": 0.0 - }, - "39": { - "Col": 14, - "PixelId": 32, - "Row": 6, - "x": 126.4, - "y": -93.2, - "z": 0.0 - }, - "40": { - "Col": 13, - "PixelId": 33, - "Row": 5, - "x": 109.1, - "y": -86.2, - "z": 0.0 - }, - "41": { - "Col": 11, - "PixelId": 34, - "Row": 5, - "x": 80.55, - "y": -74.2, - "z": 0.0 - }, - "42": { - "Col": 8, - "PixelId": 35, - "Row": 4, - "x": 61.5, - "y": -72.2, - "z": 0.0 - }, - "43": { - "Col": 6, - "PixelId": 36, - "Row": 4, - "x": 42.45, - "y": -73.2, - "z": 0.0 - }, - "44": { - "Col": 4, - "PixelId": 37, - "Row": 4, - "x": 23.4, - "y": -76.2, - "z": 0.0 - }, - "45": { - "Col": 2, - "PixelId": 38, - "Row": 4, - "x": 5.0, - "y": -76.2, - "z": 0.0 - } - } -} \ No newline at end of file