Beispiel #1
0
        public void SendZeroInputs()
        {
            List <INPUT> inputs = new List <INPUT>();
            int          successfulInputs;

            successfulInputs = NativeInput.SendInputs(inputs.ToArray());
            Assert.Equal(0, successfulInputs);
        }
Beispiel #2
0
        public override void Unfocus()
        {
            if (_nativeInput != null)
            {
                _nativeInput.Unfocus();
                _nativeInput = null;
            }

            Focused = false;
        }
Beispiel #3
0
        /// <summary>
        ///     Generate key(s) up
        /// </summary>
        /// <param name="keycodes">VirtualKeyCodes for the keys to release</param>
        /// <returns>number of input events generated</returns>
        public static uint KeyUp(params VirtualKeyCode[] keycodes)
        {
            var keyboardInputs = new KeyboardInput[keycodes.Length];
            var index          = 0;

            foreach (var virtualKeyCode in keycodes)
            {
                keyboardInputs[index++] = KeyboardInput.ForKeyUp(virtualKeyCode);
            }
            return(NativeInput.SendInput(Structs.Input.CreateKeyboardInputs(keyboardInputs)));
        }
        public NativeApplication(int width, int height, ContentManager content)
        {
            resFactory = new BcResFactory(content);

            renderSupport = new AsRenderSupport();

            input = new NativeInput();
            input.AddGamePadListener(this);
            input.AddKeyboardListener(this);
            input.AddTouchListener(this);
            running = true;

            stage = new AsStage(width, height);
        }
Beispiel #5
0
        /// <summary>
        ///     Generate a key combination press(es)
        /// </summary>
        /// <param name="keycodes">params VirtualKeyCodes</param>
        public static uint KeyCombinationPress(params VirtualKeyCode[] keycodes)
        {
            var keyboardInputs = new KeyboardInput[keycodes.Length * 2];
            var index          = 0;

            // all down
            foreach (var virtualKeyCode in keycodes)
            {
                keyboardInputs[index++] = KeyboardInput.ForKeyDown(virtualKeyCode);
            }
            // all up
            foreach (var virtualKeyCode in keycodes)
            {
                keyboardInputs[index++] = KeyboardInput.ForKeyUp(virtualKeyCode);
            }

            return(NativeInput.SendInput(Structs.Input.CreateKeyboardInputs(keyboardInputs)));
        }
Beispiel #6
0
        private void CreateInput()
        {
            if (_nativeInput != null)
            {
                _nativeInput.Unfocus();
            }

            Focused   = true;
            _original = Text.StringValue;

            Rectangle rect = ScreenBounds;

            //rect.Y -= AppMain.Current.MainView.OffsetBoundsVertical;

            rect = _nativeInputMargin.ComputeRect(rect);

            _nativeInput = new NativeInput(rect, _inputType, _original, _fontSize, _nativeInputAlign, this);

            AppMain.Redraw(true);
        }
Beispiel #7
0
        public void SendNInputs(int numInputs)
        {
            int          successfulInputs;
            INPUT        testInput = new INPUT();
            List <INPUT> inputs    = new List <INPUT>();

            testInput.type = 1;
            testInput.Data.keyboard.ScanCode   = 203;
            testInput.Data.keyboard.VirtualKey = 0;
            testInput.Data.keyboard.Time       = 0;
            testInput.Data.keyboard.ExtraInfo  = IntPtr.Zero;

            inputs.Clear();
            for (int i = 0; i < numInputs; i++)
            {
                inputs.Add(testInput);
            }
            successfulInputs = NativeInput.SendInputs(inputs.ToArray());
            Assert.Equal(numInputs, successfulInputs);
        }
        public FlyingHandler(TimeCircuits circuits) : base(circuits)
        {
            if (Mods.HoverUnderbody == ModState.On)
            {
                LoadWheelAnim();
            }

            _flyOn      = circuits.AudioEngine.Create("bttf2/hover/toHover.wav", Presets.Exterior);
            _flyOff     = circuits.AudioEngine.Create("bttf2/hover/toRegular.wav", Presets.Exterior);
            _upSound    = circuits.AudioEngine.Create("bttf2/hover/hoverUp.wav", Presets.Exterior);
            _boostSound = circuits.AudioEngine.Create("bttf2/hover/boost.wav", Presets.Exterior);

            foreach (var wheelPos in Utils.GetWheelPositions(Vehicle))
            {
                var ptfx = new PtfxEntityPlayer("cut_trevor1", "cs_meth_pipe_smoke", Vehicle, wheelPos.Value, new Vector3(-90, 0, 0), 7f);
                _smokeParticles.Add(ptfx);
            }

            for (int i = 1; i < 6; i++)
            {
                if (!ModelHandler.UnderbodyLights.TryGetValue(i, out var model))
                {
                    continue;
                }

                ModelHandler.RequestModel(model);
                var prop = new AnimateProp(Vehicle, model, Vector3.Zero, Vector3.Zero);
                _underbodyLights.Add(prop);
            }

            _flyModeInput = new NativeInput((GTA.Control) 357);
            _flyModeInput.OnControlLongPressed += OnFlyModeControlJustPressed;

            _hoverGlowing = new AnimateProp(Vehicle, ModelHandler.RequestModel(ModelHandler.HoverGlowing), Vector3.Zero, Vector3.Zero)
            {
                Duration = 1.7f
            };

            ventGlowing = new AnimateProp(Vehicle, ModelHandler.RequestModel(ModelHandler.VentGlowing), Vector3.Zero, Vector3.Zero);
        }
Beispiel #9
0
        public RcHandler(TimeCircuits circuits) : base(circuits)
        {
            PlayerSwitch.OnSwitchingComplete += OnSwitchingComplete;

            rcOn           = circuits.AudioEngine.Create("general/rc/on.wav", Presets.Exterior);
            rcOff          = circuits.AudioEngine.Create("general/rc/off.wav", Presets.Exterior);
            rcBrake        = circuits.AudioEngine.Create("general/rc/brake.wav", Presets.Exterior);
            rcAcceleration = circuits.AudioEngine.Create("general/rc/acceleration.wav", Presets.Exterior);
            rcSomeSerious  = circuits.AudioEngine.Create("general/rc/someSerious.wav", Presets.Exterior);

            _rcSounds = new List <AudioPlayer>
            {
                rcOn, rcOff, rcBrake, rcAcceleration, rcSomeSerious
            };

            foreach (var sound in _rcSounds)
            {
                sound.Volume          = 0.4f;
                sound.MinimumDistance = 1f;
            }

            rcHandbrake = new NativeInput(GTA.Control.VehicleHandbrake);
            rcHandbrake.OnControlJustPressed += RcHandbrake_OnControlJustPressed;
        }
        /// <summary>
        ///     Generate mouse wheel moves
        /// </summary>
        /// <param name="wheelDelta"></param>
        /// <param name="location">optional NativePoint to specify where the mouse wheel takes place</param>
        /// <param name="timestamp">The time stamp for the event</param>
        /// <returns>number of input events generated</returns>
        public static uint MoveMouseWheel(int wheelDelta, NativePoint?location = null, uint?timestamp = null)
        {
            var mouseInput = MouseInput.MoveMouseWheel(wheelDelta, location, timestamp);

            return(NativeInput.SendInput(Structs.Input.CreateMouseInputs(mouseInput)));
        }
        /// <summary>
        ///     Generate mouse moves
        /// </summary>
        /// <param name="location">NativePoint to specify where the mouse moves</param>
        /// <param name="timestamp">The time stamp for the event</param>
        /// <returns>number of input events generated</returns>
        public static uint MoveMouse(NativePoint location, uint?timestamp = null)
        {
            var mouseInput = MouseInput.MouseMove(location, timestamp);

            return(NativeInput.SendInput(Structs.Input.CreateMouseInputs(mouseInput)));
        }
        /// <summary>
        ///     Generate mouse button(s) Up
        /// </summary>
        /// <param name="mouseButtons">MouseButtons specifying which buttons are up</param>
        /// <param name="location">optional NativePoint to specify where the mouse up takes place</param>
        /// <param name="timestamp">The time stamp for the event</param>
        /// <returns>number of input events generated</returns>
        public static uint MouseUp(MouseButtons mouseButtons, NativePoint?location = null, uint?timestamp = null)
        {
            var mouseInput = MouseInput.MouseUp(mouseButtons, location, timestamp);

            return(NativeInput.SendInput(Structs.Input.CreateMouseInputs(mouseInput)));
        }
 /// <summary>
 ///     Generate mouse button(s) click
 /// </summary>
 /// <param name="mouseButtons">MouseButtons specifying which buttons are pressed</param>
 /// <param name="location">optional NativePoint to specify where the mouse click takes place</param>
 /// <param name="timestamp">The time stamp for the event</param>
 /// <returns>number of input events generated</returns>
 public static uint MouseClick(MouseButtons mouseButtons, NativePoint?location = null, uint?timestamp = null)
 {
     return(NativeInput.SendInput(Structs.Input.CreateMouseInputs(MouseInput.MouseDown(mouseButtons, location, timestamp), MouseInput.MouseDown(mouseButtons, location, timestamp))));
 }