private void InputEventsKeyDown(object sender, KeyboardInputEventArgs e) { if (Utils.Time.GetMillisecondsSinceEpoch() - previoustime > 1000L) { return; //This event wasn't used for at least 1 second } if (previous_key == e.Key) { return; } long?currentTime = null; Devices.DeviceKeys device_key = e.GetDeviceKey(); lock (TimeOfLastPress) { if (TimeOfLastPress.ContainsKey(device_key)) { if ((currentTime = Utils.Time.GetMillisecondsSinceEpoch()) - TimeOfLastPress[device_key] < pressBuffer) { return; } else { TimeOfLastPress.Remove(device_key); } } } if (device_key != Devices.DeviceKeys.NONE && !Properties.Sequence.keys.Contains(device_key)) { PointF pt = Effects.GetBitmappingFromDeviceKey(device_key).Center; if (pt != new PointF(0, 0)) { lock (TimeOfLastPress) TimeOfLastPress.Add(device_key, currentTime ?? Utils.Time.GetMillisecondsSinceEpoch()); _input_list.Add(CreateInputItem(device_key, pt)); previous_key = e.Key; } } }
private void InputEventsOnKeyUp(object sender, KeyboardInputEventArgs e) { if (IsRecording()) { DeviceKeys key = e.GetDeviceKey(); if (key != DeviceKeys.NONE) { if (HasRecorded(key)) { RemoveKey(key); } else { AddKey(key); } } } }
private void InputEventsKeyUp(object sender, KeyboardInputEventArgs e) { if (Utils.Time.GetMillisecondsSinceEpoch() - previoustime > 1000L) { return; //This event wasn't used for at least 1 second } Devices.DeviceKeys deviceKey = e.GetDeviceKey(); if (deviceKey != Devices.DeviceKeys.NONE) { foreach (var input in _input_list.ToArray()) { if (input.waitOnKeyUp && input.key == deviceKey) { input.waitOnKeyUp = false; } } } if (previous_key == e.Key) { previous_key = Keys.None; } }