예제 #1
0
        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);
        }
예제 #2
0
 public override IObservable <bool> Process <TSource>(IObservable <TSource> source)
 {
     return(source.Select(input => InterceptKeys.GetKeyState(Filter)));
 }
예제 #3
0
 public override IObservable <Keys> Generate()
 {
     return(InterceptKeys.Instance.KeyUp.Where(InterceptKeys.GetKeyFilter(Filter)));
 }