Mercurial > louis > kiibohd-controller
comparison Macro/PartialMap/macro.c @ 362:e4be15c39cce
Adding initial WhiteFox support.
- Includes fix for over-range ScanCodes (would cause hard faults)
- Updated some documentation
- Requires recent kll compiler for the layout
author | Jacob Alexander <haata@kiibohd.com> |
---|---|
date | Sun, 16 Aug 2015 12:27:12 -0700 |
parents | 7c6ac7b88cda |
children | 5aa3f6a92682 |
comparison
equal
deleted
inserted
replaced
361:7c6ac7b88cda | 362:e4be15c39cce |
---|---|
454 case 0x01: | 454 case 0x01: |
455 case 0x02: | 455 case 0x02: |
456 case 0x03: | 456 case 0x03: |
457 break; | 457 break; |
458 default: | 458 default: |
459 erro_print("Invalid key state"); | 459 erro_msg("Invalid key state - "); |
460 error = 1; | 460 error = 1; |
461 break; | 461 break; |
462 } | 462 } |
463 break; | 463 break; |
464 | 464 |
465 // Invalid TriggerGuide type | 465 // Invalid TriggerGuide type |
466 default: | 466 default: |
467 erro_print("Invalid type"); | 467 erro_msg("Invalid type - "); |
468 error = 1; | 468 error = 1; |
469 break; | 469 break; |
470 } | |
471 | |
472 // Check if ScanCode is out of range | |
473 if ( scanCode > MaxScanCode ) | |
474 { | |
475 warn_msg("ScanCode is out of range/not defined - "); | |
476 error = 1; | |
470 } | 477 } |
471 | 478 |
472 // Display TriggerGuide | 479 // Display TriggerGuide |
473 if ( error ) | 480 if ( error ) |
474 { | 481 { |
527 switch ( state ) | 534 switch ( state ) |
528 { | 535 { |
529 case 0x01: // Pressed | 536 case 0x01: // Pressed |
530 case 0x02: // Held | 537 case 0x02: // Held |
531 case 0x03: // Released | 538 case 0x03: // Released |
539 // Check if ScanCode is out of range | |
540 if ( scanCode > MaxScanCode ) | |
541 { | |
542 warn_msg("ScanCode is out of range/not defined: "); | |
543 printHex( scanCode ); | |
544 print( NL ); | |
545 return; | |
546 } | |
547 | |
532 macroTriggerListBuffer[ macroTriggerListBufferSize ].scanCode = scanCode; | 548 macroTriggerListBuffer[ macroTriggerListBufferSize ].scanCode = scanCode; |
533 macroTriggerListBuffer[ macroTriggerListBufferSize ].state = state; | 549 macroTriggerListBuffer[ macroTriggerListBufferSize ].state = state; |
534 macroTriggerListBuffer[ macroTriggerListBufferSize ].type = 0x00; // Normal key | 550 macroTriggerListBuffer[ macroTriggerListBufferSize ].type = 0x00; // Normal key |
535 macroTriggerListBufferSize++; | 551 macroTriggerListBufferSize++; |
536 break; | 552 break; |
547 { | 563 { |
548 // Only add to macro trigger list if non-off | 564 // Only add to macro trigger list if non-off |
549 // TODO Handle change for interconnect | 565 // TODO Handle change for interconnect |
550 if ( state != 0x00 ) | 566 if ( state != 0x00 ) |
551 { | 567 { |
568 // Check if ScanCode is out of range | |
569 if ( scanCode > MaxScanCode ) | |
570 { | |
571 warn_msg("ScanCode is out of range/not defined: "); | |
572 printHex( scanCode ); | |
573 print( NL ); | |
574 return; | |
575 } | |
576 | |
552 macroTriggerListBuffer[ macroTriggerListBufferSize ].scanCode = scanCode; | 577 macroTriggerListBuffer[ macroTriggerListBufferSize ].scanCode = scanCode; |
553 macroTriggerListBuffer[ macroTriggerListBufferSize ].state = state; | 578 macroTriggerListBuffer[ macroTriggerListBufferSize ].state = state; |
554 macroTriggerListBuffer[ macroTriggerListBufferSize ].type = 0x02; // Analog key | 579 macroTriggerListBuffer[ macroTriggerListBufferSize ].type = 0x02; // Analog key |
555 macroTriggerListBufferSize++; | 580 macroTriggerListBufferSize++; |
556 } | 581 } |
565 { | 590 { |
566 // Only add to macro trigger list if non-off | 591 // Only add to macro trigger list if non-off |
567 // TODO Handle change for interconnect | 592 // TODO Handle change for interconnect |
568 if ( state != 0x00 ) | 593 if ( state != 0x00 ) |
569 { | 594 { |
595 // Check if LedCode is out of range | |
596 // TODO | |
597 | |
570 macroTriggerListBuffer[ macroTriggerListBufferSize ].scanCode = ledCode; | 598 macroTriggerListBuffer[ macroTriggerListBufferSize ].scanCode = ledCode; |
571 macroTriggerListBuffer[ macroTriggerListBufferSize ].state = state; | 599 macroTriggerListBuffer[ macroTriggerListBufferSize ].state = state; |
572 macroTriggerListBuffer[ macroTriggerListBufferSize ].type = 0x01; // LED key | 600 macroTriggerListBuffer[ macroTriggerListBufferSize ].type = 0x01; // LED key |
573 macroTriggerListBufferSize++; | 601 macroTriggerListBufferSize++; |
574 } | 602 } |