private void SetRelativeModeSettings(RelativeOutputMode relativeMode) { relativeMode.Sensitivity = new Vector2(Settings.XSensitivity, Settings.YSensitivity); Log.Write("Settings", $"Relative Mode Sensitivity (X, Y): {relativeMode.Sensitivity}"); relativeMode.Rotation = Settings.RelativeRotation; Log.Write("Settings", $"Relative Mode Rotation: {relativeMode.Rotation}"); relativeMode.ResetTime = Settings.ResetTime; Log.Write("Settings", $"Reset time: {relativeMode.ResetTime}"); }
private void SetRelativeModeSettings(InputDeviceTree dev, RelativeOutputMode relativeMode, RelativeModeSettings settings) { string group = dev.Properties.Name; relativeMode.Sensitivity = settings.Sensitivity; Log.Write(group, $"Relative Mode Sensitivity (X, Y): {relativeMode.Sensitivity}"); relativeMode.Rotation = settings.RelativeRotation; Log.Write(group, $"Relative Mode Rotation: {relativeMode.Rotation}"); relativeMode.ResetTime = settings.ResetTime; Log.Write(group, $"Reset time: {relativeMode.ResetTime}"); }
private void SetBindingHandlerSettings(InputDeviceTree dev, IOutputMode outputMode, BindingSettings settings, TabletReference tabletReference) { string group = dev.Properties.Name; var bindingHandler = new BindingHandler(outputMode); var bindingServiceProvider = new ServiceManager(); object?pointer = outputMode switch { AbsoluteOutputMode absoluteOutputMode => absoluteOutputMode.Pointer, RelativeOutputMode relativeOutputMode => relativeOutputMode.Pointer, _ => null }; if (pointer is IMouseButtonHandler mouseButtonHandler) { bindingServiceProvider.AddService(() => mouseButtonHandler); } var tip = bindingHandler.Tip = new ThresholdBindingState { Binding = settings.TipButton?.Construct <IBinding>(bindingServiceProvider, tabletReference), ActivationThreshold = settings.TipActivationThreshold }; if (tip.Binding != null) { Log.Write(group, $"Tip Binding: [{tip.Binding}]@{tip.ActivationThreshold}%"); } var eraser = bindingHandler.Eraser = new ThresholdBindingState { Binding = settings.EraserButton?.Construct <IBinding>(bindingServiceProvider, tabletReference), ActivationThreshold = settings.EraserActivationThreshold }; if (eraser.Binding != null) { Log.Write(group, $"Eraser Binding: [{eraser.Binding}]@{eraser.ActivationThreshold}%"); } if (settings.PenButtons != null && settings.PenButtons.Any(b => b?.Path != null)) { SetBindingHandlerCollectionSettings(bindingServiceProvider, settings.PenButtons, bindingHandler.PenButtons, tabletReference); Log.Write(group, $"Pen Bindings: " + string.Join(", ", bindingHandler.PenButtons.Select(b => b.Value?.Binding))); } if (settings.AuxButtons != null && settings.AuxButtons.Any(b => b?.Path != null)) { SetBindingHandlerCollectionSettings(bindingServiceProvider, settings.AuxButtons, bindingHandler.AuxButtons, tabletReference); Log.Write(group, $"Express Key Bindings: " + string.Join(", ", bindingHandler.AuxButtons.Select(b => b.Value?.Binding))); } if (settings.MouseButtons != null && settings.MouseButtons.Any(b => b?.Path != null)) { SetBindingHandlerCollectionSettings(bindingServiceProvider, settings.MouseButtons, bindingHandler.MouseButtons, tabletReference); Log.Write(group, $"Mouse Button Bindings: [" + string.Join("], [", bindingHandler.MouseButtons.Select(b => b.Value?.Binding)) + "]"); } var scrollUp = bindingHandler.MouseScrollUp = new BindingState { Binding = settings.MouseScrollUp?.Construct <IBinding>(bindingServiceProvider, tabletReference) }; var scrollDown = bindingHandler.MouseScrollDown = new BindingState { Binding = settings.MouseScrollDown?.Construct <IBinding>(bindingServiceProvider, tabletReference) }; if (scrollUp.Binding != null || scrollDown.Binding != null) { Log.Write(group, $"Mouse Scroll: Up: [{scrollUp?.Binding}] Down: [{scrollDown?.Binding}]"); } }