Esempio n. 1
0
        public bool RawKeyEvent(AvnRawKeyEventType type, uint timeStamp, AvnInputModifiers modifiers, uint key)
        {
            Dispatcher.UIThread.RunJobs(DispatcherPriority.Input + 1);

            var args = new RawKeyEventArgs(_keyboard, timeStamp, (RawKeyEventType)type, (Key)key, (InputModifiers)modifiers);

            Input?.Invoke(args);

            return(args.Handled);
        }
Esempio n. 2
0
        private void KListenerKeyUp(object sender, RawKeyEventArgs args)
        {
            Console.WriteLine(args.Key.ToString());

            if (ContainsKey(args.Key))
            {
                pressed[args.Key] = false;
                ((MainWindow)Current.MainWindow).HighlightButton(args.Key, false);
            }
        }
Esempio n. 3
0
        void KListener_KeyDown(object sender, RawKeyEventArgs args)
        {
            var text = args.Key.ToString();
            var m    = args;

            _keysPressedIntowSecound.Add(args.Key);
            if (tm == null || !tm.IsEnabled)
            {
                TmBind();
            }
        }
Esempio n. 4
0
        void KListener_KeyDown(object sender, RawKeyEventArgs args)
        {
            if (args.Key.ToString() == "F10")
            {
                WindowControl.Current.TakeScreenShot();
            }
            #region .Do(debug)
#if DEBUG
            Console.WriteLine(args.Key.ToString());
#endif
            #endregion
        }
Esempio n. 5
0
        protected override bool OnKeyPressEvent(Gdk.EventKey evnt)
        {
            var e = new RawKeyEventArgs(
                GtkKeyboardDevice.Instance,
                evnt.Time,
                RawKeyEventType.KeyDown,
                GtkKeyboardDevice.ConvertKey(evnt.Key),
                new string((char)Gdk.Keyval.ToUnicode((uint)evnt.Key), 1));

            this.Input(e);
            return(true);
        }
        private void Kb_KeyDown(object sender, RawKeyEventArgs args)
        {
            var keys = _settings.Get("keyList");

            bool exists = false;

            foreach (var key in keys)
            {
                if (key.Contains(args.VKCode.ToString()))
                {
                    exists = true;
                    break;
                }
            }


            BeginInvoke((MethodInvoker)(() =>
            {
                keyboardCounterKeyClick.Close();
                keyboardCounterKeyClick.Dispose();
                keyboardCounterKeyClick = null;
                if (!exists)
                {
                    //get file name to save
                    var filenameFrm = new ClickCounterFileName();
                    filenameFrm.ShowDialog();
                    string filename = filenameFrm.textBox_FileName.Text;
                    filenameFrm.Dispose();

                    //check if filename is valid
                    string invalidChars = new string(Path.GetInvalidFileNameChars());
                    foreach (var invalidChar in invalidChars)
                    {
                        if (filename.Contains(invalidChar))
                        {
                            return;
                        }
                    }


                    if (filename.Trim() != string.Empty)
                    {
                        if (!filename.EndsWith(".txt"))
                        {
                            filename += ".txt";
                        }

                        AddKey(args.VKCode, filename.Trim());
                        this.dataGridView1.Rows.Add(args.Key, "0", filename.Trim());
                    }
                }
            }));
        }
Esempio n. 7
0
        void KeyboardListenerKeyDown(object sender, RawKeyEventArgs args)
        {
            _window.Dispatcher.BeginInvoke(new Action(() =>
            {
                if (args.Key == Key.LeftCtrl)
                {
                    _window.Show();
                }
            }), null);

            //_window.Activate();
        }
Esempio n. 8
0
        private void OnKeyPress(object sender, RawKeyEventArgs args)
        {
            if (enabled && isFocused)
            {
                var gameKeyBinds = this.keyBinds.GetKeyBinds((IGame)gamesComboBox.SelectedItem);

                if (gameKeyBinds.ContainsKey(args.Key))
                {
                    SendKeys.SendWait(gameKeyBinds[args.Key]);
                }
            }
        }
Esempio n. 9
0
 private void _keyboardListener_KeyUp(object sender, RawKeyEventArgs args)
 {
     if (_keyList.Contains(args.VKCode))
     {
         if (_keyPressed[args.VKCode])
         {
             _keyCount[args.VKCode]++;
             _saver.Save(_filenames[args.VKCode], _keyCount[args.VKCode].ToString());
             _keyPressed[args.VKCode] = false;
             _keysPerX?.AddToKeys();
         }
     }
 }
Esempio n. 10
0
        private void OnKeyPressed(object sender, RawKeyEventArgs e)
        {
            Event = e;
            if (_keyboardDevices.TryGetValue(e.Device, out RawKeyboardDevice dev))
            {
                Device = dev;
            }
            if (e.Device == new IntPtr(0x1b21034f) && ShouldHandle.IsChecked == true)
            {
                e.Handled = true;
            }

            DeviceCount = _keyboardDevices.Count;
        }
Esempio n. 11
0
 void KListener_KeyUp(object sender, RawKeyEventArgs args)
 {
     if (args.Key == Key.LeftCtrl || args.Key == Key.RightCtrl)
     {
         ctrl = false;
     }
     else if (args.Key == Key.LeftShift || args.Key == Key.RightShift)
     {
         shift = false;
     }
     else if (args.Key == Key.LeftAlt || args.Key == Key.RightAlt)
     {
         alt = false;
     }
 }
Esempio n. 12
0
        private void ProcessKeyEvent(EventKey evnt)
        {
            _lastKeyEventTimestamp = evnt.Time;
            if (_imContext.FilterKeypress(evnt))
            {
                return;
            }
            var e = new RawKeyEventArgs(
                GtkKeyboardDevice.Instance,
                evnt.Time,
                evnt.Type == EventType.KeyPress ? RawKeyEventType.KeyDown : RawKeyEventType.KeyUp,
                GtkKeyboardDevice.ConvertKey(evnt.Key), GetModifierKeys(evnt.State));

            Input(e);
        }
Esempio n. 13
0
        void keyListener_KeyDown(object sender, RawKeyEventArgs args)
        {
            log.Debug("press key : " + args.Key.ToString());

            //if (args.Key == Key.G)
            //{
            //    InsertTopicImage();

            //}
            //else if (args.Key == Key.H)
            //{
            //    InsertAnswerImage();
            //}
            // not need else
        }
Esempio n. 14
0
        private void RawKeyDown(RawKeyEventArgs e)
        {
            const InputModifiers modifiers = InputModifiers.Control | InputModifiers.Shift;

            if ((e.Modifiers) == modifiers)
            {
                var point   = MouseDevice.Instance.GetPosition(Root);
                var control = Root.GetVisualsAt(point).FirstOrDefault(x => !(x is AdornerLayer));

                if (control != null)
                {
                    var vm = (DevToolsViewModel)DataContext;
                    vm.SelectControl((IControl)control);
                }
            }
        }
Esempio n. 15
0
        private void RawKeyDown(RawKeyEventArgs e)
        {
            const InputModifiers modifiers = InputModifiers.Control | InputModifiers.Shift;

            if ((e.Modifiers) == modifiers)
            {
                var point   = (Root.VisualRoot as IInputRoot)?.MouseDevice?.GetPosition(Root) ?? default(Point);
                var control = Root.GetVisualsAt(point, x => (!(x is AdornerLayer) && x.IsVisible))
                              .FirstOrDefault();

                if (control != null)
                {
                    var vm = (DevToolsViewModel)DataContext;
                    vm.SelectControl((IControl)control);
                }
            }
        }
Esempio n. 16
0
 private void _keyboardListener_KeyUp(object sender, RawKeyEventArgs args)
 {
     if (_keyList.Contains(args.VKCode))
     {
         if (_keyPressed[args.VKCode])
         {
             _keyCount[args.VKCode]++;
             if (!disableSavingToDisk)
             {
                 _saver.Save(_filenames[args.VKCode], _keyCount[args.VKCode].ToString());
             }
             _fileMapManager.Write("SC-" + _filenames[args.VKCode].Replace(".txt", ""), _keyCount[args.VKCode].ToString());
             _keyPressed[args.VKCode] = false;
             _keysPerX?.AddToKeys();
         }
     }
 }
Esempio n. 17
0
        void KListener_KeyDown(object sender, RawKeyEventArgs args)
        {
            switch (args.Key)
            {
            case Key.MediaPlayPause:
                Application.Current.Dispatcher.Invoke(() => MusicManager.CSCoreEngine.TogglePlayPause());
                break;

            case Key.MediaPreviousTrack:
                Application.Current.Dispatcher.Invoke(() => MusicManager.GoBackward());
                break;

            case Key.MediaNextTrack:
                Application.Current.Dispatcher.Invoke(() => MusicManager.GoForward());
                break;
            }
        }
Esempio n. 18
0
        private void KListener_KeyUp(object sender, RawKeyEventArgs args)
        {
           if (args.Key == System.Windows.Input.Key.Y)
               up = 0;
           if (args.Key == System.Windows.Input.Key.H)
               up = 0;

            if (args.Key == System.Windows.Input.Key.A)
                side = 0;
            if (args.Key == System.Windows.Input.Key.D)
                side = 0;
            if (args.Key == System.Windows.Input.Key.S)
                forward = 0;
            if (args.Key == System.Windows.Input.Key.W)
                forward = 0;
            if (args.Key == System.Windows.Input.Key.LeftShift)
                shift = 1;
        }
Esempio n. 19
0
        public void WhenRightArrowKeyPressed_ShouldFireOnMoveRight()
        {
            // arrange
            var wasCalled = false;

            keyboardInputProvider.OnMoveRight += (o, e) => wasCalled = true;
            bool isSysKey = false;
            var  keyArgs  = new RawKeyEventArgs(KeyCodesHelper.RightArrow, isSysKey, "Right");

            keyArgs.Key = Key.Right;

            // act
            keyboardListenerMock.Raise(
                x => x.KeyDown += null, keyArgs);

            // assert
            Assert.IsTrue(wasCalled);
        }
Esempio n. 20
0
        public void WhenDownArrowKeyReleased_ShouldFireOnMoveBackwardStopped()
        {
            // arrange
            var wasCalled = false;

            keyboardInputProvider.OnMoveBackwardStopped += (o, e) => wasCalled = true;
            bool isSysKey = false;
            var  keyArgs  = new RawKeyEventArgs(KeyCodesHelper.DownArrow, isSysKey, "Down");

            keyArgs.Key = Key.Down;

            // act
            keyboardListenerMock.Raise(
                x => x.KeyUp += null, keyArgs);

            // assert
            Assert.IsTrue(wasCalled);
        }
Esempio n. 21
0
        private unsafe bool OnKeyEvent(IntPtr w, IntPtr pev, IntPtr userData)
        {
            var evnt = (GdkEventKey *)pev;

            _lastKbdEvent = evnt->time;
            if (Native.GtkImContextFilterKeypress(_imContext, pev))
            {
                return(true);
            }
            var e = new RawKeyEventArgs(
                Gtk3Platform.Keyboard,
                evnt->time,
                evnt->type == GdkEventType.KeyPress ? RawKeyEventType.KeyDown : RawKeyEventType.KeyUp,
                Avalonia.Gtk.Common.KeyTransform.ConvertKey((GdkKey)evnt->keyval), GetModifierKeys((GdkModifierType)evnt->state));

            Input(e);
            return(true);
        }
Esempio n. 22
0
        private void HandleKeyUp(RawKeyEventArgs args)
        {
            if (Context.IsSendingKey)
            {
                return;
            }

            if (!IsActive)
            {
                return;
            }

            if (args.Key == Context.NextUpKeyToIgnore)
            {
                args.IsHandled            = true;
                Context.NextUpKeyToIgnore = null;
            }
        }
Esempio n. 23
0
 void KListener_KeyDown(object sender, RawKeyEventArgs args)
 {
     try
     {
         HandleKeyDown(args);
     }
     catch (Exception ex)
     {
         try
         {
             if (Container != null)
             {
                 Container.Log(true, "Generic error during KeyDown handling: " + ex.Message);
             }
         }
         catch { }
     }
 }
        async ValueTask <bool> IX11InputMethodControl.HandleEventAsync(RawKeyEventArgs args, int keyVal, int keyCode)
        {
            try
            {
                return(await _queue.EnqueueAsync(async() => await HandleKeyCore(args, keyVal, keyCode)));
            }
            // Disconnected
            catch (OperationCanceledException)
            {
                return(false);
            }
            // Error, disconnect
            catch (Exception e)
            {
                await QueueOnError(e);

                return(false);
            }
        }
Esempio n. 25
0
        public bool ProcessRawInput(IntPtr hdevice)
        {
            int size = 0;

            Win32Methods.GetRawInputData(hdevice, DataCommand.RID_INPUT, IntPtr.Zero, ref size, Marshal.SizeOf(typeof(RawInputHeader)));
            InputData rawBuffer;

            if (Win32Methods.GetRawInputData(hdevice, DataCommand.RID_INPUT, out rawBuffer, ref size, Marshal.SizeOf(typeof(RawInputHeader))) != size)
            {
                Debug.WriteLine("Error getting the rawinput buffer");
                return(false);
            }

            int vKey     = rawBuffer.data.keyboard.VKey;
            int makecode = rawBuffer.data.keyboard.Makecode;
            int flags    = rawBuffer.data.keyboard.Flags;

            if (vKey == Win32Consts.KEYBOARD_OVERRUN_MAKE_CODE)
            {
                return(false);
            }

            var  isE0BitSet    = ((flags & Win32Consts.RI_KEY_E0) != 0);
            bool isBreakBitSet = (flags & Win32Consts.RI_KEY_BREAK) != 0;

            uint message = rawBuffer.data.keyboard.Message;
            Key  key     = KeyInterop.KeyFromVirtualKey(AdjustVirtualKey(rawBuffer, vKey, isE0BitSet, makecode));
            EventHandler <RawKeyEventArgs> keyPressed = KeyPressed;

            if (keyPressed != null)
            {
                var rawInputEventArgs = new RawKeyEventArgs(rawBuffer.header.hDevice, isBreakBitSet ? KeyPressState.Up : KeyPressState.Down, message, key, vKey);
                keyPressed(this, rawInputEventArgs);
                if (rawInputEventArgs.Handled)
                {
                    //Remove the message
                    MSG msg;
                    Win32Methods.PeekMessage(out msg, IntPtr.Zero, Win32Consts.WM_KEYDOWN, Win32Consts.WM_KEYUP, Win32Consts.PM_REMOVE);
                }
                return(rawInputEventArgs.Handled);
            }
            return(false);
        }
Esempio n. 26
0
        /// <summary>
        /// KeyDown event
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        void KListener_KeyDown(object sender, RawKeyEventArgs args)
        {
            try
            {
                SetKeyDown(args.Key);

                // Ctrl + F11 (Action on foreground app)
                if (IsKeyDown(Key.LeftCtrl) && IsKeyDown(Key.F11))
                {
                    WindowHandler.ChangeBorderStyle(WindowLib.GetForegroundWindow());
                }
                // Ctrl + F12 (Adds / Removes foreground app to / from list)
                else if (IsKeyDown(Key.LeftCtrl) && IsKeyDown(Key.F12))
                {
                    ProcessInfos.AddOrRemove(this.Processes);
                }
            }
            catch { }
        }
Esempio n. 27
0
        private void KListener_KeyDown(object sender, RawKeyEventArgs args)
        {
            if (args.Key == System.Windows.Input.Key.Y)
                up = 2;
            if (args.Key == System.Windows.Input.Key.H)
                up = -1;
            if (args.Key == System.Windows.Input.Key.U)
                glide = !glide;

            if (args.Key == System.Windows.Input.Key.A)
                side = -1;
            if (args.Key == System.Windows.Input.Key.D)
                side = 1;
            if (args.Key == System.Windows.Input.Key.S)
                forward = 1;
            if (args.Key == System.Windows.Input.Key.W)
                forward = -1;
            if (args.Key == System.Windows.Input.Key.LeftShift)
                shift = 2;
        }
Esempio n. 28
0
        private bool?DispatchKeyEventInternal(KeyEvent e, out bool callBase)
        {
            var unicodeTextInput = UnicodeTextInput(e);

            if (e.Action == KeyEventActions.Multiple && unicodeTextInput == null)
            {
                callBase = true;
                return(null);
            }

            var rawKeyEvent = new RawKeyEventArgs(
                AndroidKeyboardDevice.Instance,
                Convert.ToUInt64(e.EventTime),
                _view.InputRoot,
                e.Action == KeyEventActions.Down ? RawKeyEventType.KeyDown : RawKeyEventType.KeyUp,
                AndroidKeyboardDevice.ConvertKey(e.KeyCode), GetModifierKeys(e));

            _view.Input(rawKeyEvent);

            if ((e.Action == KeyEventActions.Down && e.UnicodeChar >= 32) ||
                unicodeTextInput != null)
            {
                var rawTextEvent = new RawTextInputEventArgs(
                    AndroidKeyboardDevice.Instance,
                    Convert.ToUInt32(e.EventTime),
                    _view.InputRoot,
                    unicodeTextInput ?? Convert.ToChar(e.UnicodeChar).ToString()
                    );
                _view.Input(rawTextEvent);
            }

            if (e.Action == KeyEventActions.Up)
            {
                //nothing to do here more call base no need of more events
                callBase = true;
                return(null);
            }

            callBase = false;
            return(false);
        }
Esempio n. 29
0
        private void OnKKDown(object sender, RawKeyEventArgs args)
        {
            switch (args.Key)
            {
            case Keys.Q:
                _recordCursorPos = !_recordCursorPos;
                break;

            case Keys.R:
                SetSavedColor(Cursor.Position);
                break;

            case Keys.Left:
                if (_recordCursorPos)
                {
                    Cursor.Position = new Point(Cursor.Position.X - 1, Cursor.Position.Y);
                }
                break;

            case Keys.Right:
                if (_recordCursorPos)
                {
                    Cursor.Position = new Point(Cursor.Position.X + 1, Cursor.Position.Y);
                }
                break;

            case Keys.Down:
                if (_recordCursorPos)
                {
                    Cursor.Position = new Point(Cursor.Position.X, Cursor.Position.Y + 1);
                }
                break;

            case Keys.Up:
                if (_recordCursorPos)
                {
                    Cursor.Position = new Point(Cursor.Position.X, Cursor.Position.Y - 1);
                }
                break;
            }
        }
Esempio n. 30
0
        public void Impl_Input_Should_Pass_Input_To_InputManager()
        {
            using (PerspexLocator.EnterScope())
            {
                RegisterServices();

                var impl = new Mock <ITopLevelImpl>();
                impl.SetupAllProperties();
                var target = new TestTopLevel(impl.Object);

                var input = new RawKeyEventArgs(
                    new Mock <IKeyboardDevice>().Object,
                    0,
                    RawKeyEventType.KeyDown,
                    Key.A, InputModifiers.None);
                impl.Object.Input(input);

                var inputManagerMock = Mock.Get(InputManager.Instance);
                inputManagerMock.Verify(x => x.Process(input));
            }
        }
Esempio n. 31
0
 private void ProcessKeyEvent(EventKey evnt)
 {
     
     _lastKeyEventTimestamp = evnt.Time;
     if (_imContext.FilterKeypress(evnt))
         return;
     var e = new RawKeyEventArgs(
         GtkKeyboardDevice.Instance,
         evnt.Time,
         evnt.Type == EventType.KeyPress ? RawKeyEventType.KeyDown : RawKeyEventType.KeyUp,
         GtkKeyboardDevice.ConvertKey(evnt.Key), GetModifierKeys(evnt.State));
     Input(e);
 }
Esempio n. 32
0
        protected virtual IntPtr WndProc(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam)
        {
            bool unicode = UnmanagedMethods.IsWindowUnicode(hWnd);

            const double wheelDelta = 120.0;
            uint timestamp = unchecked((uint)UnmanagedMethods.GetMessageTime());

            RawInputEventArgs e = null;

            WindowsMouseDevice.Instance.CurrentWindow = this;

            switch ((UnmanagedMethods.WindowsMessage)msg)
            {
                case UnmanagedMethods.WindowsMessage.WM_ACTIVATE:
                    var wa = (UnmanagedMethods.WindowActivate)((int)wParam & 0xffff);

                    switch (wa)
                    {
                        case UnmanagedMethods.WindowActivate.WA_ACTIVE:
                        case UnmanagedMethods.WindowActivate.WA_CLICKACTIVE:
                            _isActive = true;
                            Activated?.Invoke();
                            break;

                        case UnmanagedMethods.WindowActivate.WA_INACTIVE:
                            _isActive = false;
                            Deactivated?.Invoke();
                            break;
                    }

                    return IntPtr.Zero;

                case UnmanagedMethods.WindowsMessage.WM_DESTROY:
                    if (Closed != null)
                    {
                        UnmanagedMethods.UnregisterClass(_className, Marshal.GetHINSTANCE(GetType().Module));
                        Closed();
                    }

                    return IntPtr.Zero;

                case UnmanagedMethods.WindowsMessage.WM_DPICHANGED:
                    var dpi = (int)wParam & 0xffff;
                    var newDisplayRect = (UnmanagedMethods.RECT)Marshal.PtrToStructure(lParam, typeof(UnmanagedMethods.RECT));
                    Position = new Point(newDisplayRect.left, newDisplayRect.top);
                    _scaling = dpi / 96.0;
                    ScalingChanged?.Invoke(_scaling);
                    return IntPtr.Zero;

                case UnmanagedMethods.WindowsMessage.WM_KEYDOWN:
                case UnmanagedMethods.WindowsMessage.WM_SYSKEYDOWN:
                    e = new RawKeyEventArgs(
                            WindowsKeyboardDevice.Instance,
                            timestamp,
                            RawKeyEventType.KeyDown,
                            KeyInterop.KeyFromVirtualKey((int)wParam), WindowsKeyboardDevice.Instance.Modifiers);
                    break;

                case UnmanagedMethods.WindowsMessage.WM_KEYUP:
                case UnmanagedMethods.WindowsMessage.WM_SYSKEYUP:
                    e = new RawKeyEventArgs(
                            WindowsKeyboardDevice.Instance,
                            timestamp,
                            RawKeyEventType.KeyUp,
                            KeyInterop.KeyFromVirtualKey((int)wParam), WindowsKeyboardDevice.Instance.Modifiers);
                    break;
                case UnmanagedMethods.WindowsMessage.WM_CHAR:
                    // Ignore control chars
                    if (wParam.ToInt32() >= 32)
                    {
                        e = new RawTextInputEventArgs(WindowsKeyboardDevice.Instance, timestamp,
                            new string((char)wParam.ToInt32(), 1));
                    }

                    break;

                case UnmanagedMethods.WindowsMessage.WM_LBUTTONDOWN:
                case UnmanagedMethods.WindowsMessage.WM_RBUTTONDOWN:
                case UnmanagedMethods.WindowsMessage.WM_MBUTTONDOWN:
                    e = new RawMouseEventArgs(
                        WindowsMouseDevice.Instance,
                        timestamp,
                        _owner,
                        msg == (int)UnmanagedMethods.WindowsMessage.WM_LBUTTONDOWN
                            ? RawMouseEventType.LeftButtonDown
                            : msg == (int)UnmanagedMethods.WindowsMessage.WM_RBUTTONDOWN
                                ? RawMouseEventType.RightButtonDown
                                : RawMouseEventType.MiddleButtonDown,
                        DipFromLParam(lParam), GetMouseModifiers(wParam));
                    break;

                case UnmanagedMethods.WindowsMessage.WM_LBUTTONUP:
                case UnmanagedMethods.WindowsMessage.WM_RBUTTONUP:
                case UnmanagedMethods.WindowsMessage.WM_MBUTTONUP:
                    e = new RawMouseEventArgs(
                        WindowsMouseDevice.Instance,
                        timestamp,
                        _owner,
                        msg == (int) UnmanagedMethods.WindowsMessage.WM_LBUTTONUP
                            ? RawMouseEventType.LeftButtonUp
                            : msg == (int) UnmanagedMethods.WindowsMessage.WM_RBUTTONUP
                                ? RawMouseEventType.RightButtonUp
                                : RawMouseEventType.MiddleButtonUp,
                        DipFromLParam(lParam), GetMouseModifiers(wParam));
                    break;

                case UnmanagedMethods.WindowsMessage.WM_MOUSEMOVE:
                    if (!_trackingMouse)
                    {
                        var tm = new UnmanagedMethods.TRACKMOUSEEVENT
                        {
                            cbSize = Marshal.SizeOf(typeof(UnmanagedMethods.TRACKMOUSEEVENT)),
                            dwFlags = 2,
                            hwndTrack = _hwnd,
                            dwHoverTime = 0,
                        };

                        UnmanagedMethods.TrackMouseEvent(ref tm);
                    }

                    e = new RawMouseEventArgs(
                        WindowsMouseDevice.Instance,
                        timestamp,
                        _owner,
                        RawMouseEventType.Move,
                        DipFromLParam(lParam), GetMouseModifiers(wParam));

                    break;

                case UnmanagedMethods.WindowsMessage.WM_MOUSEWHEEL:
                    e = new RawMouseWheelEventArgs(
                        WindowsMouseDevice.Instance,
                        timestamp,
                        _owner,
                        ScreenToClient(DipFromLParam(lParam)),
                        new Vector(0, ((int)wParam >> 16) / wheelDelta), GetMouseModifiers(wParam));
                    break;

                case UnmanagedMethods.WindowsMessage.WM_MOUSEHWHEEL:
                    e = new RawMouseWheelEventArgs(
                        WindowsMouseDevice.Instance,
                        timestamp,
                        _owner,
                        ScreenToClient(DipFromLParam(lParam)),
                        new Vector(-((int)wParam >> 16) / wheelDelta,0), GetMouseModifiers(wParam));
                    break;

                case UnmanagedMethods.WindowsMessage.WM_MOUSELEAVE:
                    _trackingMouse = false;
                    e = new RawMouseEventArgs(
                        WindowsMouseDevice.Instance,
                        timestamp,
                        _owner,
                        RawMouseEventType.LeaveWindow,
                        new Point(), WindowsKeyboardDevice.Instance.Modifiers);
                    break;

                case UnmanagedMethods.WindowsMessage.WM_NCLBUTTONDOWN:
                case UnmanagedMethods.WindowsMessage.WM_NCRBUTTONDOWN:
                case UnmanagedMethods.WindowsMessage.WM_NCMBUTTONDOWN:
                    e = new RawMouseEventArgs(
                        WindowsMouseDevice.Instance,
                        timestamp,
                        _owner,
                        msg == (int)UnmanagedMethods.WindowsMessage.WM_NCLBUTTONDOWN
                            ? RawMouseEventType.NonClientLeftButtonDown
                            : msg == (int)UnmanagedMethods.WindowsMessage.WM_NCRBUTTONDOWN
                                ? RawMouseEventType.RightButtonDown
                                : RawMouseEventType.MiddleButtonDown,
                        new Point(0, 0), GetMouseModifiers(wParam));
                    break;

                case UnmanagedMethods.WindowsMessage.WM_PAINT:
                    if (Paint != null)
                    {
                        UnmanagedMethods.PAINTSTRUCT ps;

                        if (UnmanagedMethods.BeginPaint(_hwnd, out ps) != IntPtr.Zero)
                        {
                            UnmanagedMethods.RECT r;
                            UnmanagedMethods.GetUpdateRect(_hwnd, out r, false);
                            var f = Scaling;
                            Paint(new Rect(r.left / f, r.top / f, (r.right - r.left) / f, (r.bottom - r.top) / f));
                            UnmanagedMethods.EndPaint(_hwnd, ref ps);
                        }
                    }

                    return IntPtr.Zero;

                case UnmanagedMethods.WindowsMessage.WM_SIZE:
                    if (Resized != null &&
                        (wParam == (IntPtr)UnmanagedMethods.SizeCommand.Restored ||
                         wParam == (IntPtr)UnmanagedMethods.SizeCommand.Maximized))
                    {
                        var clientSize = new Size((int)lParam & 0xffff, (int)lParam >> 16);
                        Resized(clientSize / Scaling);
                    }

                    return IntPtr.Zero;
            }

            if (e != null && Input != null)
            {
                Input(e);

                if (e.Handled)
                {
                    return IntPtr.Zero;
                }
            }

            return UnmanagedMethods.DefWindowProc(hWnd, msg, wParam, lParam);
        }
Esempio n. 33
0
        public void Impl_Input_Should_Pass_Input_To_InputManager()
        {
            var inputManagerMock = new Mock<IInputManager>();
            var services = TestServices.StyledWindow.With(inputManager: inputManagerMock.Object);

            using (UnitTestApplication.Start(services))
            {
                var impl = new Mock<ITopLevelImpl>();
                impl.SetupAllProperties();

                var target = new TestTopLevel(impl.Object);

                var input = new RawKeyEventArgs(
                    new Mock<IKeyboardDevice>().Object,
                    0,
                    RawKeyEventType.KeyDown,
                    Key.A, InputModifiers.None);
                impl.Object.Input(input);

                inputManagerMock.Verify(x => x.ProcessInput(input));
            }
        }
Esempio n. 34
0
        private void KListener_KeyDown(object sender, RawKeyEventArgs args)
        {
            //Console.WriteLine(args.Key.ToString());

            if (args.Key.ToString() == "Return") {

                // Verifica se a janela está focalizada
                if (IsActive) {

                    // Seja não estiver editando
                    if (editando == false) {

                        tbLeitor.Focus();

                        editando = true;

                        //Console.WriteLine("Editando");
                    }

                    else {

                        //Console.WriteLine("Devo inicializar");

                        editando = false;
                        IncluirLeitor(tbLeitor.Text);
                        tbLeitor.Text = "";

                    }

                }

            }
        }