/// <summary> /// Creates a new instance of <see cref="MouseKeyHook"/>. /// </summary> public MouseKeyHook(MouseClickSettings MouseClickSettings, KeystrokesSettings KeystrokesSettings, KeymapViewModel Keymap, string FileName, Func <TimeSpan> Elapsed) { _mouseClickSettings = MouseClickSettings; _keystrokesSettings = KeystrokesSettings; _keymap = Keymap; _hook = Hook.GlobalEvents(); _hook.MouseDown += (S, E) => { _mouseClicked = true; _mouseButtons = E.Button; }; _hook.MouseUp += (S, E) => _mouseClicked = false; if (KeystrokesSettings.SeparateTextFile) { _textWriter = InitKeysToTextFile(FileName, Elapsed); } else { _records = new KeyRecords(KeystrokesSettings.HistoryCount); _hook.KeyDown += OnKeyDown; _hook.KeyUp += OnKeyUp; } }
public MouseDragStep(Point EndPoint, MouseClickSettings Settings, KeystrokesSettings KeystrokesSettings, KeymapViewModel Keymap) : base(KeystrokesSettings, Keymap) { this.EndPoint = EndPoint; _settings = Settings; }
public MouseDragBeginStep(Point StartPoint, MouseClickSettings Settings, KeystrokesSettings KeystrokesSettings, KeymapViewModel Keymap) : base(KeystrokesSettings, Keymap) { _start = StartPoint; _settings = Settings; }
public ScrollStep(MouseEventArgs Args, MouseClickSettings Settings, KeystrokesSettings KeystrokesSettings, KeymapViewModel Keymap) : base(KeystrokesSettings, Keymap) { this.Args = Args; _settings = Settings; }
public MouseClickStep(MouseClickSettings Settings, KeystrokesSettings KeystrokesSettings, MouseEventArgs Args, KeymapViewModel Keymap) : base(KeystrokesSettings, Keymap) { _settings = Settings; this.Args = Args; Timestamp = DateTime.Now; }
/// <summary> /// Creates a new instance of <see cref="MouseKeyHook"/>. /// </summary> public MouseKeyHook(MouseClickSettings MouseClickSettings, KeystrokesSettings KeystrokesSettings, KeymapViewModel Keymap, string FileName, Func <TimeSpan> Elapsed) { _mouseClickSettings = MouseClickSettings; _keystrokesSettings = KeystrokesSettings; _keymap = Keymap; _hook = Hook.GlobalEvents(); _hook.MouseDown += (S, E) => { _mouseClicked = true; _mouseButtons = E.Button; }; _hook.MouseUp += (S, E) => _mouseClicked = false; if (KeystrokesSettings.SeparateTextFile) { _elapsed = Elapsed; var dir = Path.GetDirectoryName(FileName); var fileNameWoExt = Path.GetFileNameWithoutExtension(FileName); var targetName = $"{fileNameWoExt}.keys.txt"; var path = dir == null ? targetName : Path.Combine(dir, targetName); _keystrokeFileStream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read); _textWriter = new StreamWriter(_keystrokeFileStream); _hook.KeyDown += (S, E) => { if (!_keystrokesSettings.Display) { return; } var record = new KeyRecord(E, _keymap); _textWriter.WriteLine($"{_elapsed.Invoke()}: {record.Display}"); }; } else { _records = new KeyRecords(KeystrokesSettings.HistoryCount); _hook.KeyDown += OnKeyDown; _hook.KeyUp += OnKeyUp; } }
public MouseClickOverlay(IMouseKeyHook Hook, MouseClickSettings Settings) { _settings = Settings; Hook.MouseDown += (S, E) => { _clicked = true; _buttons = E.Button; }; Hook.MouseUp += (S, E) => _clicked = false; }
private void PrepareMouseClick(MouseClickSettings settings) { void Update() { var d = (settings.Radius + settings.BorderThickness) * 2; MouseClick.Width = MouseClick.Height = d; MouseClick.StrokeThickness = settings.BorderThickness; MouseClick.Stroke = new SolidColorBrush(ConvertColor(settings.BorderColor)); } Update(); settings.PropertyChanged += (s, e) => Dispatcher.Invoke(Update); }
/// <summary> /// Creates a new instance of <see cref="MouseKeyHook"/>. /// </summary> public MouseKeyHook(MouseClickSettings MouseClickSettings, KeystrokesSettings KeystrokesSettings) { _mouseClickSettings = MouseClickSettings; _keystrokesSettings = KeystrokesSettings; _hook = Hook.GlobalEvents(); _hook.MouseDown += (S, E) => _mouseClicked = true; _hook.MouseUp += (S, E) => _mouseClicked = false; _records = new KeyRecords(KeystrokesSettings.HistoryCount); _hook.KeyDown += OnKeyDown; _hook.KeyUp += OnKeyUp; }
public StepsRecorder(IMouseKeyHook Hook, IVideoFileWriter VideoWriter, IImageProvider ImageProvider, MouseClickSettings MouseClickSettings, KeystrokesSettings KeystrokesSettings, StepsSettings StepsSettings, KeymapViewModel KeymapViewModel) { _hook = Hook; _videoWriter = VideoWriter; _imageProvider = ImageProvider; _stepsSettings = StepsSettings; _mouseClickSettings = MouseClickSettings; _keystrokesSettings = KeystrokesSettings; _keymap = KeymapViewModel; var stepsObservable = Observe(_hook, _cancellationTokenSource.Token, out var shotObservable); _recordTask = Task.Factory.StartNew(() => DoRecord(stepsObservable, shotObservable), TaskCreationOptions.LongRunning); }
/// <summary> /// Creates a new instance of <see cref="MouseKeyHook"/>. /// </summary> public MouseKeyOverlay(MouseClickSettings MouseClickSettings, KeystrokesSettings KeystrokesSettings, KeymapViewModel Keymap, string FileName, Func <TimeSpan> Elapsed) { _keystrokesSettings = KeystrokesSettings; _keymap = Keymap; _hook = new MouseKeyHook(); _mouseClickOverlay = new MouseClickOverlay(_hook, MouseClickSettings); if (KeystrokesSettings.SeparateTextFile) { _textWriter = InitKeysToTextFile(FileName, Elapsed); } else { _keyOverlay = new KeyOverlay(_hook, KeystrokesSettings, Keymap); } }
/// <summary> /// Creates a new instance of <see cref="MouseKeyHook"/>. /// </summary> public MouseKeyHook(MouseClickSettings MouseClickSettings, KeystrokesSettings KeystrokesSettings, KeymapViewModel Keymap, KeyVector keyVector) { _mouseClickSettings = MouseClickSettings; _keystrokesSettings = KeystrokesSettings; _keymap = Keymap; _keyVector = keyVector; _hook = Hook.GlobalEvents(); _hook.MouseDown += (S, E) => { _mouseClicked = true; _mouseButtons = E.Button; }; _hook.MouseUp += (S, E) => _mouseClicked = false; _records = new KeyRecords(KeystrokesSettings.HistoryCount); _hook.KeyDown += OnKeyDown; _hook.KeyUp += OnKeyUp; }