mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
83 lines
4.9 KiB
XML
83 lines
4.9 KiB
XML
<UserControl
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:local="clr-namespace:Artemis.UI.Screens.Settings.Device.Tabs"
|
|
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
|
|
xmlns:s="https://github.com/canton7/Stylet"
|
|
xmlns:Shared="clr-namespace:Artemis.UI.Shared;assembly=Artemis.UI.Shared" x:Class="Artemis.UI.Screens.Settings.Device.Tabs.InputMappingsTabView"
|
|
mc:Ignorable="d"
|
|
d:DesignHeight="450" d:DesignWidth="800"
|
|
d:DataContext="{d:DesignInstance {x:Type local:InputMappingsTabViewModel}}">
|
|
<UserControl.Resources>
|
|
<ResourceDictionary>
|
|
<Shared:NullToVisibilityConverter x:Key="NullToVisibilityConverter" />
|
|
<Style x:Key="CenteredTextColumn" TargetType="TextBlock">
|
|
<Setter Property="VerticalAlignment" Value="Center" />
|
|
</Style>
|
|
</ResourceDictionary>
|
|
</UserControl.Resources>
|
|
<Grid Margin="15">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<StackPanel Grid.Row="0">
|
|
<TextBlock Style="{StaticResource MaterialDesignHeadline6TextBlock}">
|
|
<Run Text="Introduction" />
|
|
</TextBlock>
|
|
<TextBlock Style="{StaticResource MaterialDesignTextBlock}" TextWrapping="Wrap">
|
|
In some cases you may want Artemis to map key presses to different LEDs.
|
|
This is useful when your logical layout swaps keys around (like Hungarian layouts where the Z and Y keys are swapped).<LineBreak /><LineBreak />
|
|
In this tab you can set up these custom input mappings, simply click on a LED and press a key, Artemis will from then on consider that LED pressed whenever you press the same key again.
|
|
</TextBlock>
|
|
</StackPanel>
|
|
|
|
<StackPanel Grid.Row="1" Margin="0 20" Visibility="{Binding SelectedLed, Converter={StaticResource NullToVisibilityConverter}, ConverterParameter=Inverted}">
|
|
<TextBlock Style="{StaticResource MaterialDesignHeadline6TextBlock}" TextAlignment="Center">Select a LED in the preview on the left side to get started...</TextBlock>
|
|
</StackPanel>
|
|
|
|
<StackPanel Grid.Row="1" Margin="0 20" Visibility="{Binding SelectedLed, Converter={StaticResource NullToVisibilityConverter}}">
|
|
<TextBlock Style="{StaticResource MaterialDesignHeadline6TextBlock}" TextAlignment="Center">
|
|
<Run Text="Current target LED: " /><Run Text="{Binding SelectedLed.RgbLed.Id, Mode=OneWay}" />
|
|
</TextBlock>
|
|
<TextBlock Style="{StaticResource MaterialDesignTextBlock}" TextAlignment="Center">
|
|
<Run Text="Press the key you want to remap" /><Run Text=" " /><Run FontWeight="Bold" Text="{Binding SelectedLed.RgbLed.Id, Mode=OneWay}" /><Run Text=" " /><Run Text="to..." />
|
|
</TextBlock>
|
|
</StackPanel>
|
|
|
|
<DataGrid Grid.Row="2"
|
|
ItemsSource="{Binding InputMappings}"
|
|
CanUserSortColumns="True"
|
|
IsReadOnly="True"
|
|
CanUserAddRows="False"
|
|
AutoGenerateColumns="False"
|
|
CanUserResizeRows="False"
|
|
materialDesign:DataGridAssist.CellPadding="16 5 5 5"
|
|
materialDesign:DataGridAssist.ColumnHeaderPadding="16 5 5 5"
|
|
VirtualizingPanel.VirtualizationMode="Standard"
|
|
Margin="10">
|
|
<DataGrid.Columns>
|
|
<materialDesign:DataGridTextColumn Binding="{Binding Item1.RgbLed.Id}" ElementStyle="{StaticResource CenteredTextColumn}" Header="Original LED ID" Width="*" />
|
|
<materialDesign:DataGridTextColumn Binding="{Binding Item2.RgbLed.Id}" ElementStyle="{StaticResource CenteredTextColumn}" Header="Remapped LED ID" Width="*" />
|
|
|
|
<DataGridTemplateColumn Width="45" IsReadOnly="True">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<Button Command="{s:Action DeleteMapping}"
|
|
CommandParameter="{Binding}"
|
|
Style="{StaticResource MaterialDesignIconForegroundButton}"
|
|
ToolTip="Delete mapping"
|
|
Width="25"
|
|
Height="25">
|
|
<materialDesign:PackIcon Kind="Delete" Width="18" Height="18" />
|
|
</Button>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
</DataGrid.Columns>
|
|
</DataGrid>
|
|
</Grid>
|
|
</UserControl> |