Skip to content
This repository was archived by the owner on Dec 3, 2024. It is now read-only.

Commit 799123a

Browse files
committed
Fix Mouse issues
1 parent 8041493 commit 799123a

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

XOutput/UI/Windows/AutoConfigureViewModel.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
using System;
22
using System.Collections.Generic;
33
using System.Linq;
4+
using System.Threading.Tasks;
45
using System.Windows.Threading;
56
using XOutput.Devices;
67
using XOutput.Devices.Input;
8+
using XOutput.Devices.Input.Mouse;
79
using XOutput.Devices.Mapper;
810
using XOutput.Devices.XInput;
911
using XOutput.Tools;
@@ -24,6 +26,7 @@ public class AutoConfigureViewModel : ViewModelBase<AutoConfigureModel>
2426
private XInputTypes xInputType;
2527
private readonly InputSource[] inputTypes;
2628
private DateTime lastTime;
29+
public Func<bool> IsMouseOverButtons { get; set; }
2730

2831
public AutoConfigureViewModel(AutoConfigureModel model, IEnumerable<IInputDevice> inputDevices, InputMapper mapper, XInputTypes[] valuesToRead) : base(model)
2932
{
@@ -79,6 +82,10 @@ protected void ReadReferenceValues()
7982
/// </summary>
8083
private void ReadValues(object sender, DeviceInputChangedEventArgs e)
8184
{
85+
if(e.Device is Mouse && (IsMouseOverButtons?.Invoke() ?? false))
86+
{
87+
return;
88+
}
8289
var inputDevice = e.Device;
8390
InputSource maxType = null;
8491
double maxDiff = 0;

XOutput/UI/Windows/AutoConfigureWindow.xaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,10 @@
6262
<ColumnDefinition Width="*"/>
6363
<ColumnDefinition Width="*"/>
6464
</Grid.ColumnDefinitions>
65-
<Button Margin="5 0" Padding="10" Grid.Row="3" Grid.Column="1" Click="DisableClick"
65+
<Button Margin="5 0" Padding="10" Grid.Row="3" Grid.Column="1" Click="DisableClick" Name="DisableButton"
6666
Content="{Binding LanguageModel.Data, Converter={StaticResource LanguageConverter}, ConverterParameter='Disable'}"/>
67-
<Button Margin="5 0" Padding="10" Grid.Row="3" Grid.Column="2" Click="SaveClick"
68-
IsEnabled="{Binding Model.MaxType, Converter={StaticResource NotNullToBoolConverter}}"
67+
<Button Margin="5 0" Padding="10" Grid.Row="3" Grid.Column="2" Click="SaveClick" Name="SaveButton"
68+
IsEnabled="{Binding Model.MaxType, Converter={StaticResource NotNullToBoolConverter}}"
6969
Content="{Binding LanguageModel.Data, Converter={StaticResource LanguageConverter}, ConverterParameter='Save'}"/>
7070
<Button Margin="5 0" Padding="10" Grid.Row="3" Grid.Column="3" Click="CancelClick"
7171
Content="{Binding LanguageModel.Data, Converter={StaticResource LanguageConverter}, ConverterParameter='Cancel'}" />

XOutput/UI/Windows/AutoConfigureWindow.xaml.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.Threading.Tasks;
33
using System.Windows;
4+
using System.Windows.Input;
45
using System.Windows.Threading;
56

67
namespace XOutput.UI.Windows
@@ -27,6 +28,10 @@ private async void WindowLoaded(object sender, RoutedEventArgs e)
2728
{
2829
await Task.Delay(100);
2930
viewModel.Initialize();
31+
viewModel.IsMouseOverButtons = () =>
32+
{
33+
return DisableButton.IsMouseOver || SaveButton.IsMouseOver;
34+
};
3035
if (timed)
3136
{
3237
timer.Interval = TimeSpan.FromMilliseconds(25);

0 commit comments

Comments
 (0)