Compare commits

...

9 Commits

Author SHA1 Message Date
Niels Laute
47aefb44f8 Update AssistiveToolsPage.xaml 2025-12-18 14:53:23 +01:00
Niels Laute
81da88aa73 Updates 2025-12-18 14:49:17 +01:00
Niels Laute
d2384162bc Merge branch 'main' into niels9001/assistive-tools-settings 2025-12-18 14:12:07 +01:00
Niels Laute
7dd8aa5a61 Updates 2025-12-09 13:21:44 +01:00
Niels Laute
55a7ca6d17 Merge branch 'main' into niels9001/assistive-tools-settings 2025-12-09 09:24:44 +01:00
Niels Laute
bdfa8da26d Menu changes 2025-11-26 13:43:33 +01:00
Niels Laute
638479382e Update AssistiveToolsPage.xaml 2025-11-26 13:40:25 +01:00
Niels Laute
c6a41491ab Update AssistiveToolsPage.xaml 2025-11-26 11:55:11 +01:00
Niels Laute
6c830ec62e Updates 2025-11-26 11:53:31 +01:00
6 changed files with 473 additions and 7 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 680 B

View File

@@ -20,6 +20,7 @@
<ProjectPriFileName>PowerToys.Settings.pri</ProjectPriFileName>
</PropertyGroup>
<ItemGroup>
<None Remove="Assets\Settings\Icons\AssistiveTools.png" />
<None Remove="Assets\Settings\Icons\Models\Azure.svg" />
<None Remove="Assets\Settings\Icons\Models\FoundryLocal.svg" />
<None Remove="Assets\Settings\Icons\Models\Onnx.svg" />

View File

@@ -674,15 +674,19 @@ namespace Microsoft.PowerToys.Settings.UI.Controls
private async void OpenDialogButton_Click(object sender, RoutedEventArgs e)
{
c.Keys = null;
c.Keys = HotkeySettings.GetKeysList();
c.IgnoreConflict = IgnoreConflict;
c.HasConflict = hotkeySettings.HasConflict;
c.ConflictMessage = hotkeySettings.ConflictDescription;
if (HotkeySettings != null)
{
c.Keys = HotkeySettings.GetKeysList();
// 92 means the Win key. The logic is: warning should be visible if the shortcut contains Alt AND contains Ctrl AND NOT contains Win.
// Additional key must be present, as this is a valid, previously used shortcut shown at dialog open. Check for presence of non-modifier-key is not necessary therefore
c.IsWarningAltGr = c.Keys.Contains("Ctrl") && c.Keys.Contains("Alt") && !c.Keys.Contains(92);
c.IgnoreConflict = IgnoreConflict;
c.HasConflict = hotkeySettings.HasConflict;
c.ConflictMessage = hotkeySettings.ConflictDescription;
// 92 means the Win key. The logic is: warning should be visible if the shortcut contains Alt AND contains Ctrl AND NOT contains Win.
// Additional key must be present, as this is a valid, previously used shortcut shown at dialog open. Check for presence of non-modifier-key is not necessary therefore
c.IsWarningAltGr = c.Keys.Contains("Ctrl") && c.Keys.Contains("Alt") && !c.Keys.Contains(92);
}
shortcutDialog.XamlRoot = this.XamlRoot;
shortcutDialog.RequestedTheme = this.ActualTheme;

View File

@@ -0,0 +1,389 @@
<helper:NavigablePage
x:Class="Microsoft.PowerToys.Settings.UI.Views.AssistiveToolsPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="using:Microsoft.PowerToys.Settings.UI.Controls"
xmlns:converters="using:CommunityToolkit.WinUI.Converters"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:helper="using:Microsoft.PowerToys.Settings.UI.Helpers"
xmlns:local="clr-namespace:Microsoft.PowerToys.Settings.UI.ViewModels"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:tkcontrols="using:CommunityToolkit.WinUI.Controls"
xmlns:ui="using:CommunityToolkit.WinUI"
AutomationProperties.LandmarkType="Main"
mc:Ignorable="d">
<helper:NavigablePage.Resources>
<converters:DoubleToVisibilityConverter
x:Key="ControlModeToVisibilityConverter"
FalseValue="Visible"
GreaterThan="1"
LessThan="1"
TrueValue="Collapsed" />
</helper:NavigablePage.Resources>
<controls:SettingsPageControl
ModuleDescription="Tools that adapt to different needs and make everyday interactions more accessible."
ModuleImageSource="ms-appx:///Assets/Settings/Modules/NewPlus.png"
ModuleTitle="Adaptive Tools">
<controls:SettingsPageControl.ModuleContent>
<StackPanel
ChildrenTransitions="{StaticResource SettingsCardsAnimations}"
Orientation="Vertical"
Spacing="2">
<controls:SettingsGroup Description="Navigate with external switches, using Gliding, Sweeping Cursor or Grid Overlay mode. Grid overlay also supports arrow ← ↑ → ↓ navigation." Header="Switch Control">
<tkcontrols:SettingsCard Header="Switch Control" HeaderIcon="{ui:BitmapIcon Source=/Assets/Settings/Icons/AssistiveTools.png}">
<ToggleSwitch IsOn="True" />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsExpander
Description="Configure how to use Switch Control"
Header="Activation"
HeaderIcon="{ui:FontIcon Glyph=&#xEDA7;}">
<tkcontrols:SettingsExpander.Items>
<tkcontrols:SettingsCard Header="Start or next step">
<controls:ShortcutControl />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard Header="Previous step">
<controls:ShortcutControl />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard Header="Stop">
<controls:ShortcutControl />
</tkcontrols:SettingsCard>
</tkcontrols:SettingsExpander.Items>
</tkcontrols:SettingsExpander>
<tkcontrols:SettingsExpander Header="Control mode" HeaderIcon="{ui:FontIcon Glyph=&#xECE9;}">
<ComboBox
x:Name="ControlModeSelectionBox"
Loaded="ControlModeSelectionBox_Loaded"
SelectedIndex="0">
<ComboBoxItem Content="Grid Overlay" />
<ComboBoxItem Content="Gliding Cursor" />
<ComboBoxItem Content="Sweeping Cursor" />
</ComboBox>
<tkcontrols:SettingsExpander.Items>
<tkcontrols:SettingsCard Description="The action triggered by the final click" Header="Click action">
<ComboBox SelectedIndex="0">
<ComboBoxItem Content="Show context menu" />
<ComboBoxItem Content="Left click" />
<ComboBoxItem Content="Right click" />
<ComboBoxItem Content="Middle click" />
</ComboBox>
</tkcontrols:SettingsCard>
</tkcontrols:SettingsExpander.Items>
</tkcontrols:SettingsExpander>
<tkcontrols:SettingsExpander
x:Name="SpeedExpander"
Header="Scanning method and speed"
HeaderIcon="{ui:FontIcon Glyph=&#xEC49;}">
<ComboBox
x:Name="ModeComboBox"
Loaded="ModeComboBox_Loaded"
SelectedIndex="0">
<ComboBoxItem Content="Automatic" />
<ComboBoxItem Content="Manual" />
</ComboBox>
<tkcontrols:SettingsExpander.Items>
<tkcontrols:SettingsCard x:Name="DelayCard" Header="Delay in ms">
<NumberBox SpinButtonPlacementMode="Compact" Text="1000" />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard
x:Name="InitialSpeedCard"
Description="Speed of the horizontal or vertical line when it begins moving"
Header="Initial line speed"
Visibility="Collapsed">
<StackPanel Orientation="Horizontal" Spacing="8">
<FontIcon
FontSize="16"
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
Glyph="&#xEA79;" />
<Slider Value="50" />
<Viewbox
Width="18"
Margin="0,0,0,4"
VerticalAlignment="Center">
<PathIcon Data="M7.75 19.0003C6.28747 19.0003 5.0916 17.8586 5.00502 16.4178L5 16.2503L4.99952 14.9993C3.34293 14.9993 2 13.6564 2 11.9998C2 10.3432 3.34293 9.00028 4.99952 9.00028C6.07373 9.00028 7.03118 9.56906 7.56188 10.4391C8.07405 10.1929 8.64185 10.0416 9.24125 10.0076L9.5 10.0003H13.4995L13.7475 10.007L13.9935 10.0272L14.12 10.0443L14.23 9.87707L14.361 9.69928L12.584 7.92235C11.8843 7.22265 11.8107 6.13398 12.3631 5.35239L12.4671 5.21779L12.584 5.09042C13.3249 4.34956 14.5018 4.31057 15.2886 4.97344L15.416 5.09042L20.8284 10.5029C22.3905 12.065 22.3905 14.5976 20.8284 16.1597C20.1082 16.88 19.1629 17.282 18.1865 17.3273L17.9607 17.3314L17.779 17.3243L17.7528 17.3884C17.3675 18.2375 16.5642 18.8498 15.6146 18.9762L15.4228 18.9949L15.2495 19.0003H7.75ZM14.3553 6.15108C14.1591 5.95485 13.8409 5.95485 13.6447 6.15108C13.4703 6.3255 13.4509 6.59626 13.5866 6.7921L13.6447 6.86169L16.4528 9.6699L15.8149 10.3115C15.605 10.5215 15.4295 10.7558 15.2916 11.008L15.1952 11.2003L14.9287 11.7841L14.3107 11.6111C14.1146 11.5561 13.9126 11.5213 13.7066 11.5073L13.4995 11.5003H9.5C8.80076 11.5003 8.15739 11.7395 7.64728 12.1406L7.50409 12.2607L7.33898 12.4194L7.24566 12.5208L7.13486 12.6544L7.01378 12.8206L6.97161 12.8849C6.93089 12.9485 6.89251 13.0137 6.85658 13.0805L6.79897 13.1929L6.73697 13.3297L6.70271 13.414L6.65152 13.556L6.59714 13.7398C6.57164 13.8374 6.551 13.9367 6.53542 14.0373L6.52384 14.1203L6.50602 14.3087L6.5 14.5003V16.2503C6.5 16.8975 6.99187 17.4298 7.62219 17.4938L7.75 17.5003L12.001 17.4999L12.0019 17.2537C12.0019 16.6064 11.51 16.0741 10.8797 16.0101L10.7519 16.0037H9.75188C9.33767 16.0037 9.00188 15.6679 9.00188 15.2537C9.00188 14.874 9.28403 14.5602 9.65011 14.5105L9.75188 14.5037H10.7519C12.2144 14.5037 13.4103 15.6454 13.4969 17.0861L13.5019 17.2537L13.501 17.4999L15.2495 17.5003C15.8415 17.5003 16.344 17.0863 16.4678 16.5249L16.4885 16.4025L16.5872 15.5623L17.4095 15.7611C18.2518 15.9646 19.144 15.7228 19.7678 15.0991C20.7016 14.1652 20.7422 12.6763 19.8896 11.6942L19.7678 11.5635L14.3553 6.15108ZM4.99952 10.5003C4.17136 10.5003 3.5 11.1716 3.5 11.9998C3.5 12.7792 4.0947 13.4198 4.8551 13.4925L4.99952 13.4993L5.114 13.4943L5.11885 13.4685C5.15379 13.3196 5.19612 13.1735 5.24544 13.0307L5.34236 12.7762L5.44825 12.5405L5.50494 12.4272L5.63589 12.1928L5.72326 12.0527L5.86824 11.8426L5.94157 11.7454L6.05002 11.6109L6.17893 11.4637L6.329 11.3073C6.1194 10.9062 5.73907 10.6177 5.29202 10.5289L5.14067 10.5069L4.99952 10.5003Z" Foreground="{ThemeResource TextFillColorSecondaryBrush}" />
</Viewbox>
</StackPanel>
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard
x:Name="ReducedLineSpeedCard"
Description="Speed after slowing down the line with a second shortcut press"
Header="Reduced line speed"
Visibility="Collapsed">
<StackPanel Orientation="Horizontal" Spacing="8">
<FontIcon
FontSize="16"
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
Glyph="&#xEA79;" />
<Slider Value="50" />
<Viewbox
Width="18"
Margin="0,0,0,4"
VerticalAlignment="Center">
<PathIcon Data="M7.75 19.0003C6.28747 19.0003 5.0916 17.8586 5.00502 16.4178L5 16.2503L4.99952 14.9993C3.34293 14.9993 2 13.6564 2 11.9998C2 10.3432 3.34293 9.00028 4.99952 9.00028C6.07373 9.00028 7.03118 9.56906 7.56188 10.4391C8.07405 10.1929 8.64185 10.0416 9.24125 10.0076L9.5 10.0003H13.4995L13.7475 10.007L13.9935 10.0272L14.12 10.0443L14.23 9.87707L14.361 9.69928L12.584 7.92235C11.8843 7.22265 11.8107 6.13398 12.3631 5.35239L12.4671 5.21779L12.584 5.09042C13.3249 4.34956 14.5018 4.31057 15.2886 4.97344L15.416 5.09042L20.8284 10.5029C22.3905 12.065 22.3905 14.5976 20.8284 16.1597C20.1082 16.88 19.1629 17.282 18.1865 17.3273L17.9607 17.3314L17.779 17.3243L17.7528 17.3884C17.3675 18.2375 16.5642 18.8498 15.6146 18.9762L15.4228 18.9949L15.2495 19.0003H7.75ZM14.3553 6.15108C14.1591 5.95485 13.8409 5.95485 13.6447 6.15108C13.4703 6.3255 13.4509 6.59626 13.5866 6.7921L13.6447 6.86169L16.4528 9.6699L15.8149 10.3115C15.605 10.5215 15.4295 10.7558 15.2916 11.008L15.1952 11.2003L14.9287 11.7841L14.3107 11.6111C14.1146 11.5561 13.9126 11.5213 13.7066 11.5073L13.4995 11.5003H9.5C8.80076 11.5003 8.15739 11.7395 7.64728 12.1406L7.50409 12.2607L7.33898 12.4194L7.24566 12.5208L7.13486 12.6544L7.01378 12.8206L6.97161 12.8849C6.93089 12.9485 6.89251 13.0137 6.85658 13.0805L6.79897 13.1929L6.73697 13.3297L6.70271 13.414L6.65152 13.556L6.59714 13.7398C6.57164 13.8374 6.551 13.9367 6.53542 14.0373L6.52384 14.1203L6.50602 14.3087L6.5 14.5003V16.2503C6.5 16.8975 6.99187 17.4298 7.62219 17.4938L7.75 17.5003L12.001 17.4999L12.0019 17.2537C12.0019 16.6064 11.51 16.0741 10.8797 16.0101L10.7519 16.0037H9.75188C9.33767 16.0037 9.00188 15.6679 9.00188 15.2537C9.00188 14.874 9.28403 14.5602 9.65011 14.5105L9.75188 14.5037H10.7519C12.2144 14.5037 13.4103 15.6454 13.4969 17.0861L13.5019 17.2537L13.501 17.4999L15.2495 17.5003C15.8415 17.5003 16.344 17.0863 16.4678 16.5249L16.4885 16.4025L16.5872 15.5623L17.4095 15.7611C18.2518 15.9646 19.144 15.7228 19.7678 15.0991C20.7016 14.1652 20.7422 12.6763 19.8896 11.6942L19.7678 11.5635L14.3553 6.15108ZM4.99952 10.5003C4.17136 10.5003 3.5 11.1716 3.5 11.9998C3.5 12.7792 4.0947 13.4198 4.8551 13.4925L4.99952 13.4993L5.114 13.4943L5.11885 13.4685C5.15379 13.3196 5.19612 13.1735 5.24544 13.0307L5.34236 12.7762L5.44825 12.5405L5.50494 12.4272L5.63589 12.1928L5.72326 12.0527L5.86824 11.8426L5.94157 11.7454L6.05002 11.6109L6.17893 11.4637L6.329 11.3073C6.1194 10.9062 5.73907 10.6177 5.29202 10.5289L5.14067 10.5069L4.99952 10.5003Z" Foreground="{ThemeResource TextFillColorSecondaryBrush}" />
</Viewbox>
</StackPanel>
</tkcontrols:SettingsCard>
</tkcontrols:SettingsExpander.Items>
</tkcontrols:SettingsExpander>
<tkcontrols:SettingsExpander x:Uid="Appearance_Behavior" HeaderIcon="{ui:FontIcon Glyph=&#xEB3C;}">
<tkcontrols:SettingsExpander.Items>
<tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsColor">
<controls:ColorPickerButton />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsOpacity">
<Slider
MinWidth="{StaticResource SettingActionControlMinWidth}"
Maximum="100"
Minimum="1"
Value="100" />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsRadius">
<NumberBox
MinWidth="{StaticResource SettingActionControlMinWidth}"
LargeChange="10"
Maximum="500"
Minimum="0"
SmallChange="1"
SpinButtonPlacementMode="Compact"
Value="250" />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsThickness">
<NumberBox
MinWidth="{StaticResource SettingActionControlMinWidth}"
LargeChange="10"
Maximum="50"
Minimum="1"
SmallChange="1"
SpinButtonPlacementMode="Compact"
Value="25" />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsBorderColor">
<controls:ColorPickerButton />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsBorderSize">
<NumberBox
MinWidth="{StaticResource SettingActionControlMinWidth}"
LargeChange="2"
Maximum="50"
Minimum="0"
SmallChange="1"
SpinButtonPlacementMode="Compact"
Value="25" />
</tkcontrols:SettingsCard>
</tkcontrols:SettingsExpander.Items>
</tkcontrols:SettingsExpander>
</controls:SettingsGroup>
<controls:SettingsGroup Description="Hover the cursor over an item on the screen for a specified amount of time to trigger an action." Header="Cursor Dwell">
<tkcontrols:SettingsCard Header="Cursor Dwell" HeaderIcon="{ui:BitmapIcon Source=/Assets/Settings/Icons/AssistiveTools.png}">
<ToggleSwitch IsOn="True" />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsExpander
Description="Configure how to start and stop Dwell Cursor"
Header="Activation"
HeaderIcon="{ui:FontIcon Glyph=&#xEDA7;}">
<controls:ShortcutControl />
<tkcontrols:SettingsExpander.Items>
<tkcontrols:SettingsCard ContentAlignment="Left">
<CheckBox Content="Automatically activate on utility startup" />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard Header="Delay in ms">
<NumberBox
MinWidth="{StaticResource SettingActionControlMinWidth}"
LargeChange="2"
Maximum="50"
Minimum="0"
SmallChange="1"
SpinButtonPlacementMode="Compact"
Value="25" />
</tkcontrols:SettingsCard>
</tkcontrols:SettingsExpander.Items>
</tkcontrols:SettingsExpander>
<tkcontrols:SettingsCard Header="Default action" HeaderIcon="{ui:FontIcon Glyph=&#xECE9;}">
<ComboBox SelectedIndex="0">
<ComboBoxItem Content="Show context menu" />
<ComboBoxItem Content="Left click" />
<ComboBoxItem Content="Right click" />
<ComboBoxItem Content="Middle click" />
</ComboBox>
</tkcontrols:SettingsCard>
<tkcontrols:SettingsExpander x:Uid="Appearance_Behavior" HeaderIcon="{ui:FontIcon Glyph=&#xEB3C;}">
<tkcontrols:SettingsExpander.Items>
<tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsColor">
<controls:ColorPickerButton />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsOpacity">
<Slider
MinWidth="{StaticResource SettingActionControlMinWidth}"
Maximum="100"
Minimum="1"
Value="100" />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsRadius">
<NumberBox
MinWidth="{StaticResource SettingActionControlMinWidth}"
LargeChange="10"
Maximum="500"
Minimum="0"
SmallChange="1"
SpinButtonPlacementMode="Compact"
Value="250" />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsThickness">
<NumberBox
MinWidth="{StaticResource SettingActionControlMinWidth}"
LargeChange="10"
Maximum="50"
Minimum="1"
SmallChange="1"
SpinButtonPlacementMode="Compact"
Value="25" />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsBorderColor">
<controls:ColorPickerButton />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsBorderSize">
<NumberBox
MinWidth="{StaticResource SettingActionControlMinWidth}"
LargeChange="2"
Maximum="50"
Minimum="0"
SmallChange="1"
SpinButtonPlacementMode="Compact"
Value="25" />
</tkcontrols:SettingsCard>
</tkcontrols:SettingsExpander.Items>
</tkcontrols:SettingsExpander>
</controls:SettingsGroup>
<controls:SettingsGroup x:Uid="MouseUtils_MousePointerCrosshairs">
<tkcontrols:SettingsCard x:Uid="MouseUtils_Enable_MousePointerCrosshairs" HeaderIcon="{ui:BitmapIcon Source=/Assets/Settings/Icons/MouseCrosshairs.png}">
<ToggleSwitch x:Uid="ToggleSwitch" IsOn="true" />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsExpander
Name="MouseUtilsMousePointerCrosshairsActivationShortcut"
x:Uid="MouseUtils_MousePointerCrosshairs_ActivationShortcut"
HeaderIcon="{ui:FontIcon Glyph=&#xEDA7;}">
<controls:ShortcutControl MinWidth="{StaticResource SettingActionControlMinWidth}" />
<tkcontrols:SettingsExpander.Items>
<tkcontrols:SettingsCard ContentAlignment="Left">
<CheckBox x:Uid="MouseUtils_AutoActivate" IsChecked="True" />
</tkcontrols:SettingsCard>
</tkcontrols:SettingsExpander.Items>
</tkcontrols:SettingsExpander>
<tkcontrols:SettingsExpander x:Uid="Appearance_Behavior" HeaderIcon="{ui:FontIcon Glyph=&#xEB3C;}">
<tkcontrols:SettingsExpander.Items />
</tkcontrols:SettingsExpander>
</controls:SettingsGroup>
<!-- <controls:SettingsGroup Description="Zoom in and out at the location of your cursor tip." Header="Magnifier Glass">
<tkcontrols:SettingsCard Header="Enable Magnifier Glass" HeaderIcon="{ui:BitmapIcon Source=/Assets/Settings/Icons/AssistiveTools.png}">
<ToggleSwitch IsOn="True" />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsExpander
Description="Configure how to activate Dwell Cursor"
Header="Activation"
HeaderIcon="{ui:FontIcon Glyph=&#xEDA7;}">
<tkcontrols:SettingsExpander.Items>
<tkcontrols:SettingsCard Header="Initiate">
<controls:ShortcutControl />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard Header="End session">
<controls:ShortcutControl />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard ContentAlignment="Left">
<CheckBox Content="Automatically activate on utility startup" />
</tkcontrols:SettingsCard>
</tkcontrols:SettingsExpander.Items>
</tkcontrols:SettingsExpander>
<tkcontrols:SettingsCard Header="Set default zoom level" HeaderIcon="{ui:FontIcon Glyph=&#xECE9;}">
<StackPanel Orientation="Horizontal" Spacing="8">
<FontIcon
FontSize="14"
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
Glyph="&#xE738;" />
<Slider Value="50" />
<FontIcon
FontSize="14"
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
Glyph="&#xE710;" />
</StackPanel>
</tkcontrols:SettingsCard>
<tkcontrols:SettingsExpander x:Uid="Appearance_Behavior" HeaderIcon="{ui:FontIcon Glyph=&#xEB3C;}">
<tkcontrols:SettingsExpander.Items>
<tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsColor">
<controls:ColorPickerButton />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsOpacity">
<Slider
MinWidth="{StaticResource SettingActionControlMinWidth}"
Maximum="100"
Minimum="1"
Value="100" />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsRadius">
<NumberBox
MinWidth="{StaticResource SettingActionControlMinWidth}"
LargeChange="10"
Maximum="500"
Minimum="0"
SmallChange="1"
SpinButtonPlacementMode="Compact"
Value="250" />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsThickness">
<NumberBox
MinWidth="{StaticResource SettingActionControlMinWidth}"
LargeChange="10"
Maximum="50"
Minimum="1"
SmallChange="1"
SpinButtonPlacementMode="Compact"
Value="25" />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsBorderColor">
<controls:ColorPickerButton />
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsBorderSize">
<NumberBox
MinWidth="{StaticResource SettingActionControlMinWidth}"
LargeChange="2"
Maximum="50"
Minimum="0"
SmallChange="1"
SpinButtonPlacementMode="Compact"
Value="25" />
</tkcontrols:SettingsCard>
</tkcontrols:SettingsExpander.Items>
</tkcontrols:SettingsExpander>
</controls:SettingsGroup>-->
</StackPanel>
</controls:SettingsPageControl.ModuleContent>
<controls:SettingsPageControl.PrimaryLinks>
<controls:PageLink Link="https://aka.ms/PowerToysOverview_NewPlus" Text="Learn more about Adaptive Tools" />
</controls:SettingsPageControl.PrimaryLinks>
<controls:SettingsPageControl.SecondaryLinks>
<controls:PageLink Link="https://www.linkedin.com/in/christian-gaardmark/" Text="Mike Hall" />
</controls:SettingsPageControl.SecondaryLinks>
</controls:SettingsPageControl>
</helper:NavigablePage>

View File

@@ -0,0 +1,67 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using Microsoft.PowerToys.Settings.UI.Helpers;
using Microsoft.PowerToys.Settings.UI.Library;
using Microsoft.PowerToys.Settings.UI.ViewModels;
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
namespace Microsoft.PowerToys.Settings.UI.Views
{
public sealed partial class AssistiveToolsPage : NavigablePage, IRefreshablePage
{
private NewPlusViewModel ViewModel { get; set; }
public AssistiveToolsPage()
{
InitializeComponent();
}
public void RefreshEnabledState()
{
ViewModel.RefreshEnabledState();
}
private void ControlModeSelectionBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (ControlModeSelectionBox.SelectedIndex == 0)
{
DelayCard.Visibility = Visibility.Visible;
ModeComboBox.IsEnabled = true;
ReducedLineSpeedCard.Visibility = Visibility.Collapsed;
InitialSpeedCard.Visibility = Visibility.Collapsed;
}
else
{
DelayCard.Visibility = Visibility.Collapsed;
ModeComboBox.IsEnabled = false;
ReducedLineSpeedCard.Visibility = Visibility.Visible;
InitialSpeedCard.Visibility = Visibility.Visible;
}
}
private void ControlModeSelectionBox_Loaded(object sender, RoutedEventArgs e)
{
ControlModeSelectionBox.SelectionChanged += ControlModeSelectionBox_SelectionChanged;
}
private void ModeComboBox_Loaded(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)
{
ModeComboBox.SelectionChanged += ModeComboBox_SelectionChanged;
}
private void ModeComboBox_SelectionChanged(object sender, RoutedEventArgs e)
{
if (ModeComboBox.SelectedIndex == 0)
{
DelayCard.IsEnabled = true;
}
else
{
DelayCard.IsEnabled = false;
}
}
}
}

View File

@@ -289,6 +289,11 @@
<InfoBadge Style="{StaticResource NewInfoBadge}" />
</NavigationViewItem.InfoBadge>
<NavigationViewItem.MenuItems>
<NavigationViewItem
x:Name="AssistiveTools"
helpers:NavHelper.NavigateTo="views:AssistiveToolsPage"
Content="Adaptive Tools"
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/AssistiveTools.png}" />
<NavigationViewItem
x:Name="KeyboardManagerNavigationItem"
x:Uid="Shell_KeyboardManager"