public virtual void KeyDown(object sender, BoundKeyEventArgs e) { if (!_enabled || GetKeyState(e.Function)) { return; //Don't repeat keys that are already down. } SetKeyState(e.Function, true); var message = new BoundKeyChangedMessage(e.Function, e.FunctionState); RaiseEvent(message); RaiseNetworkEvent(message); }
private void Disable() { _enabled = false; //Remove all active key states and send keyup messages for them. foreach (var state in _keyStates.ToList()) { var message = new BoundKeyChangedMessage(state.Key, BoundKeyState.Up); RaiseEvent(message); RaiseNetworkEvent(message); _keyStates.Remove(state.Key); } }
public virtual void KeyUp(object sender, BoundKeyEventArgs e) { if (!_enabled) { return; } SetKeyState(e.Function, false); var message = new BoundKeyChangedMessage(e.Function, e.FunctionState); RaiseEvent(message); RaiseNetworkEvent(message); }