/ src / settings-ui / Settings.UI.Library / FindMyMouseProperties.cs
FindMyMouseProperties.cs
 1  // Copyright (c) Microsoft Corporation
 2  // The Microsoft Corporation licenses this file to you under the MIT license.
 3  // See the LICENSE file in the project root for more information.
 4  
 5  using System.Text.Json.Serialization;
 6  
 7  using Settings.UI.Library.Attributes;
 8  
 9  namespace Microsoft.PowerToys.Settings.UI.Library
10  {
11      public class FindMyMouseProperties
12      {
13          [CmdConfigureIgnore]
14          public HotkeySettings DefaultActivationShortcut => new HotkeySettings(true, false, false, true, 0x46);
15  
16          [JsonPropertyName("activation_method")]
17          public IntProperty ActivationMethod { get; set; }
18  
19          [JsonPropertyName("include_win_key")]
20          public BoolProperty IncludeWinKey { get; set; }
21  
22          [JsonPropertyName("activation_shortcut")]
23          public HotkeySettings ActivationShortcut { get; set; }
24  
25          [JsonPropertyName("do_not_activate_on_game_mode")]
26          public BoolProperty DoNotActivateOnGameMode { get; set; }
27  
28          [JsonPropertyName("background_color")]
29          public StringProperty BackgroundColor { get; set; }
30  
31          [JsonPropertyName("spotlight_color")]
32          public StringProperty SpotlightColor { get; set; }
33  
34          [JsonPropertyName("spotlight_radius")]
35          public IntProperty SpotlightRadius { get; set; }
36  
37          [JsonPropertyName("animation_duration_ms")]
38          public IntProperty AnimationDurationMs { get; set; }
39  
40          [JsonPropertyName("spotlight_initial_zoom")]
41          public IntProperty SpotlightInitialZoom { get; set; }
42  
43          [JsonPropertyName("excluded_apps")]
44          public StringProperty ExcludedApps { get; set; }
45  
46          [JsonPropertyName("shaking_minimum_distance")]
47          public IntProperty ShakingMinimumDistance { get; set; }
48  
49          [JsonPropertyName("shaking_interval_ms")]
50          public IntProperty ShakingIntervalMs { get; set; }
51  
52          [JsonPropertyName("shaking_factor")]
53          public IntProperty ShakingFactor { get; set; }
54  
55          public FindMyMouseProperties()
56          {
57              ActivationMethod = new IntProperty(0);
58              IncludeWinKey = new BoolProperty(false);
59              ActivationShortcut = DefaultActivationShortcut;
60              DoNotActivateOnGameMode = new BoolProperty(true);
61              BackgroundColor = new StringProperty("#80000000"); // ARGB (#AARRGGBB)
62              SpotlightColor = new StringProperty("#80FFFFFF");
63              SpotlightRadius = new IntProperty(100);
64              AnimationDurationMs = new IntProperty(500);
65              SpotlightInitialZoom = new IntProperty(9);
66              ExcludedApps = new StringProperty();
67              ShakingMinimumDistance = new IntProperty(1000);
68              ShakingIntervalMs = new IntProperty(1000);
69              ShakingFactor = new IntProperty(400);
70          }
71      }
72  }