public static String Name(MouseOffset id) { var pair = AllNamesMouse.FirstOrDefault(n => n.Key == id); if (pair.Equals(new KeyValuePair<MouseOffset, String>())) return "Unknown"; else return pair.Value; }
protected MouseMove(int X, int Y, MouseOffset Offset) { this.X = X; this.Y = Y; this.Offset = Offset; Initialize(CreateChildren()); }
internal Mouse(System.Windows.Forms.Control owner, bool useWindowsCursor) { // This is needed to hide and show the Windows cursor mOwner = owner; mLastClickTime = new double[NumberOfButtons]; mLastPushTime = new double[NumberOfButtons]; mDoubleClick = new bool[NumberOfButtons]; mDoublePush = new bool[NumberOfButtons]; mMouseButtonClicked = new bool[NumberOfButtons]; mMouseButtonPushed = new bool[NumberOfButtons]; mMouseOffset = new MouseOffset[NumberOfButtons]; mMouseOffset[(int)MouseButtons.LeftButton] = MouseOffset.Button0; mMouseOffset[(int)MouseButtons.RightButton] = MouseOffset.Button1; mMouseOffset[(int)MouseButtons.MiddleButton] = MouseOffset.Button2; mMouseOffset[(int)MouseButtons.XButton1] = MouseOffset.Button3; mMouseOffset[(int)MouseButtons.XButton2] = MouseOffset.Button4; mMouseDevice = new Device(SystemGuid.Mouse); mMouseDevice.SetDataFormat(DeviceDataFormat.Mouse); if (useWindowsCursor) { mWindowsCursorVisible = true; mMouseDevice.SetCooperativeLevel(owner, CooperativeLevelFlags.Foreground | CooperativeLevelFlags.NonExclusive); } else { mWindowsCursorVisible = false; mMouseDevice.SetCooperativeLevel(owner, CooperativeLevelFlags.Foreground | CooperativeLevelFlags.Exclusive); } try { mMouseDevice.Acquire(); } catch (InputLostException) { // return; } catch (OtherApplicationHasPriorityException) { // return; } catch (System.ArgumentException) { } // i don't know why this doesn't work, but input still works without it. mMouseDevice.Properties.BufferSize = 5; }
public static MouseMove Create(int X, int Y, MouseOffset Offset) { MouseMove ret = Offset switch { MouseOffset.None => null, MouseOffset.Absolute => new MouseMoveAbsolute(X, Y), MouseOffset.Relative => new MouseMoveRelative(X, Y), MouseOffset.AbsoluteVirtual => new MouseMoveVirtual(X, Y), _ => throw new NotImplementedException() }; return(ret); }
public DMouseEventArgs(MouseUpdate state) : base(state) { Offset = state.Offset; Value = state.Value; X = System.Windows.Forms.Control.MousePosition.X; Y = System.Windows.Forms.Control.MousePosition.Y; if (state.Value == 0) { Released = true; Pressed = false; } else { Pressed = false; Released = true; } }
public static MouseFlag ToMouseFlags(this MouseOffset This) { var ret = default(MouseFlag); switch (This) { case MouseOffset.Relative: ret = MouseFlag.Move | MouseFlag.Relative; break; case MouseOffset.Absolute: ret = MouseFlag.Move | MouseFlag.Absolute; break; case MouseOffset.AbsoluteVirtual: ret = MouseFlag.Move | MouseFlag.Absolute | MouseFlag.VirtualDesk; break; default: throw new InvalidCastException($@"Unable to convert {This} to a valid {nameof(MouseFlag)}. Accepted values are {MouseOffset.Relative}, {MouseOffset.Absolute}, and {MouseOffset.AbsoluteVirtual}."); } return(ret); }
public void AddAction(MouseOffset key, Action<DirectInputData> action) { if (action == null) return; if (!_actionMap.Keys.Contains(key)) _actionMap.Add(key, new HashSet<Action<DirectInputData>>()); _actionMap[key].Add(action); }
public void DeleteActions(MouseOffset key) { _actionMap.Remove(key); }
public bool GetMouseButtonReleased(MouseOffset mouse) { return(input.prevMouseButtons[(int)mouse] && !input.currentMouseButtons[(int)mouse]); }
public bool GetMouseButtonPressed(MouseOffset mouse) { return(!input.prevMouseButtons[(int)mouse] && input.currentMouseButtons[(int)mouse]); }
public bool GetMouseButton(MouseOffset mouse) { return(input.currentMouseButtons[(int)mouse]); }
private void UpdateMouseSensitivity(MouseOffset offset, int value) { if (_deviceManager == null || _deviceManager.Mouses == null ) return; lock (lockMouses) { foreach (var mouse in _deviceManager.Mouses) { if (value >= 1) mouse.Sensitivity[offset] = value; } } }