public static Instruction Create(int keycode, int duration) { Scale(ref duration, Unit); if (duration < 0) { return(AsmEmpty.Create()); } if (duration >= 1 << 8) { return(Failed.OutOfRange); } var ins = new AsmKey_Standard(); ins.KeyCode = keycode; ins.Duration = duration; return(ins); }
public static Instruction Create(int duration) { if (duration < 0) { return(AsmEmpty.Create()); } var ins = AsmWait_HighPrecision.Create(duration); if (ins.Success) { return(ins); } ins = AsmWait_Standard.Create(duration); if (ins.Success) { return(ins); } return(AsmWait_Extended.Create(duration)); }