Determines whether or not a scancode is used on a trigger index -> index within trigger list
| 874 | // Determines whether or not a scancode is used on a trigger |
| 875 | // index -> index within trigger list |
| 876 | uint8_t Trigger_DetermineScanCodeOnTrigger( const Layer *layer, uint8_t index ) |
| 877 | { |
| 878 | // Check all triggers |
| 879 | for ( uint8_t trigger = 1; trigger <= layer->triggerMap[index][0]; trigger++ ) |
| 880 | { |
| 881 | // Trigger element |
| 882 | nat_ptr_t elem = layer->triggerMap[index][trigger]; |
| 883 | |
| 884 | // Lookup trigger type |
| 885 | const uint8_t *pos = TriggerMacroList[elem].guide; |
| 886 | |
| 887 | // If there are no elements, ignore |
| 888 | if ( pos[0] == 0 ) |
| 889 | { |
| 890 | continue; |
| 891 | } |
| 892 | |
| 893 | // Only look at first type, no need to go further |
| 894 | // XXX (HaaTa) This may cause bugs, but it's not as likely |
| 895 | // It's also much faster to only check the first type |
| 896 | switch ( pos[1] ) |
| 897 | { |
| 898 | case TriggerType_Switch1: |
| 899 | case TriggerType_Switch2: |
| 900 | case TriggerType_Switch3: |
| 901 | case TriggerType_Switch4: |
| 902 | case TriggerType_Analog1: |
| 903 | case TriggerType_Analog2: |
| 904 | case TriggerType_Analog3: |
| 905 | case TriggerType_Analog4: |
| 906 | return 1; |
| 907 | default: |
| 908 | break; |
| 909 | } |
| 910 | } |
| 911 | |
| 912 | // No triggers |
| 913 | return 0; |
| 914 | } |
| 915 | |
| 916 | |
| 917 | void Trigger_setup() |
no outgoing calls
no test coverage detected
searching dependent graphs…