IfElse Icon
IfElse

Conditional Logic Node

Core API Hook: Conditional Engine Evaluator (IsoKey Core)

Branch execution flow dynamically based on conditional checks (active app, modifier key states, or time).

Configuration Parameters

Parameter Type Description
Target string Condition parameters statement: active foreground process check, keypress states, or local time ranges.
Arguments string Sub-action UUIDs mapped to conditional branches: 'TrueActionId: ; FalseActionId: '.

config.json Mapping

{
  "Type": "IfElse",
  "Name": "VS Code Open Branch",
  "Target": "focusedApp == 'code.exe'",
  "Arguments": "True: action-uuid-1; False: action-uuid-2"
}

Save inside database layout actions configuration map.

Native Execution Hook

// IfElse execution logic
bool conditionMet = false;
if (action.ConditionType == "AppFocus") {
    conditionMet = Win32.GetForegroundAppName() == action.TargetValue;
} else if (action.ConditionType == "ModifierActive") {
    conditionMet = KeyboardDeviceManager.IsKeyPressed(action.TargetValue);
}

var routeId = conditionMet ? action.TrueActionId : action.FalseActionId;
if (routeId != Guid.Empty) {
    InputManager.Instance.ExecuteActionSync(routeId);
}

Executed within IsoCore remapping runtime loop.

← Back to Actions Directory IsoKey Module: IfElse