mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-04 02:06:36 +02:00
* [KBM] Allow remapping keys and shortcuts to arbitrary unicode sequences * f: spelling * f: tests * f: split shortcut configuration * f: address ui layout comments * [BugReport]Don't report personal info * f: fix crash in KBME * f: add missed type button * f: fix shortcut line UI elements alignment * f: align elements size * f: add warning about non-mapped keys
49 lines
1.4 KiB
C#
49 lines
1.4 KiB
C#
// 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 System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
using Microsoft.PowerToys.Settings.UI.Library.Utilities;
|
|
|
|
namespace Microsoft.PowerToys.Settings.UI.Library
|
|
{
|
|
public class KeysDataModel
|
|
{
|
|
[JsonPropertyName("originalKeys")]
|
|
public string OriginalKeys { get; set; }
|
|
|
|
[JsonPropertyName("newRemapKeys")]
|
|
public string NewRemapKeys { get; set; }
|
|
|
|
[JsonPropertyName("unicodeText")]
|
|
public string NewRemapString { get; set; }
|
|
|
|
private static List<string> MapKeys(string stringOfKeys)
|
|
{
|
|
return stringOfKeys
|
|
.Split(';')
|
|
.Select(uint.Parse)
|
|
.Select(Helper.GetKeyName)
|
|
.ToList();
|
|
}
|
|
|
|
public List<string> GetMappedOriginalKeys()
|
|
{
|
|
return MapKeys(OriginalKeys);
|
|
}
|
|
|
|
public List<string> GetMappedNewRemapKeys()
|
|
{
|
|
return string.IsNullOrEmpty(NewRemapString) ? MapKeys(NewRemapKeys) : new List<string> { NewRemapString };
|
|
}
|
|
|
|
public string ToJsonString()
|
|
{
|
|
return JsonSerializer.Serialize(this);
|
|
}
|
|
}
|
|
}
|