Exemplo n.º 1
0
 /// <summary>
 /// Constructor. Initialize the various controls and
 /// display the UI
 /// </summary>
 public AlphabetScannerCommon(IScannerPanel scannerPanel)
 {
     _scannerPanel  = scannerPanel;
     _form          = scannerPanel.Form;
     Dispatcher     = new CmdDispatcher(this, scannerPanel);
     _scannerCommon = new ScannerCommon(_scannerPanel);
 }
Exemplo n.º 2
0
        /// <summary>
        /// Initializes an instances of the class
        /// </summary>
        /// <param name="panel">the scanner object</param>
        /// <param name="startupArg">initialization arguments</param>
        public ScannerHelper(IScannerPanel panel, StartupArg startupArg)
        {
            DialogMode = startupArg.DialogMode;

            AppDomain currentDomain = AppDomain.CurrentDomain;
            currentDomain.AssemblyResolve += currentDomain_AssemblyResolve;
        }
Exemplo n.º 3
0
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="alphabetScannerCommon">parent object</param>
 /// <param name="panel">the alphabet scanner panel</param>
 public CmdDispatcher(AlphabetScannerCommon alphabetScannerCommon, IScannerPanel panel)
     : base(panel)
 {
     Commands.Add(new ShowScannerHandler(alphabetScannerCommon, "CmdMouseScanner"));
     Commands.Add(new ShowScannerHandler(alphabetScannerCommon, "CmdCursorScanner"));
     Commands.Add(new ShowScannerHandler(alphabetScannerCommon, "CmdPunctuationScanner"));
     Commands.Add(new ShowScannerHandler(alphabetScannerCommon, "CmdWindowPosSizeContextMenu"));
 }
Exemplo n.º 4
0
        /// <summary>
        /// Initializes an instances of the class
        /// </summary>
        /// <param name="panel">the scanner object</param>
        /// <param name="startupArg">initialization arguments</param>
        public ScannerHelper(IScannerPanel panel, StartupArg startupArg)
        {
            DialogMode = startupArg.DialogMode;

            AppDomain currentDomain = AppDomain.CurrentDomain;

            currentDomain.AssemblyResolve += currentDomain_AssemblyResolve;
        }
Exemplo n.º 5
0
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="panel">the scanner object</param>
 public Dispatcher(IScannerPanel panel)
     : base(panel)
 {
     Commands.Add(new CommandHandler("CmdTalkWindowClear"));
     Commands.Add(new CommandHandler("CmdNumberScanner"));
     Commands.Add(new CommandHandler("ExitApp"));
     Commands.Add(new CommandHandler("CmdPhraseSpeak"));
 }
Exemplo n.º 6
0
        /// <summary>
        /// Return the panel name of the currently
        /// active panel
        /// </summary>
        /// <returns>the name</returns>
        public String GetCurrentPanelName()
        {
            if (_currentForm is IScannerPanel)
            {
                IScannerPanel panel = (IScannerPanel)_currentForm;
                return(panel.PanelClass);
            }

            return(String.Empty);
        }
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="panel">the scanner object</param>
 public Dispatcher(IScannerPanel panel)
     : base(panel)
 {
     Commands.Add(new CommandHandler("CmdTalkWindowClear"));
     Commands.Add(new CommandHandler("CmdCursorScanner"));
     Commands.Add(new CommandHandler("CmdNumberScanner"));
     Commands.Add(new CommandHandler("ExitApp"));
     Commands.Add(new CommandHandler("CmdPhraseSpeak"));
     Commands.Add(new CommandHandler("CmdAutocompleteWithFirstWord"));
 }
Exemplo n.º 8
0
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="panel">the scanner</param>
 public Dispatcher(IScannerPanel panel)
     : base(panel)
 {
     Commands.Add(new GoBackCommandHandler("CmdGoBack"));
     Commands.Add(new CommandHandler("CmdScanVerticalDown"));
     Commands.Add(new CommandHandler("CmdScanVerticalUp"));
     Commands.Add(new CommandHandler("CmdLeftClick"));
     Commands.Add(new CommandHandler("CmdLeftDoubleClick"));
     Commands.Add(new CommandHandler("CmdLeftClickAndHold"));
     Commands.Add(new CommandHandler("CmdRightClick"));
 }
Exemplo n.º 9
0
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="alphabetScannerCommon">parent object</param>
 /// <param name="panel">the alphabet scanner panel</param>
 public CmdDispatcher(AlphabetScannerCommon alphabetScannerCommon, IScannerPanel panel)
     : base(panel)
 {
     Commands.Add(new CommandHandler(alphabetScannerCommon, "CmdMouseScanner"));
     Commands.Add(new CommandHandler(alphabetScannerCommon, "CmdCursorScanner"));
     Commands.Add(new CommandHandler(alphabetScannerCommon, "CmdPunctuationScanner"));
     Commands.Add(new CommandHandler(alphabetScannerCommon, "CmdWindowPosSizeMenu"));
     Commands.Add(new CommandHandler(alphabetScannerCommon, "CmdNumberScanner"));
     Commands.Add(new CommandHandler(alphabetScannerCommon, "CmdFunctionKeyScanner"));
     Commands.Add(new CommandHandler(alphabetScannerCommon, "CmdAutocompleteWithFirstWord"));
 }
Exemplo n.º 10
0
        /// <summary>
        /// Initialzies the specified scanner panel
        /// </summary>
        /// <param name="scannerPanel">panel to initialize</param>
        /// <param name="arg">panel arguments</param>
        /// <returns>true on success</returns>
        private bool initializePanel(IScannerPanel scannerPanel, PanelRequestEventArgs arg)
        {
            var startupArg = new StartupArg
            {
                FocusedElement = arg.MonitorInfo.FocusedElement,
                PanelClass     = arg.PanelClass,
                ConfigFileName = PanelConfigMap.GetConfigFileForPanel(arg.PanelClass),
                Arg            = arg.RequestArg
            };

            Log.Debug("panelClass:  " + arg.PanelClass + ", ConfigFIle: " + startupArg.ConfigFileName);
            return(scannerPanel.Initialize(startupArg));
        }
Exemplo n.º 11
0
        /// <summary>
        /// Initialzies the specified scanner panel
        /// </summary>
        /// <param name="scannerPanel">panel to initialize</param>
        /// <param name="arg">panel arguments</param>
        /// <returns>true on success</returns>
        private bool initializePanel(IScannerPanel scannerPanel, PanelRequestEventArgs arg)
        {
            var startupArg = new StartupArg
            {
                FocusedElement = arg.MonitorInfo.FocusedElement,
                PanelClass     = arg.PanelClass,
                Arg            = arg.RequestArg
            };

            var panelConfigMapEntry = PanelConfigMap.GetPanelConfigMapEntry(arg.PanelClass);

            Log.Debug("panelClass:  " + arg.PanelClass + ", ConfigFIle: " + ((panelConfigMapEntry != null) ? panelConfigMapEntry.ConfigFileName : String.Empty));
            return(scannerPanel.Initialize(startupArg));
        }
Exemplo n.º 12
0
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="panel">the scanner</param>
 public Dispatcher(IScannerPanel panel)
     : base(panel)
 {
     Commands.Add(new CommandHandler("CmdFunctionKey"));
     Commands.Add(new CommandHandler("CmdNumberPeriod"));
     Commands.Add(new CommandHandler("CmdNumberComma"));
     Commands.Add(new FKeyHandler("1"));
     Commands.Add(new FKeyHandler("2"));
     Commands.Add(new FKeyHandler("3"));
     Commands.Add(new FKeyHandler("4"));
     Commands.Add(new FKeyHandler("5"));
     Commands.Add(new FKeyHandler("6"));
     Commands.Add(new FKeyHandler("7"));
     Commands.Add(new FKeyHandler("8"));
     Commands.Add(new FKeyHandler("9"));
     Commands.Add(new FKeyHandler("0"));
 }
Exemplo n.º 13
0
        /// <summary>
        /// Instantiates a new instance of the class
        /// </summary>
        /// <param name="iScannerPanel">The scanner Form object</param>
        public ScannerCommon(IScannerPanel iScannerPanel)
        {
            ScannerForm               = iScannerPanel.Form;
            StartupArg                = null;
            _scannerPanel             = iScannerPanel;
            ScannerForm.ShowInTaskbar = false;
            PositionSizeController    = new ScannerPositionSizeController(this);
            TextController            = new TextController();
            KeepTalkWindowActive      = false;
            _syncLock = new SyncLock();

            var scannerStatusBar = (ScannerForm is ISupportsStatusBar) ?
                                   ((ISupportsStatusBar)ScannerForm).ScannerStatusBar :
                                   null;

            StatusBarController = new StatusBarController(scannerStatusBar);
        }
Exemplo n.º 14
0
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="panel">the scanner</param>
 public Dispatcher(IScannerPanel panel)
     : base(panel)
 {
     // Add all the commands we are going to handle
     Commands.Add(new GoBackCommandHandler("CmdGoBack"));
     Commands.Add(new CommandHandler("CmdRadarCounterClockwise"));
     Commands.Add(new CommandHandler("CmdRadarClockwise"));
     Commands.Add(new CommandHandler("CmdScanVerticalDown"));
     Commands.Add(new CommandHandler("CmdScanVerticalUp"));
     Commands.Add(new CommandHandler("CmdLeftClick"));
     Commands.Add(new CommandHandler("CmdLeftDoubleClick"));
     Commands.Add(new CommandHandler("CmdLeftClickAndHold"));
     Commands.Add(new CommandHandler("CmdRightDoubleClick"));
     Commands.Add(new CommandHandler("CmdRightClick"));
     Commands.Add(new CommandHandler("CmdRightClickAndHold"));
     Commands.Add(new CommandHandler("CmdMoveCursorNW"));
     Commands.Add(new CommandHandler("CmdMoveCursorN"));
     Commands.Add(new CommandHandler("CmdMoveCursorNE"));
     Commands.Add(new CommandHandler("CmdMoveCursorW"));
     Commands.Add(new CommandHandler("CmdMoveCursorE"));
     Commands.Add(new CommandHandler("CmdMoveCursorSW"));
     Commands.Add(new CommandHandler("CmdMoveCursorS"));
     Commands.Add(new CommandHandler("CmdMoveCursorSE"));
 }
Exemplo n.º 15
0
        /// <summary>
        /// Creates and shows the specified scanner
        /// </summary>
        /// <param name="panelClass">type of the scanner</param>
        /// <returns>true on success</returns>
        private bool createAndShowScanner(String panelClass, Form form)
        {
            bool retVal = true;

            form.Invoke(new MethodInvoker(delegate()
            {
                IPanel panel = Context.AppPanelManager.CreatePanel(panelClass) as IPanel;

                if (panel != null)
                {
                    _disableAllButtons         = true;
                    _dimScanner                = false;
                    IScannerPanel scannerPanel = panel as IScannerPanel;
                    scannerPanel.ScannerCommon.PositionSizeController.DockScanner(form.Handle, Windows.WindowPosition.TopRight);
                    Context.AppPanelManager.Show(form as IPanel, panel);
                }
                else
                {
                    retVal = false;
                }
            }));

            return(retVal);
        }
Exemplo n.º 16
0
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="panel">the scanner</param>
 public Dispatcher(IScannerPanel panel)
     : base(panel)
 {
     Commands.Add(new CommandHandler("CmdFunctionKey"));
     Commands.Add(new CommandHandler("CmdNumberPeriod"));
     Commands.Add(new CommandHandler("CmdNumberComma"));
     Commands.Add(new FKeyHandler("1"));
     Commands.Add(new FKeyHandler("2"));
     Commands.Add(new FKeyHandler("3"));
     Commands.Add(new FKeyHandler("4"));
     Commands.Add(new FKeyHandler("5"));
     Commands.Add(new FKeyHandler("6"));
     Commands.Add(new FKeyHandler("7"));
     Commands.Add(new FKeyHandler("8"));
     Commands.Add(new FKeyHandler("9"));
     Commands.Add(new FKeyHandler("0"));
 }
 public Dispatcher(IScannerPanel panel)
     : base(panel)
 {
     Commands.Add(new CommandHandler("VolumeTest"));
     Commands.Add(new CloseHandler("CmdGoBack"));
 }
Exemplo n.º 18
0
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="panel">the scanner object</param>
 public Dispatcher(IScannerPanel panel)
     : base(panel)
 {
     Commands.Add(new CommandHandler("CmdGoBack"));
 }
Exemplo n.º 19
0
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="alphabetScannerCommon">parent object</param>
 /// <param name="panel">the alphabet scanner panel</param>
 public CmdDispatcher(AlphabetScannerCommon alphabetScannerCommon, IScannerPanel panel)
     : base(panel)
 {
     Commands.Add(new ShowScannerHandler(alphabetScannerCommon, "CmdMouseScanner"));
     Commands.Add(new ShowScannerHandler(alphabetScannerCommon, "CmdCursorScanner"));
     Commands.Add(new ShowScannerHandler(alphabetScannerCommon, "CmdPunctuationScanner"));
     Commands.Add(new ShowScannerHandler(alphabetScannerCommon, "CmdWindowPosSizeMenu"));
     Commands.Add(new ShowScannerHandler(alphabetScannerCommon, "CmdNumberScanner"));
     Commands.Add(new ShowScannerHandler(alphabetScannerCommon, "CmdFunctionKeyScanner"));
 }
Exemplo n.º 20
0
 /// <summary>
 /// Initializes a new instance of the class
 /// </summary>
 /// <param name="panel">the scanner object</param>
 public Dispatcher(IScannerPanel panel)
     : base(panel)
 {
     Commands.Add(new CommandHandler("CmdYes"));
     Commands.Add(new CommandHandler("CmdNo"));
 }
Exemplo n.º 21
0
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="panel">the scanner</param>
 public Dispatcher(IScannerPanel panel)
     : base(panel)
 {
     Commands.Add(new GoBackCommandHandler("CmdGoBack"));
     Commands.Add(new CommandHandler("CmdRadarCounterClockwise"));
     Commands.Add(new CommandHandler("CmdRadarClockwise"));
     Commands.Add(new CommandHandler("CmdScanVerticalDown"));
     Commands.Add(new CommandHandler("CmdScanVerticalUp"));
     Commands.Add(new CommandHandler("CmdLeftClick"));
     Commands.Add(new CommandHandler("CmdLeftDoubleClick"));
     Commands.Add(new CommandHandler("CmdLeftClickAndHold"));
     Commands.Add(new CommandHandler("CmdRightClick"));
 }
Exemplo n.º 22
0
        /// <summary>
        /// Initialzies the specified scanner panel
        /// </summary>
        /// <param name="scannerPanel">panel to initialize</param>
        /// <param name="arg">panel arguments</param>
        /// <returns>true on success</returns>
        private bool initializePanel(IScannerPanel scannerPanel, PanelRequestEventArgs arg)
        {
            var startupArg = new StartupArg
            {
                FocusedElement = arg.MonitorInfo.FocusedElement,
                PanelClass = arg.PanelClass,
                ConfigFileName = PanelConfigMap.GetConfigFileForPanel(arg.PanelClass),
                Arg = arg.RequestArg
            };

            Log.Debug("panelClass:  " + arg.PanelClass + ", ConfigFIle: " + startupArg.ConfigFileName);
            return scannerPanel.Initialize(startupArg);
        }
Exemplo n.º 23
0
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="panel">scanner being shown</param>
 public ScannerShowEventArg(IScannerPanel panel)
 {
     Scanner = panel;
 }
Exemplo n.º 24
0
 /// <summary>
 /// Initializes a new instance of the class..
 /// </summary>
 /// <param name="scanner">Parent scanner</param>
 public RunCommandDispatcher(IScannerPanel scanner)
 {
     Scanner = scanner;
     Commands = new RunCommands(this);
 }
Exemplo n.º 25
0
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="scanner"></param>
 public DefaultCommandDispatcher(IScannerPanel scanner)
     : base(scanner)
 {
     init();
 }
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="panel">the scanner object</param>
 public Dispatcher(IScannerPanel panel)
     : base(panel)
 {
     Commands.Add(new CommandHandler("CmdTalkWindowClear"));
     Commands.Add(new CommandHandler("CmdNumberScanner"));
     Commands.Add(new CommandHandler("ExitApp"));
     Commands.Add(new CommandHandler("CmdPhraseSpeak"));
 }
Exemplo n.º 27
0
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="scanner"></param>
 public DefaultCommandDispatcher(IScannerPanel scanner)
     : base(scanner)
 {
     init();
 }
Exemplo n.º 28
0
        /// <summary>
        /// Instantiates a new instance of the class
        /// </summary>
        /// <param name="iScannerPanel">The scanner Form object</param>
        public ScannerCommon(IScannerPanel iScannerPanel)
        {
            ScannerForm = iScannerPanel.Form;
            StartupArg = null;
            _scannerPanel = iScannerPanel;
            ScannerForm.ShowInTaskbar = false;
            PositionSizeController = new ScannerPositionSizeController(this);
            TextController = new TextController();
            KeepTalkWindowActive = false;
            _syncLock = new SyncLock();

            var scannerStatusBar = (ScannerForm is ISupportsStatusBar) ?
                                                ((ISupportsStatusBar)ScannerForm).ScannerStatusBar :
                                                null;
            StatusBarController = new StatusBarController(scannerStatusBar);
        }
Exemplo n.º 29
0
 /// <summary>
 /// Initializes a new instance of the class..
 /// </summary>
 /// <param name="scanner">Parent scanner</param>
 public RunCommandDispatcher(IScannerPanel scanner)
 {
     Scanner  = scanner;
     Commands = new RunCommands(this);
 }
Exemplo n.º 30
0
 /// <summary>
 /// Constructor. Initialize the various controls and
 /// display the UI
 /// </summary>
 public AlphabetScannerCommon(IScannerPanel scannerPanel)
 {
     _scannerPanel = scannerPanel;
     _form = scannerPanel.Form;
     Dispatcher = new CmdDispatcher(this, scannerPanel);
 }
Exemplo n.º 31
0
 public Dispatcher(IScannerPanel panel)
     : base(panel)
 {
 }
Exemplo n.º 32
0
        /// <summary>
        /// Event handler for request to display a scanner. The
        /// arg parameter contains information about which scanner
        /// to display
        /// </summary>
        /// <param name="sender">event sender</param>
        /// <param name="arg">event arg</param>
        public void AppAgent_EvtPanelRequest(object sender, PanelRequestEventArgs arg)
        {
            Log.Debug("A request came in for panel " + arg.PanelClass + ".  NewWindow is " +
                      arg.MonitorInfo.IsNewWindow);

            if (_currentForm != null)
            {
                Log.Debug("_currentForm is " + _currentForm.Name + ", type: " + _currentForm.GetType() +
                          ", IsModal: " + _currentForm.Modal);

                Form owner = _currentForm.Owner;
                if (owner != null)
                {
                    Log.Debug("owner is : " + owner.Name + ", type: " + owner.GetType() +
                              ", is owner ipanel? " + (_currentForm.Owner is IPanel));
                }
                else
                {
                    Log.Debug("_currentForm.Owner is null");
                }

                // if a modal dialog is currently open, don't honor the request.
                // the modal dialog has to be closed first.
                if (arg.TargetPanel == null || arg.TargetPanel != _currentForm)
                {
                    if (_currentForm.Modal || (_currentForm.Owner != null && _currentForm.Owner.Modal))
                    {
                        Log.Debug("A modal dialog is open. Will not honor panel request");
                        return;
                    }
                }
            }

            // if no panel type, use the alphabet scanner as the
            String requestedPanelClass = arg.PanelClass;

            if (PanelConfigMap.AreEqual(arg.PanelClass, PanelClasses.None))
            {
                requestedPanelClass = PanelClasses.Alphabet;
            }

            IScannerPanel currentScanner = _currentPanel as IScannerPanel;

            if (arg.MonitorInfo.IsNewWindow)
            {
                Log.Debug("This is a new window. winHandle: " + arg.MonitorInfo.FgHwnd);

                if (currentScanner != null)
                {
                    Log.Debug("currentpanel: " + currentScanner.PanelClass + ", requested:  " + requestedPanelClass);
                }
                else
                {
                    Log.Debug("_currentPanel is null or not IScannerPanel. Activate alphabet scanner");
                    requestedPanelClass = PanelClasses.Alphabet;
                }

                // if the current scanner is the same as the requested one, just show it
                if (currentScanner != null && PanelConfigMap.AreEqual(currentScanner.PanelClass, requestedPanelClass) &&
                    _currentPanel.Owner == null)
                {
                    Log.Debug("Current panel is already " + requestedPanelClass + ", calling Show()");
                    _currentPanel.TopMost = true;

                    if (_currentPanel is MenuPanelBase)
                    {
                        (_currentPanel as MenuPanelBase).SetTitle(arg.Title);
                    }
                    Show(null, (IPanel)_currentPanel);
                }
                else
                {
                    // check with the agent if it is OK to switch panels.
                    if ((currentScanner == null) || currentScanner.OnQueryPanelChange(arg))
                    {
                        switchCurrentPanel(arg);
                    }
                }
            }
            else
            {
                if (currentScanner == null)
                {
                    Log.Debug("_currentPanel is null. returning");
                    return;
                }

                Log.Debug("Not a new window.  _currentPanel is " + currentScanner.PanelClass +
                          " requested panel is " + requestedPanelClass);

                // if the current panel is not the same as the requested one, query the
                // agent if it is OK to switch and then do the switch
                if (!PanelConfigMap.AreEqual(currentScanner.PanelClass, requestedPanelClass) &&
                    currentScanner.OnQueryPanelChange(arg))
                {
                    switchCurrentPanel(arg);
                }
                else
                {
                    Log.Debug("Will not switch panels.  Current: " + currentScanner.PanelClass +
                              ", requested: " + requestedPanelClass);

                    if (currentScanner is MenuPanelBase)
                    {
                        (currentScanner as MenuPanelBase).SetTitle(arg.Title);
                    }
                }
            }
        }
Exemplo n.º 33
0
        /// <summary>
        /// Instantiates a new instance of the class
        /// </summary>
        /// <param name="iScannerPanel">The scanner Form object</param>
        public ScannerCommon(IScannerPanel iScannerPanel)
        {
            ScannerForm = iScannerPanel.Form;

            StartupArg = null;
            _scannerPanel = iScannerPanel;
            ScannerForm.ShowInTaskbar = false;
            PositionSizeController = new ScannerPositionSizeController(this);
            TextController = new TextController();
            KeepTalkWindowActive = false;
            HideScannerOnIdle = CoreGlobals.AppPreferences.HideScannerOnIdle;
            _syncLock = new SyncLock();
        }
Exemplo n.º 34
0
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="panel">the scanner object</param>
 public Dispatcher(IScannerPanel panel)
     : base(panel)
 {
     Commands.Add(new CommandHandler("CmdYes"));
     Commands.Add(new CommandHandler("CmdNo"));
 }
Exemplo n.º 35
0
 public Dispatcher(IScannerPanel panel)
     : base(panel)
 {
 }
Exemplo n.º 36
0
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="panel">scanner being shown</param>
 public ScannerShowEventArg(IScannerPanel panel)
 {
     Scanner = panel;
 }
Exemplo n.º 37
0
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="panel">the scanner</param>
 public Dispatcher(IScannerPanel panel)
     : base(panel)
 {
     // Add all the commands we are going to handle
     Commands.Add(new GoBackCommandHandler("CmdGoBack"));
     Commands.Add(new CommandHandler("CmdRadarCounterClockwise"));
     Commands.Add(new CommandHandler("CmdRadarClockwise"));
     Commands.Add(new CommandHandler("CmdScanVerticalDown"));
     Commands.Add(new CommandHandler("CmdScanVerticalUp"));
     Commands.Add(new CommandHandler("CmdLeftClick"));
     Commands.Add(new CommandHandler("CmdLeftDoubleClick"));
     Commands.Add(new CommandHandler("CmdLeftClickAndHold"));
     Commands.Add(new CommandHandler("CmdRightDoubleClick"));
     Commands.Add(new CommandHandler("CmdRightClick"));
     Commands.Add(new CommandHandler("CmdRightClickAndHold"));
     Commands.Add(new CommandHandler("CmdMoveCursorNW"));
     Commands.Add(new CommandHandler("CmdMoveCursorN"));
     Commands.Add(new CommandHandler("CmdMoveCursorNE"));
     Commands.Add(new CommandHandler("CmdMoveCursorW"));
     Commands.Add(new CommandHandler("CmdMoveCursorE"));
     Commands.Add(new CommandHandler("CmdMoveCursorSW"));
     Commands.Add(new CommandHandler("CmdMoveCursorS"));
     Commands.Add(new CommandHandler("CmdMoveCursorSE"));
 }