public void StartListening()
        {
            _cancelToken = new CancellationTokenSource();
            var tmpToken = _cancelToken.Token;

            Task.Factory.StartNew(() =>
            {
                GamePads.InitGamePadHandlers();
                Keyboard.InitKeyboardHandlers();

                do
                {
                    if (GamePadPollingEnabled)
                    {
                        GamePads.PollGamepads();
                    }
                    Keyboard.PollKeyboard();
                    Thread.Sleep(Interval);
                } while (!tmpToken.IsCancellationRequested);
            }, tmpToken, TaskCreationOptions.LongRunning, TaskScheduler.Default);
            Log.Default.Write("InputHandler Attached");
        }
 public InputHandler()
 {
     GamePads = new GamePads();
     Keyboard = new Keyboard();
 }