mirror of
https://github.com/microsoft/PowerToys.git
synced 2024-12-30 14:17:56 +08:00
ff1e04b957
* Added union class * Added key to shortcut backend implementation * Added tests * Added tests for CapsLock/modifier workaround for key to shortcut * Added correct JSON loading step * Cleaned shortcut remap code to use helper function for modifier keys * Removed RemapKey class * Enable Key to Shortcut in UI along with Type Shortcut in Remap key window * Fixed orphaning and unsuccessful remap dialog * Fixed column width * Renamed second type key button * Fixed Type Shortcut issues * Fixed shortcut to key backend logic and manually tested most scenarios * Added s2k in UI, manually verified its working * Added one more k2s test * Added tests for s2k * Added tests for Caps Lock workaround in shortcut remaps * Fixed formatting * Fixed formatting * Removed safety code since it can cause issues with code generated key up events * Added test for key up scenario * Tweaked warning text * Tweaked text * Tweaked text to fit in two lines * telemetry additions
70 lines
3.0 KiB
C++
70 lines
3.0 KiB
C++
#include "pch.h"
|
|
#include "trace.h"
|
|
|
|
TRACELOGGING_DEFINE_PROVIDER(
|
|
g_hProvider,
|
|
"Microsoft.PowerToys",
|
|
// {38e8889b-9731-53f5-e901-e8a7c1753074}
|
|
(0x38e8889b, 0x9731, 0x53f5, 0xe9, 0x01, 0xe8, 0xa7, 0xc1, 0x75, 0x30, 0x74),
|
|
TraceLoggingOptionProjectTelemetry());
|
|
|
|
void Trace::RegisterProvider() noexcept
|
|
{
|
|
TraceLoggingRegister(g_hProvider);
|
|
}
|
|
|
|
void Trace::UnregisterProvider() noexcept
|
|
{
|
|
TraceLoggingUnregister(g_hProvider);
|
|
}
|
|
|
|
// Log if the user has KBM enabled or disabled - Can also be used to see how often users have to restart the keyboard hook
|
|
void Trace::EnableKeyboardManager(const bool enabled) noexcept
|
|
{
|
|
TraceLoggingWrite(
|
|
g_hProvider,
|
|
"KeyboardManager_EnableKeyboardManager",
|
|
ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
|
|
TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
|
|
TraceLoggingBoolean(enabled, "Enabled"));
|
|
}
|
|
|
|
// Log number of key remaps when the user uses Edit Keyboard and saves settings
|
|
void Trace::KeyRemapCount(const DWORD keyToKeyCount, const DWORD keyToShortcutCount) noexcept
|
|
{
|
|
TraceLoggingWrite(
|
|
g_hProvider,
|
|
"KeyboardManager_KeyRemapCount",
|
|
ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
|
|
TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
|
|
TraceLoggingValue(keyToKeyCount + keyToShortcutCount, "KeyRemapCount"),
|
|
TraceLoggingValue(keyToKeyCount, "KeyToKeyRemapCount"),
|
|
TraceLoggingValue(keyToShortcutCount, "KeyToShortcutRemapCount"));
|
|
}
|
|
|
|
// Log number of os level shortcut remaps when the user uses Edit Shortcuts and saves settings
|
|
void Trace::OSLevelShortcutRemapCount(const DWORD shortcutToShortcutCount, const DWORD shortcutToKeyCount) noexcept
|
|
{
|
|
TraceLoggingWrite(
|
|
g_hProvider,
|
|
"KeyboardManager_OSLevelShortcutRemapCount",
|
|
ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
|
|
TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
|
|
TraceLoggingValue(shortcutToShortcutCount + shortcutToKeyCount, "OSLevelShortcutRemapCount"),
|
|
TraceLoggingValue(shortcutToShortcutCount, "OSLevelShortcutToShortcutRemapCount"),
|
|
TraceLoggingValue(shortcutToKeyCount, "OSLevelShortcutToKeyRemapCount"));
|
|
}
|
|
|
|
// Log number of app specific shortcut remaps when the user uses Edit Shortcuts and saves settings
|
|
void Trace::AppSpecificShortcutRemapCount(const DWORD shortcutToShortcutCount, const DWORD shortcutToKeyCount) noexcept
|
|
{
|
|
TraceLoggingWrite(
|
|
g_hProvider,
|
|
"KeyboardManager_AppSpecificShortcutRemapCount",
|
|
ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
|
|
TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
|
|
TraceLoggingValue(shortcutToShortcutCount + shortcutToKeyCount, "AppSpecificShortcutRemapCount"),
|
|
TraceLoggingValue(shortcutToShortcutCount, "AppSpecificShortcutToShortcutRemapCount"),
|
|
TraceLoggingValue(shortcutToKeyCount, "AppSpecificShortcutToKeyRemapCount"));
|
|
}
|