InputSimulator c# как сбросить все нажатия
Подскажите, пожалуйста, как сбросить все нажатые/зажатые клавиши в InputSimulator? У меня при определенных действиях запускается цепочка нажатий клавиш. При этом она может занимать продолжительное время. Я постоянно отслеживаю, чтобы пользователь был в одном окне приложения, в котором и необходимо выполнить эти действия, но при смене окна алгоритм продолжает отправлять клавиши.
sim.Keyboard.KeyDown((VirtualKeyCode)(Convert.ToByte(action.Key, 16)));
также между нажатиями бывает и задержка
await Task.Delay((int)action.Wait);
То есть если вдруг активное окно сменится необходимо прекратить выполнять нажатия, а все клавиши, что вдруг нажаты просто отпустить. Как такое сделать грамотнее?