public InputActions()
        {
            _input = new VirtualInputController.NativeInput.INPUT();

            _input.type = 1; //hardcode keyboard inputs for now
            _input.Data.keyboard.VirtualKey = 0;
            _input.Data.keyboard.Time       = 0;
            _input.Data.keyboard.ExtraInfo  = IntPtr.Zero;
        }
        public GameInput(string description, UInt16 keyCode)
        {
            _input      = new VirtualInputController.NativeInput.INPUT();
            _inputArray = new NativeInput.INPUT[1];

            _input.type = 1; //hardcode keyboard inputs for now
            _input.Data.keyboard.ScanCode   = keyCode;
            _input.Data.keyboard.VirtualKey = 0;
            _input.Data.keyboard.Time       = 0;
            _input.Data.keyboard.ExtraInfo  = IntPtr.Zero;

            _description = description;
            //since the state of the key is essentially unknown on startup
            _isPressed = false;
            ReleaseKey();
        }