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(); }
private void SendInput(NativeInput.INPUT input) { _inputArray[0] = input; NativeInput.SendInput(1, _inputArray, Marshal.SizeOf(input)); }