public override IObservable <Keys> Generate() { var predicate = InterceptKeys.GetKeyFilter(Filter); var source = InterceptKeys.Instance.KeyDown.Where(predicate); if (SuppressRepetitions) { source = source .Window(() => InterceptKeys.Instance.KeyUp.Where(predicate)) .SelectMany(sequence => sequence.Take(1)); } return(source); }
public override IObservable <bool> Process <TSource>(IObservable <TSource> source) { return(source.Select(input => InterceptKeys.GetKeyState(Filter))); }
public override IObservable <Keys> Generate() { return(InterceptKeys.Instance.KeyUp.Where(InterceptKeys.GetKeyFilter(Filter))); }