/// <summary> /// Unsubscribes from relative mouse movement /// </summary> public void UnsubscribeMouseMoveRelative() { if (_mouseMoveRelativeMapping == null) { return; } if (!_mouseMoveRelativeMapping.Concurrent && WorkerThreads.ContainsKey(8)) { WorkerThreads[8].Dispose(); WorkerThreads.TryRemove(8, out _); } _mouseMoveRelativeMapping = null; }
/// <summary> /// Unsubscribes from absolute mouse movement /// </summary> public void UnsubscribeMouseMoveAbsolute() { if (_mouseMoveAbsoluteMapping == null) { return; } if (!_mouseMoveAbsoluteMapping.Concurrent && WorkerThreads.ContainsKey(7)) { WorkerThreads[7].Dispose(); WorkerThreads.TryRemove(7, out _); } _mouseMoveAbsoluteMapping = null; }