}
// If no trigger macro is defined at the given layer, fallthrough to the next layer
- for ( uint16_t layerIndex = 0; layerIndex < macroLayerIndexStackSize; layerIndex++ )
+ for ( uint16_t layerIndex = macroLayerIndexStackSize; layerIndex != 0xFFFF; layerIndex-- )
{
// Lookup Layer
const Layer *layer = &LayerIndex[ macroLayerIndexStack[ layerIndex ] ];
case 0x03:
break;
default:
- erro_print("Invalid key state");
+ erro_msg("Invalid key state - ");
error = 1;
break;
}
// Invalid TriggerGuide type
default:
- erro_print("Invalid type");
+ erro_msg("Invalid type - ");
error = 1;
break;
}
+ // Check if ScanCode is out of range
+ if ( trigger->scanCode > MaxScanCode )
+ {
+ warn_msg("ScanCode is out of range/not defined - ");
+ error = 1;
+ }
+
// Display TriggerGuide
if ( error )
{
case 0x01: // Pressed
case 0x02: // Held
case 0x03: // Released
+ // Check if ScanCode is out of range
+ if ( scanCode > MaxScanCode )
+ {
+ warn_msg("ScanCode is out of range/not defined: ");
+ printHex( scanCode );
+ print( NL );
+ return;
+ }
+
macroTriggerListBuffer[ macroTriggerListBufferSize ].scanCode = scanCode;
macroTriggerListBuffer[ macroTriggerListBufferSize ].state = state;
macroTriggerListBuffer[ macroTriggerListBufferSize ].type = 0x00; // Normal key
// TODO Handle change for interconnect
if ( state != 0x00 )
{
+ // Check if ScanCode is out of range
+ if ( scanCode > MaxScanCode )
+ {
+ warn_msg("ScanCode is out of range/not defined: ");
+ printHex( scanCode );
+ print( NL );
+ return;
+ }
+
macroTriggerListBuffer[ macroTriggerListBufferSize ].scanCode = scanCode;
macroTriggerListBuffer[ macroTriggerListBufferSize ].state = state;
macroTriggerListBuffer[ macroTriggerListBufferSize ].type = 0x02; // Analog key
// TODO Handle change for interconnect
if ( state != 0x00 )
{
+ // Check if LedCode is out of range
+ // TODO
+
macroTriggerListBuffer[ macroTriggerListBufferSize ].scanCode = ledCode;
macroTriggerListBuffer[ macroTriggerListBufferSize ].state = state;
macroTriggerListBuffer[ macroTriggerListBufferSize ].type = 0x01; // LED key