@@ -33,9 +33,10 @@ public void ModifiersOnce(List<SingleModifier> modifiers, WaitTime waitTime)
3333
3434 using var hook = new TestGlobalHook ( ) ;
3535 var scheduler = new TestScheduler ( ) ;
36+ var provider = new TestProvider ( ) ;
3637
3738 using var service = new SharpHookService (
38- new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , new TestProvider ( ) , this . logger ) ;
39+ new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , provider , provider , this . logger ) ;
3940
4041 var observer = scheduler . CreateObserver < EventMask > ( ) ;
4142 service . HotKeyPressed . Subscribe ( observer ) ;
@@ -64,9 +65,10 @@ public void ModifiersMultiple(List<SingleModifier> modifiers, PressCount pressCo
6465
6566 using var hook = new TestGlobalHook ( ) ;
6667 var scheduler = new TestScheduler ( ) ;
68+ var provider = new TestProvider ( ) ;
6769
6870 using var service = new SharpHookService (
69- new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , new TestProvider ( ) , this . logger ) ;
71+ new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , provider , provider , this . logger ) ;
7072
7173 var observer = scheduler . CreateObserver < EventMask > ( ) ;
7274 service . HotKeyPressed . Subscribe ( observer ) ;
@@ -100,9 +102,10 @@ public void ModifiersMultipleTooLong(List<SingleModifier> modifiers, PressCount
100102
101103 using var hook = new TestGlobalHook ( ) ;
102104 var scheduler = new TestScheduler ( ) ;
105+ var provider = new TestProvider ( ) ;
103106
104107 using var service = new SharpHookService (
105- new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , new TestProvider ( ) , this . logger ) ;
108+ new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , provider , provider , this . logger ) ;
106109
107110 var observer = scheduler . CreateObserver < EventMask > ( ) ;
108111 service . HotKeyPressed . Subscribe ( observer ) ;
@@ -136,9 +139,10 @@ public void OtherKeys(List<SingleModifier> modifiers, NonModifierKey key, WaitTi
136139
137140 using var hook = new TestGlobalHook ( ) ;
138141 var scheduler = new TestScheduler ( ) ;
142+ var provider = new TestProvider ( ) ;
139143
140144 using var service = new SharpHookService (
141- new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , new TestProvider ( ) , this . logger ) ;
145+ new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , provider , provider , this . logger ) ;
142146
143147 var observer = scheduler . CreateObserver < EventMask > ( ) ;
144148 service . HotKeyPressed . Subscribe ( observer ) ;
@@ -164,9 +168,10 @@ public void OnlyKeyUp(List<SingleModifier> modifiers, WaitTime waitTime)
164168
165169 using var hook = new TestGlobalHook ( ) ;
166170 var scheduler = new TestScheduler ( ) ;
171+ var provider = new TestProvider ( ) ;
167172
168173 using var service = new SharpHookService (
169- new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , new TestProvider ( ) , this . logger ) ;
174+ new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , provider , provider , this . logger ) ;
170175
171176 var observer = scheduler . CreateObserver < EventMask > ( ) ;
172177 service . HotKeyPressed . Subscribe ( observer ) ;
@@ -196,9 +201,10 @@ public void KeyDownTooLong(List<SingleModifier> modifiers, WaitTime waitTime)
196201
197202 using var hook = new TestGlobalHook ( ) ;
198203 var scheduler = new TestScheduler ( ) ;
204+ var provider = new TestProvider ( ) ;
199205
200206 using var service = new SharpHookService (
201- new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , new TestProvider ( ) , this . logger ) ;
207+ new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , provider , provider , this . logger ) ;
202208
203209 var observer = scheduler . CreateObserver < EventMask > ( ) ;
204210 service . HotKeyPressed . Subscribe ( observer ) ;
@@ -227,9 +233,10 @@ public void KeyDownRepeated(List<SingleModifier> modifiers, WaitTime waitTime)
227233
228234 using var hook = new TestGlobalHook ( ) ;
229235 var scheduler = new TestScheduler ( ) ;
236+ var provider = new TestProvider ( ) ;
230237
231238 using var service = new SharpHookService (
232- new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , new TestProvider ( ) , this . logger ) ;
239+ new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , provider , provider , this . logger ) ;
233240
234241 var observer = scheduler . CreateObserver < EventMask > ( ) ;
235242 service . HotKeyPressed . Subscribe ( observer ) ;
@@ -261,9 +268,10 @@ public void UnregisterModifiers(List<SingleModifier> modifiers, WaitTime waitTim
261268
262269 using var hook = new TestGlobalHook ( ) ;
263270 var scheduler = new TestScheduler ( ) ;
271+ var provider = new TestProvider ( ) ;
264272
265273 using var service = new SharpHookService (
266- new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , new TestProvider ( ) , this . logger ) ;
274+ new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , provider , provider , this . logger ) ;
267275
268276 var observer = scheduler . CreateObserver < EventMask > ( ) ;
269277 service . HotKeyPressed . Subscribe ( observer ) ;
@@ -290,9 +298,10 @@ public void DisposeComplete()
290298
291299 using var hook = new TestGlobalHook ( ) ;
292300 var scheduler = new TestScheduler ( ) ;
301+ var provider = new TestProvider ( ) ;
293302
294303 var service = new SharpHookService (
295- new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , new TestProvider ( ) , this . logger ) ;
304+ new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , provider , provider , this . logger ) ;
296305
297306 var observer = scheduler . CreateObserver < EventMask > ( ) ;
298307 service . HotKeyPressed . Subscribe ( observer ) ;
@@ -314,9 +323,10 @@ public void Cancel()
314323
315324 using var hook = new TestGlobalHook ( ) ;
316325 var scheduler = new TestScheduler ( ) ;
326+ var provider = new TestProvider ( ) ;
317327
318328 using var service = new SharpHookService (
319- new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , new TestProvider ( ) , this . logger ) ;
329+ new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , provider , provider , this . logger ) ;
320330
321331 // Act
322332
@@ -331,23 +341,42 @@ public void Cancel()
331341 Assert . False ( hook . IsRunning ) ;
332342 }
333343
344+ [ Fact ( DisplayName = "SharpHookService should disable KeyTyped events" ) ]
345+ public void KeyTypedEvents ( )
346+ {
347+ // Arrange
348+
349+ using var hook = new TestGlobalHook ( ) ;
350+ var scheduler = new TestScheduler ( ) ;
351+ var provider = new TestProvider ( ) ;
352+
353+ // Act
354+
355+ using var service = new SharpHookService (
356+ new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , provider , provider , this . logger ) ;
357+
358+ // Assert
359+
360+ Assert . False ( ( ( IGlobalHookProvider ) provider ) . KeyTypedEnabled ) ;
361+ }
362+
334363 [ Fact ( DisplayName = "SharpHookService should set the poll frequency for the Accessibility API" ) ]
335364 public void AccessibilityProvider ( )
336365 {
337366 // Arrange
338367
339368 using var hook = new TestGlobalHook ( ) ;
340369 var scheduler = new TestScheduler ( ) ;
341- IAccessibilityProvider provider = new TestProvider ( ) ;
370+ var provider = new TestProvider ( ) ;
342371
343372 // Act
344373
345374 using var service = new SharpHookService (
346- new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , provider , this . logger ) ;
375+ new ReactiveGlobalHookAdapter ( hook , scheduler ) , scheduler , provider , provider , this . logger ) ;
347376
348377 // Assert
349378
350- Assert . Equal ( SharpHookService . AxPollFrequencySeconds , provider . AxPollFrequency ) ;
379+ Assert . Equal ( SharpHookService . AxPollFrequencySeconds , ( ( IAccessibilityProvider ) provider ) . AxPollFrequency ) ;
351380 }
352381
353382 private void SimulateKeyEvents (
0 commit comments