public WiiKeyMapper(int wiimoteID, HandlerFactory handlerFactory) { this.WiimoteID = wiimoteID; this.outputHandlers = handlerFactory.getOutputHandlers(this.WiimoteID); foreach (IOutputHandler handler in outputHandlers) { handler.connect(); } this.initialize(); this.processMonitor = SystemProcessMonitor.Default; this.processMonitor.ProcessChanged += processChanged; this.processMonitor.Start(); homeButtonTimer = new Timer(); homeButtonTimer.Interval = 1000; homeButtonTimer.AutoReset = true; homeButtonTimer.Elapsed += homeButtonTimer_Elapsed; this.screenPositionCalculator = new ScreenPositionCalculator(); KeymapConfigWindow.Instance.OnConfigChanged += keymapConfigWindow_OnConfigChanged; }