Files
ryujinx/src/Ryujinx/UI/Views/Input/MotionInputView.axaml
2025-11-28 19:53:09 +02:00

126 lines
6.4 KiB
XML

<UserControl
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="clr-namespace:Ryujinx.Ava.UI.Controls"
xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
xmlns:ext="clr-namespace:Ryujinx.Ava.Common.Markup"
xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels.Input"
mc:Ignorable="d"
x:Class="Ryujinx.Ava.UI.Views.Input.MotionInputView"
x:DataType="viewModels:MotionInputViewModel"
Focusable="True">
<StackPanel>
<StackPanel Orientation="Vertical">
<Grid Margin="10,0,10,0" RowDefinitions="Auto,Auto" ColumnDefinitions="Auto,*,45">
<TextBlock
Grid.Row="0"
Grid.Column="0"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Margin="5,0,10,0"
Text="{ext:Locale ControllerSettingsMotionGyroSensitivity}" />
<controls:SliderScroll
Grid.Row="0"
Grid.Column="1"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Width="150"
TickFrequency="1"
IsSnapToTickEnabled="True"
SmallChange="0.01"
Maximum="100"
Minimum="0"
Value="{Binding Sensitivity, Mode=TwoWay}" />
<TextBlock
Grid.Row="0"
Grid.Column="2"
Margin="5,0,0,1"
Text="{Binding Sensitivity, StringFormat=\{0:0\}%}" />
<TextBlock
Grid.Row="1"
Grid.Column="0"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Margin="5,0,10,0"
Text="{ext:Locale ControllerSettingsMotionGyroDeadzone}" />
<controls:SliderScroll
Grid.Row="1"
Grid.Column="1"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Width="150"
TickFrequency="1"
IsSnapToTickEnabled="True"
SmallChange="0.01"
Maximum="100"
Minimum="0"
Value="{Binding GyroDeadzone, Mode=TwoWay}" />
<TextBlock
Grid.Row="1"
Grid.Column="2"
Margin="5,0,0,1"
Text="{Binding GyroDeadzone, StringFormat=\{0:0.00\}}" />
</Grid>
<Separator Height="1" Margin="0,0,0,5" />
<CheckBox Margin="0,5,0,5" HorizontalAlignment="Center" IsChecked="{Binding EnableCemuHookMotion}">
<TextBlock VerticalAlignment="Center" Text="{ext:Locale ControllerSettingsMotionUseCemuhookCompatibleMotion}" />
</CheckBox>
</StackPanel>
<Border Padding="20,10,20,5" BorderBrush="{DynamicResource ThemeControlBorderColor}" BorderThickness="1" CornerRadius="5" HorizontalAlignment="Stretch">
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Orientation="Vertical">
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Orientation="Horizontal" Margin="0,0,0,7.5">
<TextBlock Margin="0,0,5,0" HorizontalAlignment="Center" VerticalAlignment="Center" Text="{ext:Locale ControllerSettingsMotionServerHost}" />
<TextBox Height="30" MinWidth="100" MaxWidth="100" HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding DsuServerHost, Mode=TwoWay}" />
<TextBlock Margin="5" HorizontalAlignment="Center" VerticalAlignment="Center" Text=":" />
<TextBox Height="30" HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding DsuServerPort, Mode=TwoWay}" />
</StackPanel>
<StackPanel Orientation="Vertical">
<Grid ColumnDefinitions="Auto,*,Auto" RowDefinitions="Auto,Auto" Margin="0,0,0,7.5">
<TextBlock
Grid.Column="0"
Grid.Row="0"
Margin="0,0,0,7.5"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Text="{ext:Locale ControllerSettingsMotionControllerSlot}" />
<ui:NumberBox
Grid.Column="1"
Grid.Row="0"
Margin="0,0,0,7.5"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Name="CemuHookSlotUpDown"
SmallChange="1"
LargeChange="1"
Maximum="4"
Minimum="0"
Value="{Binding Slot}" />
<TextBlock
Grid.Column="0"
Grid.Row="1"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Text="{ext:Locale ControllerSettingsMotionRightJoyConSlot}" />
<ui:NumberBox
Grid.Column="1"
Grid.Row="1"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Name="CemuHookRightJoyConSlotUpDown"
SmallChange="1"
LargeChange="1"
Maximum="4"
Minimum="0"
Value="{Binding AltSlot}" />
</Grid>
</StackPanel>
<CheckBox HorizontalAlignment="Center" IsChecked="{Binding MirrorInput, Mode=TwoWay}">
<TextBlock HorizontalAlignment="Center" Text="{ext:Locale ControllerSettingsMotionMirrorInput}" />
</CheckBox>
</StackPanel>
</Border>
</StackPanel>
</UserControl>