MCPcopy Create free account
hub / github.com/kiibohd/controller / Trigger_DetermineScanCodeOnTrigger

Function Trigger_DetermineScanCodeOnTrigger

Macro/PartialMap/trigger.c:876–914  ·  view source on GitHub ↗

Determines whether or not a scancode is used on a trigger index -> index within trigger list

Source from the content-addressed store, hash-verified

874// Determines whether or not a scancode is used on a trigger
875// index -> index within trigger list
876uint8_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
917void Trigger_setup()

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…