@@ -2,7 +2,17 @@ import {ConnectionParameters, VirtualDesktopManager} from './virtual-desktop-man
22import { WebXClientAdapter } from './webx-virtual-desktop-adapters' ;
33import { BehaviorSubject , Subject } from 'rxjs' ;
44import { filter , map , takeUntil } from 'rxjs/operators' ;
5- import { WebXClient , WebXDisplay , WebXStatsHandler , WebXTunnel , WebXMessage , WebXScreenInstruction , WebXScreenMessage , WebXConnectionStatus } from '@illgrenoble/webx-client' ;
5+ import {
6+ WebXClient ,
7+ WebXDisplay ,
8+ WebXStatsHandler ,
9+ WebXTunnel ,
10+ WebXMessage ,
11+ WebXScreenInstruction ,
12+ WebXScreenMessage ,
13+ WebXConnectionStatus ,
14+ WebXKeyboardCombinationHandler
15+ } from '@illgrenoble/webx-client' ;
616
717class StatsHandler extends WebXStatsHandler {
818
@@ -202,6 +212,11 @@ export class WebXVirtualDesktopManager extends VirtualDesktopManager {
202212 . subscribe ( this . onDataReceived ) ;
203213
204214 this . _client . registerTracer ( 'stats' , this . _statsHandler ) ;
215+ this . _client . registerTracer ( 'filter-toggle' , new WebXKeyboardCombinationHandler ( [ 65362 , 65362 , 65362 , 65364 , 65364 , 65364 , 65361 , 65363 , 65361 , 65363 , 65506 , 65506 , 65506 , 65293 ] , ( ) => {
216+ const display = this . _client . display ;
217+ display . filter = display . filter ? null : 'crt' ;
218+ } ) ) ;
219+
205220 this . _client . clipboardHandler = ( clipboardContent : string ) => {
206221 this . onRemoteClipboardData . next ( { content : clipboardContent , event : 'received' } ) ;
207222 } ;
@@ -215,6 +230,7 @@ export class WebXVirtualDesktopManager extends VirtualDesktopManager {
215230
216231 this . _statsInterrupt$ . next ( true ) ;
217232 this . _client . unregisterTracer ( 'stats' ) ;
233+ this . _client . unregisterTracer ( 'filter-toggle' ) ;
218234 this . _client . clipboardHandler = ( clipboardContent : string ) => { } ;
219235
220236 window . removeEventListener ( 'resize' , this . _resizeHandler ) ;
0 commit comments