/ src / settings-ui / Settings.UI.Library / CursorWrapProperties.cs
CursorWrapProperties.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 CursorWrapProperties
12      {
13          [CmdConfigureIgnore]
14          public HotkeySettings DefaultActivationShortcut => new HotkeySettings(true, false, true, false, 0x55); // Win + Alt + U
15  
16          [JsonPropertyName("activation_shortcut")]
17          public HotkeySettings ActivationShortcut { get; set; }
18  
19          [JsonPropertyName("auto_activate")]
20          public BoolProperty AutoActivate { get; set; }
21  
22          [JsonPropertyName("disable_wrap_during_drag")]
23          public BoolProperty DisableWrapDuringDrag { get; set; }
24  
25          [JsonPropertyName("wrap_mode")]
26          public IntProperty WrapMode { get; set; }
27  
28          [JsonPropertyName("disable_cursor_wrap_on_single_monitor")]
29          public BoolProperty DisableCursorWrapOnSingleMonitor { get; set; }
30  
31          public CursorWrapProperties()
32          {
33              ActivationShortcut = DefaultActivationShortcut;
34              AutoActivate = new BoolProperty(false);
35              DisableWrapDuringDrag = new BoolProperty(true);
36              WrapMode = new IntProperty(0); // 0=Both (default), 1=VerticalOnly, 2=HorizontalOnly
37              DisableCursorWrapOnSingleMonitor = new BoolProperty(false);
38          }
39      }
40  }