From 0c5b528c54998c335824a6158688dae921d3e058 Mon Sep 17 00:00:00 2001 From: sosssego Date: Wed, 8 Feb 2023 11:01:13 +0000 Subject: [PATCH] [Analyzers][CPP]Changes to fix warning 26493 on src/modules/ (H to K) (#23484) * Changes to fix warning 26493 on src/modules/ starting with letter H to Letter K * change from PR comments --- .../Hosts/HostsModuleInterface/dllmain.cpp | 2 +- .../ImageResizerContextMenu/dllmain.cpp | 4 +- .../imageresizer/dll/ContextMenuHandler.cpp | 8 +- .../BufferValidationHelpers.cpp | 14 ++-- .../EditKeyboardWindow.cpp | 8 +- .../EditShortcutsWindow.cpp | 10 +-- .../KeyDropDownControl.cpp | 2 +- .../ShortcutControl.cpp | 2 +- .../SingleKeyRemapControl.cpp | 2 +- .../XamlBridge.cpp | 6 +- .../KeyboardManagerEditorLibrary/XamlBridge.h | 2 +- .../KeyboardEventHandlers.cpp | 78 +++++++++---------- .../OSLevelShortcutRemappingTests.cpp | 2 +- .../keyboardmanager/common/Helpers.cpp | 22 +++--- .../common/KeyboardEventHandlers.cpp | 2 +- .../common/MappingConfiguration.cpp | 2 +- .../keyboardmanager/common/Shortcut.cpp | 10 +-- 17 files changed, 88 insertions(+), 88 deletions(-) diff --git a/src/modules/Hosts/HostsModuleInterface/dllmain.cpp b/src/modules/Hosts/HostsModuleInterface/dllmain.cpp index 8daa522b5d..aeb05ba2e6 100644 --- a/src/modules/Hosts/HostsModuleInterface/dllmain.cpp +++ b/src/modules/Hosts/HostsModuleInterface/dllmain.cpp @@ -57,7 +57,7 @@ private: void bring_process_to_front() { auto enum_windows = [](HWND hwnd, LPARAM param) -> BOOL { - HANDLE process_handle = (HANDLE)param; + HANDLE process_handle = reinterpret_cast(param); DWORD window_process_id = 0; GetWindowThreadProcessId(hwnd, &window_process_id); diff --git a/src/modules/imageresizer/ImageResizerContextMenu/dllmain.cpp b/src/modules/imageresizer/ImageResizerContextMenu/dllmain.cpp index 4b940e3206..26bf622520 100644 --- a/src/modules/imageresizer/ImageResizerContextMenu/dllmain.cpp +++ b/src/modules/imageresizer/ImageResizerContextMenu/dllmain.cpp @@ -227,7 +227,7 @@ private: auto val = get_last_error_message(GetLastError()); Logger::warn(L"UuidCreate can not create guid. {}", val.has_value() ? val.value() : L""); } - else if (UuidToString(&temp_uuid, (RPC_WSTR*)&uuid_chars) != RPC_S_OK) + else if (UuidToString(&temp_uuid, reinterpret_cast(& uuid_chars)) != RPC_S_OK) { auto val = get_last_error_message(GetLastError()); Logger::warn(L"UuidToString can not convert to string. {}", val.has_value() ? val.value() : L""); @@ -236,7 +236,7 @@ private: if (uuid_chars != nullptr) { pipe_name += std::wstring(uuid_chars); - RpcStringFree((RPC_WSTR*)&uuid_chars); + RpcStringFree(reinterpret_cast(&uuid_chars)); uuid_chars = nullptr; } create_pipe_thread = std::thread(&ImageResizerContextMenuCommand::StartNamedPipeServerAndSendData, this, pipe_name); diff --git a/src/modules/imageresizer/dll/ContextMenuHandler.cpp b/src/modules/imageresizer/dll/ContextMenuHandler.cpp index 6440b9677b..fddf2b4497 100644 --- a/src/modules/imageresizer/dll/ContextMenuHandler.cpp +++ b/src/modules/imageresizer/dll/ContextMenuHandler.cpp @@ -130,7 +130,7 @@ HRESULT CContextMenuHandler::QueryContextMenu(_In_ HMENU hmenu, UINT indexMenu, mii.fType = MFT_STRING; mii.dwTypeData = (PWSTR)strResizePictures; mii.fState = MFS_ENABLED; - HICON hIcon = (HICON)LoadImage(g_hInst_imageResizer, MAKEINTRESOURCE(IDI_RESIZE_PICTURES), IMAGE_ICON, 16, 16, 0); + HICON hIcon = static_cast(LoadImage(g_hInst_imageResizer, MAKEINTRESOURCE(IDI_RESIZE_PICTURES), IMAGE_ICON, 16, 16, 0)); if (hIcon) { mii.fMask |= MIIM_BITMAP; @@ -185,7 +185,7 @@ HRESULT CContextMenuHandler::GetCommandString(UINT_PTR idCmd, UINT uType, _In_ U { if (uType == GCS_VERBW) { - wcscpy_s((LPWSTR)pszName, cchMax, RESIZE_PICTURES_VERBW); + wcscpy_s(reinterpret_cast(pszName), cchMax, RESIZE_PICTURES_VERBW); } } else @@ -211,7 +211,7 @@ HRESULT CContextMenuHandler::InvokeCommand(_In_ CMINVOKECOMMANDINFO* pici) } else if (fUnicode && HIWORD(((CMINVOKECOMMANDINFOEX*)pici)->lpVerbW)) { - if (wcscmp(((CMINVOKECOMMANDINFOEX*)pici)->lpVerbW, RESIZE_PICTURES_VERBW) == 0) + if (wcscmp((reinterpret_cast(pici))->lpVerbW, RESIZE_PICTURES_VERBW) == 0) { hr = ResizePictures(pici, nullptr); } @@ -230,7 +230,7 @@ HRESULT CContextMenuHandler::ResizePictures(CMINVOKECOMMANDINFO* pici, IShellIte // Set the application path based on the location of the dll std::wstring path = get_module_folderpath(g_hInst_imageResizer); path = path + L"\\PowerToys.ImageResizer.exe"; - LPTSTR lpApplicationName = (LPTSTR)path.c_str(); + LPTSTR lpApplicationName = &path[0]; // Create an anonymous pipe to stream filenames SECURITY_ATTRIBUTES sa; HANDLE hReadPipe; diff --git a/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/BufferValidationHelpers.cpp b/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/BufferValidationHelpers.cpp index 3de686b6e0..79ffcf0152 100644 --- a/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/BufferValidationHelpers.cpp +++ b/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/BufferValidationHelpers.cpp @@ -29,9 +29,9 @@ namespace BufferValidationHelpers if (selectedKeyCode != -1) { // Check if the value being set is the same as the other column - if (remapBuffer[rowIndex].first[std::abs(int(colIndex) - 1)].index() == 0) + if (remapBuffer[rowIndex].first[std::abs(colIndex - 1)].index() == 0) { - DWORD otherColumnKeyCode = std::get(remapBuffer[rowIndex].first[std::abs(int(colIndex) - 1)]); + DWORD otherColumnKeyCode = std::get(remapBuffer[rowIndex].first[std::abs(colIndex - 1)]); if (otherColumnKeyCode == selectedKeyCode || IsKeyRemappingToItsCombinedKey(selectedKeyCode, otherColumnKeyCode)) { errorType = ShortcutErrorType::MapToSameKey; @@ -189,7 +189,7 @@ namespace BufferValidationHelpers // If the user tries to set an action key check if all drop down menus after this are empty if it is not the first key. // If it is a hybrid control, this can be done even on the first key bool isClear = true; - for (int i = dropDownIndex + 1; i < (int)dropDownCount; i++) + for (int i = dropDownIndex + 1; i < static_cast(dropDownCount); i++) { if (selectedCodes[i] != -1) { @@ -244,9 +244,9 @@ namespace BufferValidationHelpers if (tempShortcut.index() == 1) { // If shortcut to shortcut - if (remapBuffer[rowIndex].first[std::abs(int(colIndex) - 1)].index() == 1) + if (remapBuffer[rowIndex].first[std::abs(colIndex - 1)].index() == 1) { - auto& shortcut = std::get(remapBuffer[rowIndex].first[std::abs(int(colIndex) - 1)]); + auto& shortcut = std::get(remapBuffer[rowIndex].first[std::abs(colIndex - 1)]); if (shortcut == std::get(tempShortcut) && EditorHelpers::IsValidShortcut(shortcut) && EditorHelpers::IsValidShortcut(std::get(tempShortcut))) { errorType = ShortcutErrorType::MapToSameShortcut; @@ -258,9 +258,9 @@ namespace BufferValidationHelpers else { // If key to key - if (remapBuffer[rowIndex].first[std::abs(int(colIndex) - 1)].index() == 0) + if (remapBuffer[rowIndex].first[std::abs(colIndex - 1)].index() == 0) { - DWORD otherColumnKeyCode = std::get(remapBuffer[rowIndex].first[std::abs(int(colIndex) - 1)]); + DWORD otherColumnKeyCode = std::get(remapBuffer[rowIndex].first[std::abs(colIndex - 1)]); DWORD shortcutKeyCode = std::get(tempShortcut); if ((otherColumnKeyCode == shortcutKeyCode || IsKeyRemappingToItsCombinedKey(otherColumnKeyCode, shortcutKeyCode)) && otherColumnKeyCode != NULL && shortcutKeyCode != NULL) { diff --git a/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/EditKeyboardWindow.cpp b/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/EditKeyboardWindow.cpp index 1230a25f74..2c4f2c681c 100644 --- a/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/EditKeyboardWindow.cpp +++ b/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/EditKeyboardWindow.cpp @@ -137,14 +137,14 @@ inline void CreateEditKeyboardWindowImpl(HINSTANCE hInst, KBMEditor::KeyboardMan windowClass.lpfnWndProc = EditKeyboardWindowProc; windowClass.hInstance = hInst; windowClass.lpszClassName = szWindowClass; - windowClass.hbrBackground = (HBRUSH)(COLOR_WINDOW); - windowClass.hIcon = (HICON)LoadImageW( + windowClass.hbrBackground = reinterpret_cast(COLOR_WINDOW); + windowClass.hIcon = static_cast(LoadImageW( windowClass.hInstance, MAKEINTRESOURCE(IDS_KEYBOARDMANAGER_ICON), IMAGE_ICON, 48, 48, - LR_DEFAULTCOLOR); + LR_DEFAULTCOLOR)); if (RegisterClassEx(&windowClass) == NULL) { @@ -433,7 +433,7 @@ LRESULT CALLBACK EditKeyboardWindowProc(HWND hWnd, UINT messageCode, WPARAM wPar // To avoid UI elements overlapping on making the window smaller enforce a minimum window size case WM_GETMINMAXINFO: { - LPMINMAXINFO mmi = (LPMINMAXINFO)lParam; + LPMINMAXINFO mmi = reinterpret_cast(lParam); float minWidth = EditorConstants::MinimumEditKeyboardWindowWidth; float minHeight = EditorConstants::MinimumEditKeyboardWindowHeight; DPIAware::Convert(MonitorFromWindow(hWnd, MONITOR_DEFAULTTONULL), minWidth, minHeight); diff --git a/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/EditShortcutsWindow.cpp b/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/EditShortcutsWindow.cpp index 0350cc590a..d312e0091a 100644 --- a/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/EditShortcutsWindow.cpp +++ b/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/EditShortcutsWindow.cpp @@ -75,14 +75,14 @@ inline void CreateEditShortcutsWindowImpl(HINSTANCE hInst, KBMEditor::KeyboardMa windowClass.lpfnWndProc = EditShortcutsWindowProc; windowClass.hInstance = hInst; windowClass.lpszClassName = szWindowClass; - windowClass.hbrBackground = (HBRUSH)(COLOR_WINDOW); - windowClass.hIcon = (HICON)LoadImageW( + windowClass.hbrBackground = reinterpret_cast(COLOR_WINDOW); + windowClass.hIcon = static_cast(LoadImageW( windowClass.hInstance, MAKEINTRESOURCE(IDS_KEYBOARDMANAGER_ICON), IMAGE_ICON, 48, 48, - LR_DEFAULTCOLOR); + LR_DEFAULTCOLOR)); if (RegisterClassEx(&windowClass) == NULL) { MessageBox(NULL, GET_RESOURCE_STRING(IDS_REGISTERCLASSFAILED_ERRORMESSAGE).c_str(), GET_RESOURCE_STRING(IDS_REGISTERCLASSFAILED_ERRORTITLE).c_str(), NULL); @@ -199,7 +199,7 @@ inline void CreateEditShortcutsWindowImpl(HINSTANCE hInst, KBMEditor::KeyboardMa StackPanel tableHeader = StackPanel(); tableHeader.Orientation(Orientation::Horizontal); tableHeader.Margin({ 10, 0, 0, 10 }); - auto originalShortcutContainer = UIHelpers::GetWrapped(originalShortcutHeader, EditorConstants::ShortcutOriginColumnWidth + (double)EditorConstants::ShortcutArrowColumnWidth); + auto originalShortcutContainer = UIHelpers::GetWrapped(originalShortcutHeader, EditorConstants::ShortcutOriginColumnWidth + static_cast(EditorConstants::ShortcutArrowColumnWidth)); tableHeader.Children().Append(originalShortcutContainer.as()); auto newShortcutHeaderContainer = UIHelpers::GetWrapped(newShortcutHeader, EditorConstants::ShortcutTargetColumnWidth); tableHeader.Children().Append(newShortcutHeaderContainer.as()); @@ -386,7 +386,7 @@ LRESULT CALLBACK EditShortcutsWindowProc(HWND hWnd, UINT messageCode, WPARAM wPa // To avoid UI elements overlapping on making the window smaller enforce a minimum window size case WM_GETMINMAXINFO: { - LPMINMAXINFO mmi = (LPMINMAXINFO)lParam; + LPMINMAXINFO mmi = reinterpret_cast(lParam); float minWidth = EditorConstants::MinimumEditShortcutsWindowWidth; float minHeight = EditorConstants::MinimumEditShortcutsWindowHeight; DPIAware::Convert(MonitorFromWindow(hWnd, MONITOR_DEFAULTTONULL), minWidth, minHeight); diff --git a/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/KeyDropDownControl.cpp b/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/KeyDropDownControl.cpp index 44e109ee19..c847ad2a1b 100644 --- a/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/KeyDropDownControl.cpp +++ b/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/KeyDropDownControl.cpp @@ -326,7 +326,7 @@ void KeyDropDownControl::AddDropDown(StackPanel& table, StackPanel row, Variable keyDropDownControlObjects[keyDropDownControlObjects.size() - 1]->SetSelectionHandler(table, row, parent, colIndex, shortcutRemapBuffer, keyDropDownControlObjects, targetApp, isHybridControl, isSingleKeyWindow); // Update accessible name - SetAccessibleNameForComboBox(keyDropDownControlObjects[keyDropDownControlObjects.size() - 1]->GetComboBox(), (int)keyDropDownControlObjects.size()); + SetAccessibleNameForComboBox(keyDropDownControlObjects[keyDropDownControlObjects.size() - 1]->GetComboBox(), static_cast(keyDropDownControlObjects.size())); } // Function to get the list of key codes from the shortcut combo box stack panel diff --git a/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/ShortcutControl.cpp b/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/ShortcutControl.cpp index f41e767f6c..f45c3d1952 100644 --- a/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/ShortcutControl.cpp +++ b/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/ShortcutControl.cpp @@ -254,7 +254,7 @@ void ShortcutControl::AddNewShortcutControlRow(StackPanel& parent, std::vectorGetShortcutControl(), keyboardRemapControlObjects[keyboardRemapControlObjects.size() - 1][1]->GetShortcutControl(), targetAppTextBox, deleteShortcut, (int)keyboardRemapControlObjects.size()); + UpdateAccessibleNames(keyboardRemapControlObjects[keyboardRemapControlObjects.size() - 1][0]->GetShortcutControl(), keyboardRemapControlObjects[keyboardRemapControlObjects.size() - 1][1]->GetShortcutControl(), targetAppTextBox, deleteShortcut, static_cast(keyboardRemapControlObjects.size())); // Set the shortcut text if the two vectors are not empty (i.e. default args) if (EditorHelpers::IsValidShortcut(originalKeys) && !(newKeys.index() == 0 && std::get(newKeys) == NULL) && !(newKeys.index() == 1 && !EditorHelpers::IsValidShortcut(std::get(newKeys)))) diff --git a/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/SingleKeyRemapControl.cpp b/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/SingleKeyRemapControl.cpp index a58f8b8c36..b83e71906b 100644 --- a/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/SingleKeyRemapControl.cpp +++ b/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/SingleKeyRemapControl.cpp @@ -206,7 +206,7 @@ void SingleKeyRemapControl::AddNewControlKeyRemapRow(StackPanel& parent, std::ve } // Set accessible names - UpdateAccessibleNames(keyboardRemapControlObjects.back()[0]->getSingleKeyRemapControl(), keyboardRemapControlObjects.back()[1]->getSingleKeyRemapControl(), deleteRemapKeys, (int)keyboardRemapControlObjects.size()); + UpdateAccessibleNames(keyboardRemapControlObjects.back()[0]->getSingleKeyRemapControl(), keyboardRemapControlObjects.back()[1]->getSingleKeyRemapControl(), deleteRemapKeys, static_cast(keyboardRemapControlObjects.size())); } // Function to return the stack panel element of the SingleKeyRemapControl. This is the externally visible UI element which can be used to add it to other layouts diff --git a/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/XamlBridge.cpp b/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/XamlBridge.cpp index 637161b527..fe68461559 100644 --- a/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/XamlBridge.cpp +++ b/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/XamlBridge.cpp @@ -141,7 +141,7 @@ bool XamlBridge::NavigateFocus(MSG* msg) } // Function to run the message loop for the xaml island window -int XamlBridge::MessageLoop() +WPARAM XamlBridge::MessageLoop() { MSG msg = {}; HRESULT hr = S_OK; @@ -160,10 +160,10 @@ int XamlBridge::MessageLoop() } Logger::trace("XamlBridge::MessageLoop() stopped"); - return (int)msg.wParam; + return msg.wParam; } -static const WPARAM invalidKey = (WPARAM)-1; +static const WPARAM invalidKey = 0xFFFFFFFFFFFFFFFF; constexpr WPARAM GetKeyFromReason(winrt::Windows::UI::Xaml::Hosting::XamlSourceFocusNavigationReason reason) { diff --git a/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/XamlBridge.h b/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/XamlBridge.h index bb01e4961b..20453bd082 100644 --- a/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/XamlBridge.h +++ b/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/XamlBridge.h @@ -5,7 +5,7 @@ class XamlBridge { public: // Function to run the message loop for the xaml island window - int MessageLoop(); + WPARAM MessageLoop(); // Constructor XamlBridge(HWND parent) : diff --git a/src/modules/keyboardmanager/KeyboardManagerEngineLibrary/KeyboardEventHandlers.cpp b/src/modules/keyboardmanager/KeyboardManagerEngineLibrary/KeyboardEventHandlers.cpp index f2ee2447f3..be2a8cc02b 100644 --- a/src/modules/keyboardmanager/KeyboardManagerEngineLibrary/KeyboardEventHandlers.cpp +++ b/src/modules/keyboardmanager/KeyboardManagerEngineLibrary/KeyboardEventHandlers.cpp @@ -66,11 +66,11 @@ namespace KeyboardEventHandlers { if (data->wParam == WM_KEYUP || data->wParam == WM_SYSKEYUP) { - Helpers::SetKeyEvent(keyEventList, 0, INPUT_KEYBOARD, (WORD)target, KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SINGLEKEY_FLAG); + Helpers::SetKeyEvent(keyEventList, 0, INPUT_KEYBOARD, static_cast(target), KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SINGLEKEY_FLAG); } else { - Helpers::SetKeyEvent(keyEventList, 0, INPUT_KEYBOARD, (WORD)target, 0, KeyboardManagerConstants::KEYBOARDMANAGER_SINGLEKEY_FLAG); + Helpers::SetKeyEvent(keyEventList, 0, INPUT_KEYBOARD, static_cast(target), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SINGLEKEY_FLAG); } } else @@ -79,7 +79,7 @@ namespace KeyboardEventHandlers Shortcut targetShortcut = std::get(it->second); if (data->wParam == WM_KEYUP || data->wParam == WM_SYSKEYUP) { - Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, (WORD)targetShortcut.GetActionKey(), KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SINGLEKEY_FLAG); + Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, static_cast(targetShortcut.GetActionKey()), KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SINGLEKEY_FLAG); i++; Helpers::SetModifierKeyEvents(targetShortcut, ModifierKey::Disabled, keyEventList, i, false, KeyboardManagerConstants::KEYBOARDMANAGER_SINGLEKEY_FLAG); // Dummy key is not required here since SetModifierKeyEvents will only add key-up events for the modifiers here, and the action key key-up is already sent before it @@ -88,7 +88,7 @@ namespace KeyboardEventHandlers { // Dummy key is not required here since SetModifierKeyEvents will only add key-down events for the modifiers here, and the action key key-down is already sent after it Helpers::SetModifierKeyEvents(targetShortcut, ModifierKey::Disabled, keyEventList, i, true, KeyboardManagerConstants::KEYBOARDMANAGER_SINGLEKEY_FLAG); - Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, (WORD)targetShortcut.GetActionKey(), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SINGLEKEY_FLAG); + Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, static_cast(targetShortcut.GetActionKey()), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SINGLEKEY_FLAG); i++; } } @@ -236,13 +236,13 @@ namespace KeyboardEventHandlers memset(keyEventList, 0, sizeof(keyEventList)); int i = 0; Helpers::SetModifierKeyEvents(std::get(it->second.targetShortcut), it->second.winKeyInvoked, keyEventList, i, true, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG, it->first); - Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, (WORD)std::get(it->second.targetShortcut).GetActionKey(), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); + Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, static_cast(std::get(it->second.targetShortcut).GetActionKey()), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); i++; } else { // Dummy key, key up for all the original shortcut modifier keys and key down for all the new shortcut keys but common keys in each are not repeated - key_count = KeyboardManagerConstants::DUMMY_KEY_EVENT_SIZE + (src_size - 1) + (dest_size) - (2 * (size_t)commonKeys); + key_count = KeyboardManagerConstants::DUMMY_KEY_EVENT_SIZE + (src_size - 1) + (dest_size) - (2 * static_cast(commonKeys)); keyEventList = new INPUT[key_count](); memset(keyEventList, 0, sizeof(keyEventList)); @@ -255,7 +255,7 @@ namespace KeyboardEventHandlers // Set new shortcut key down state Helpers::SetModifierKeyEvents(std::get(it->second.targetShortcut), it->second.winKeyInvoked, keyEventList, i, true, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG, it->first); - Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, (WORD)std::get(it->second.targetShortcut).GetActionKey(), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); + Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, static_cast(std::get(it->second.targetShortcut).GetActionKey()), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); i++; } @@ -295,14 +295,14 @@ namespace KeyboardEventHandlers // Set target key down state if (std::get(it->second.targetShortcut) != CommonSharedConstants::VK_DISABLED) { - Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, (WORD)Helpers::FilterArtificialKeys(std::get(it->second.targetShortcut)), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); + Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, static_cast(Helpers::FilterArtificialKeys(std::get(it->second.targetShortcut))), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); i++; } // Modifier state reset might be required for this key depending on the shortcut's action and target modifier - ex: Win+Caps -> Ctrl if (it->first.GetCtrlKey() == NULL && it->first.GetAltKey() == NULL && it->first.GetShiftKey() == NULL) { - ResetIfModifierKeyForLowerLevelKeyHandlers(ii, (WORD)Helpers::FilterArtificialKeys(std::get(it->second.targetShortcut)), data->lParam->vkCode); + ResetIfModifierKeyForLowerLevelKeyHandlers(ii,static_cast(Helpers::FilterArtificialKeys(std::get(it->second.targetShortcut))), data->lParam->vkCode); } } @@ -313,7 +313,7 @@ namespace KeyboardEventHandlers state.SetActivatedApp(*activatedApp); } - UINT res = ii.SendVirtualInput((UINT)key_count, keyEventList, sizeof(INPUT)); + UINT res = ii.SendVirtualInput(static_cast(key_count), keyEventList, sizeof(INPUT)); delete[] keyEventList; return 1; @@ -350,7 +350,7 @@ namespace KeyboardEventHandlers else { // release all new shortcut keys except the common modifiers and add all original shortcut modifiers except the common ones, and dummy key - key_count = (dest_size - 1) + (src_size - 2) - (2 * (size_t)commonKeys) + KeyboardManagerConstants::DUMMY_KEY_EVENT_SIZE; + key_count = (dest_size - 1) + (src_size - 2) - (2 * static_cast(commonKeys)) + KeyboardManagerConstants::DUMMY_KEY_EVENT_SIZE; } // If the target shortcut's action key is pressed, then it should be released @@ -368,7 +368,7 @@ namespace KeyboardEventHandlers int i = 0; if (isActionKeyPressed) { - Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, (WORD)std::get(it->second.targetShortcut).GetActionKey(), KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); + Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, static_cast(std::get(it->second.targetShortcut).GetActionKey()), KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); i++; } Helpers::SetModifierKeyEvents(std::get(it->second.targetShortcut), it->second.winKeyInvoked, keyEventList, i, false, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG, it->first, data->lParam->vkCode); @@ -407,7 +407,7 @@ namespace KeyboardEventHandlers int i = 0; if (std::get(it->second.targetShortcut) != CommonSharedConstants::VK_DISABLED && isTargetKeyPressed) { - Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, (WORD)Helpers::FilterArtificialKeys(std::get(it->second.targetShortcut)), KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); + Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, static_cast(Helpers::FilterArtificialKeys(std::get(it->second.targetShortcut))), KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); i++; } @@ -432,7 +432,7 @@ namespace KeyboardEventHandlers // key count can be 0 if both shortcuts have same modifiers and the action key is not held down. delete will throw an error if keyEventList is empty if (key_count > 0) { - UINT res = ii.SendVirtualInput((UINT)key_count, keyEventList, sizeof(INPUT)); + UINT res = ii.SendVirtualInput(static_cast(key_count), keyEventList, sizeof(INPUT)); delete[] keyEventList; } return 1; @@ -457,14 +457,14 @@ namespace KeyboardEventHandlers memset(keyEventList, 0, sizeof(keyEventList)); if (remapToShortcut) { - Helpers::SetKeyEvent(keyEventList, 0, INPUT_KEYBOARD, (WORD)std::get(it->second.targetShortcut).GetActionKey(), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); + Helpers::SetKeyEvent(keyEventList, 0, INPUT_KEYBOARD, static_cast(std::get(it->second.targetShortcut).GetActionKey()), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); } else { - Helpers::SetKeyEvent(keyEventList, 0, INPUT_KEYBOARD, (WORD)Helpers::FilterArtificialKeys(std::get(it->second.targetShortcut)), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); + Helpers::SetKeyEvent(keyEventList, 0, INPUT_KEYBOARD, static_cast(Helpers::FilterArtificialKeys(std::get(it->second.targetShortcut))), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); } - UINT res = ii.SendVirtualInput((UINT)key_count, keyEventList, sizeof(INPUT)); + UINT res = ii.SendVirtualInput(static_cast(key_count), keyEventList, sizeof(INPUT)); delete[] keyEventList; return 1; } @@ -478,7 +478,7 @@ namespace KeyboardEventHandlers { keyEventList = new INPUT[key_count](); memset(keyEventList, 0, sizeof(keyEventList)); - Helpers::SetKeyEvent(keyEventList, 0, INPUT_KEYBOARD, (WORD)std::get(it->second.targetShortcut).GetActionKey(), KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); + Helpers::SetKeyEvent(keyEventList, 0, INPUT_KEYBOARD, static_cast(std::get(it->second.targetShortcut).GetActionKey()), KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); } else if (std::get(it->second.targetShortcut) == CommonSharedConstants::VK_DISABLED) { @@ -497,7 +497,7 @@ namespace KeyboardEventHandlers { keyEventList = new INPUT[key_count](); memset(keyEventList, 0, sizeof(keyEventList)); - Helpers::SetKeyEvent(keyEventList, 0, INPUT_KEYBOARD, (WORD)Helpers::FilterArtificialKeys(std::get(it->second.targetShortcut)), KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); + Helpers::SetKeyEvent(keyEventList, 0, INPUT_KEYBOARD,static_cast(Helpers::FilterArtificialKeys(std::get(it->second.targetShortcut))), KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); } else { @@ -512,7 +512,7 @@ namespace KeyboardEventHandlers // Release new key state int i = 0; - Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, (WORD)Helpers::FilterArtificialKeys(std::get(it->second.targetShortcut)), KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); + Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, static_cast(Helpers::FilterArtificialKeys(std::get(it->second.targetShortcut))), KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); i++; // Set original shortcut key down state except the action key @@ -534,7 +534,7 @@ namespace KeyboardEventHandlers } } - UINT res = ii.SendVirtualInput((UINT)key_count, keyEventList, sizeof(INPUT)); + UINT res = ii.SendVirtualInput(static_cast(key_count), keyEventList, sizeof(INPUT)); delete[] keyEventList; return 1; } @@ -586,23 +586,23 @@ namespace KeyboardEventHandlers if (newRemapping.RemapToKey()) { DWORD to = std::get<0>(newRemapping.targetShortcut); - bool isLastKeyStillPressed = ii.GetVirtualKeyState((WORD)from.actionKey); + bool isLastKeyStillPressed = ii.GetVirtualKeyState(static_cast(from.actionKey)); key_count = static_cast(from.Size()) - 1 + 1 + (isLastKeyStillPressed ? 1 : 0); keyEventList = new INPUT[key_count](); memset(keyEventList, 0, sizeof(keyEventList)); int i = 0; Helpers::SetModifierKeyEvents(from, it->second.winKeyInvoked, keyEventList, i, false, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); - if (ii.GetVirtualKeyState((WORD)from.actionKey)) + if (ii.GetVirtualKeyState(static_cast(from.actionKey))) { // If the action key from the last shortcut is still being pressed, release it. - Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, (WORD)from.actionKey, KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); + Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, static_cast(from.actionKey), KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); i++; } - Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, (WORD)to, 0, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); + Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, static_cast(to), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); }else { Shortcut to = std::get(newRemapping.targetShortcut); - bool isLastKeyStillPressed = ii.GetVirtualKeyState((WORD)from.actionKey); + bool isLastKeyStillPressed = ii.GetVirtualKeyState(static_cast(from.actionKey)); size_t temp_key_count_calculation = static_cast(from.Size()) - 1; temp_key_count_calculation += static_cast(to.Size()) - 1; @@ -612,14 +612,14 @@ namespace KeyboardEventHandlers int i = 0; Helpers::SetModifierKeyEvents(from, it->second.winKeyInvoked, keyEventList, i, false, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG, to); - if (ii.GetVirtualKeyState((WORD)from.actionKey)) + if (ii.GetVirtualKeyState(static_cast(from.actionKey))) { // If the action key from the last shortcut is still being pressed, release it. - Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, (WORD)from.actionKey, KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); + Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, static_cast(from.actionKey), KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); i++; } Helpers::SetModifierKeyEvents(to, it->second.winKeyInvoked, keyEventList, i, true, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG, from); - Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, (WORD)to.actionKey, 0, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); + Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, static_cast(to.actionKey), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); newRemapping.isShortcutInvoked = true; } @@ -636,7 +636,7 @@ namespace KeyboardEventHandlers else { // Key up for all new shortcut keys, key down for original shortcut modifiers and current key press but common keys aren't repeated - key_count = (dest_size) + (src_size - 1) - (2 * (size_t)commonKeys); + key_count = (dest_size) + (src_size - 1) - (2 * static_cast(commonKeys)); // If the target shortcut's action key is pressed, then it should be released and original shortcut's action key should be set bool isActionKeyPressed = false; @@ -653,7 +653,7 @@ namespace KeyboardEventHandlers int i = 0; if (isActionKeyPressed) { - Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, (WORD)std::get(it->second.targetShortcut).GetActionKey(), KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); + Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, static_cast(std::get(it->second.targetShortcut).GetActionKey()), KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); i++; } Helpers::SetModifierKeyEvents(std::get(it->second.targetShortcut), it->second.winKeyInvoked, keyEventList, i, false, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG, it->first); @@ -664,12 +664,12 @@ namespace KeyboardEventHandlers // key down for original shortcut action key with shortcut flag so that we don't invoke the same shortcut remap again if (isActionKeyPressed) { - Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, (WORD)it->first.GetActionKey(), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); + Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, static_cast(it->first.GetActionKey()), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); i++; } // Send current key pressed without shortcut flag so that it can be reprocessed in case the physical keys pressed are a different remapped shortcut - Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, (WORD)data->lParam->vkCode, 0, 0); + Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, static_cast(data->lParam->vkCode), 0, 0); i++; // Do not send a dummy key as we want the current key press to behave as normal i.e. it can do press+release functionality if required. Required to allow a shortcut to Win key remap invoked directly after shortcut to shortcut is released to open start menu @@ -686,7 +686,7 @@ namespace KeyboardEventHandlers state.SetActivatedApp(KeyboardManagerConstants::NoActivatedApp); } - UINT res = ii.SendVirtualInput((UINT)key_count, keyEventList, sizeof(INPUT)); + UINT res = ii.SendVirtualInput(static_cast(key_count), keyEventList, sizeof(INPUT)); delete[] keyEventList; return 1; } @@ -730,7 +730,7 @@ namespace KeyboardEventHandlers if (isRemapToDisable && isOriginalActionKeyPressed) { // Set original action key - Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, (WORD)it->first.GetActionKey(), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); + Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD,static_cast(it->first.GetActionKey()), 0, KeyboardManagerConstants::KEYBOARDMANAGER_SHORTCUT_FLAG); i++; } else @@ -739,7 +739,7 @@ namespace KeyboardEventHandlers } // Send current key pressed without shortcut flag so that it can be reprocessed in case the physical keys pressed are a different remapped shortcut - Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, (WORD)data->lParam->vkCode, 0, 0); + Helpers::SetKeyEvent(keyEventList, i, INPUT_KEYBOARD, static_cast(data->lParam->vkCode), 0, 0); i++; // Do not send a dummy key as we want the current key press to behave as normal i.e. it can do press+release functionality if required. Required to allow a shortcut to Win key remap invoked directly after another shortcut to key remap is released to open start menu @@ -755,7 +755,7 @@ namespace KeyboardEventHandlers state.SetActivatedApp(KeyboardManagerConstants::NoActivatedApp); } - UINT res = ii.SendVirtualInput((UINT)key_count, keyEventList, sizeof(INPUT)); + UINT res = ii.SendVirtualInput(static_cast(key_count), keyEventList, sizeof(INPUT)); delete[] keyEventList; return 1; } @@ -858,8 +858,8 @@ namespace KeyboardEventHandlers memset(keyEventList, 0, sizeof(keyEventList)); // Use the suppress flag to ensure these are not intercepted by any remapped keys or shortcuts - Helpers::SetKeyEvent(keyEventList, 0, INPUT_KEYBOARD, (WORD)key, KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SUPPRESS_FLAG); - UINT res = ii.SendVirtualInput((UINT)key_count, keyEventList, sizeof(INPUT)); + Helpers::SetKeyEvent(keyEventList, 0, INPUT_KEYBOARD, static_cast(key), KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SUPPRESS_FLAG); + UINT res = ii.SendVirtualInput(static_cast(key_count), keyEventList, sizeof(INPUT)); delete[] keyEventList; } } diff --git a/src/modules/keyboardmanager/KeyboardManagerEngineTest/OSLevelShortcutRemappingTests.cpp b/src/modules/keyboardmanager/KeyboardManagerEngineTest/OSLevelShortcutRemappingTests.cpp index 236fec31d2..c99ce09851 100644 --- a/src/modules/keyboardmanager/KeyboardManagerEngineTest/OSLevelShortcutRemappingTests.cpp +++ b/src/modules/keyboardmanager/KeyboardManagerEngineTest/OSLevelShortcutRemappingTests.cpp @@ -38,7 +38,7 @@ namespace RemappingLogicTests } else { - return (intptr_t)1; + return 1LL; } }); } diff --git a/src/modules/keyboardmanager/common/Helpers.cpp b/src/modules/keyboardmanager/common/Helpers.cpp index a85e585d49..2b9e9670eb 100644 --- a/src/modules/keyboardmanager/common/Helpers.cpp +++ b/src/modules/keyboardmanager/common/Helpers.cpp @@ -103,15 +103,15 @@ namespace Helpers // Set wScan to the value from MapVirtualKey as some applications may use the scan code for handling input, for instance, Windows Terminal ignores non-character input which has scancode set to 0. // MapVirtualKey returns 0 if the key code does not correspond to a physical key (such as unassigned/reserved keys). More details at https://github.com/microsoft/PowerToys/pull/7143#issue-498877747 - keyEventArray[index].ki.wScan = (WORD)MapVirtualKey(keyCode, MAPVK_VK_TO_VSC); + keyEventArray[index].ki.wScan = static_cast(MapVirtualKey(keyCode, MAPVK_VK_TO_VSC)); } // Function to set the dummy key events used for remapping shortcuts, required to ensure releasing a modifier doesn't trigger another action (For example, Win->Start Menu or Alt->Menu bar) void SetDummyKeyEvent(LPINPUT keyEventArray, int& index, ULONG_PTR extraInfo) { - SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, (WORD)KeyboardManagerConstants::DUMMY_KEY, 0, extraInfo); + SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, static_cast(KeyboardManagerConstants::DUMMY_KEY), 0, extraInfo); index++; - SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, (WORD)KeyboardManagerConstants::DUMMY_KEY, KEYEVENTF_KEYUP, extraInfo); + SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, static_cast(KeyboardManagerConstants::DUMMY_KEY), KEYEVENTF_KEYUP, extraInfo); index++; } @@ -184,22 +184,22 @@ namespace Helpers // If shortcutToCompare is non-empty, then the key event is sent only if both shortcut's don't have the same modifier key. If keyToBeReleased is non-NULL, then the key event is sent if either the shortcuts don't have the same modifier or if the shortcutToBeSent's modifier matches the keyToBeReleased if (shortcutToBeSent.GetWinKey(winKeyInvoked) != NULL && (shortcutToCompare.IsEmpty() || shortcutToBeSent.GetWinKey(winKeyInvoked) != shortcutToCompare.GetWinKey(winKeyInvoked)) && (keyToBeReleased == NULL || !shortcutToBeSent.CheckWinKey(keyToBeReleased))) { - Helpers::SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, (WORD)shortcutToBeSent.GetWinKey(winKeyInvoked), 0, extraInfoFlag); + Helpers::SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, static_cast(shortcutToBeSent.GetWinKey(winKeyInvoked)), 0, extraInfoFlag); index++; } if (shortcutToBeSent.GetCtrlKey() != NULL && (shortcutToCompare.IsEmpty() || shortcutToBeSent.GetCtrlKey() != shortcutToCompare.GetCtrlKey()) && (keyToBeReleased == NULL || !shortcutToBeSent.CheckCtrlKey(keyToBeReleased))) { - Helpers::SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, (WORD)shortcutToBeSent.GetCtrlKey(), 0, extraInfoFlag); + Helpers::SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, static_cast(shortcutToBeSent.GetCtrlKey()), 0, extraInfoFlag); index++; } if (shortcutToBeSent.GetAltKey() != NULL && (shortcutToCompare.IsEmpty() || shortcutToBeSent.GetAltKey() != shortcutToCompare.GetAltKey()) && (keyToBeReleased == NULL || !shortcutToBeSent.CheckAltKey(keyToBeReleased))) { - Helpers::SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, (WORD)shortcutToBeSent.GetAltKey(), 0, extraInfoFlag); + Helpers::SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, static_cast(shortcutToBeSent.GetAltKey()), 0, extraInfoFlag); index++; } if (shortcutToBeSent.GetShiftKey() != NULL && (shortcutToCompare.IsEmpty() || shortcutToBeSent.GetShiftKey() != shortcutToCompare.GetShiftKey()) && (keyToBeReleased == NULL || !shortcutToBeSent.CheckShiftKey(keyToBeReleased))) { - Helpers::SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, (WORD)shortcutToBeSent.GetShiftKey(), 0, extraInfoFlag); + Helpers::SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, static_cast(shortcutToBeSent.GetShiftKey()), 0, extraInfoFlag); index++; } } @@ -210,22 +210,22 @@ namespace Helpers // If shortcutToCompare is non-empty, then the key event is sent only if both shortcut's don't have the same modifier key. If keyToBeReleased is non-NULL, then the key event is sent if either the shortcuts don't have the same modifier or if the shortcutToBeSent's modifier matches the keyToBeReleased if (shortcutToBeSent.GetShiftKey() != NULL && (shortcutToCompare.IsEmpty() || shortcutToBeSent.GetShiftKey() != shortcutToCompare.GetShiftKey() || shortcutToBeSent.CheckShiftKey(keyToBeReleased))) { - Helpers::SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, (WORD)shortcutToBeSent.GetShiftKey(), KEYEVENTF_KEYUP, extraInfoFlag); + Helpers::SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, static_cast(shortcutToBeSent.GetShiftKey()), KEYEVENTF_KEYUP, extraInfoFlag); index++; } if (shortcutToBeSent.GetAltKey() != NULL && (shortcutToCompare.IsEmpty() || shortcutToBeSent.GetAltKey() != shortcutToCompare.GetAltKey() || shortcutToBeSent.CheckAltKey(keyToBeReleased))) { - Helpers::SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, (WORD)shortcutToBeSent.GetAltKey(), KEYEVENTF_KEYUP, extraInfoFlag); + Helpers::SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, static_cast(shortcutToBeSent.GetAltKey()), KEYEVENTF_KEYUP, extraInfoFlag); index++; } if (shortcutToBeSent.GetCtrlKey() != NULL && (shortcutToCompare.IsEmpty() || shortcutToBeSent.GetCtrlKey() != shortcutToCompare.GetCtrlKey() || shortcutToBeSent.CheckCtrlKey(keyToBeReleased))) { - Helpers::SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, (WORD)shortcutToBeSent.GetCtrlKey(), KEYEVENTF_KEYUP, extraInfoFlag); + Helpers::SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, static_cast(shortcutToBeSent.GetCtrlKey()), KEYEVENTF_KEYUP, extraInfoFlag); index++; } if (shortcutToBeSent.GetWinKey(winKeyInvoked) != NULL && (shortcutToCompare.IsEmpty() || shortcutToBeSent.GetWinKey(winKeyInvoked) != shortcutToCompare.GetWinKey(winKeyInvoked) || shortcutToBeSent.CheckWinKey(keyToBeReleased))) { - Helpers::SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, (WORD)shortcutToBeSent.GetWinKey(winKeyInvoked), KEYEVENTF_KEYUP, extraInfoFlag); + Helpers::SetKeyEvent(keyEventArray, index, INPUT_KEYBOARD, static_cast(shortcutToBeSent.GetWinKey(winKeyInvoked)), KEYEVENTF_KEYUP, extraInfoFlag); index++; } } diff --git a/src/modules/keyboardmanager/common/KeyboardEventHandlers.cpp b/src/modules/keyboardmanager/common/KeyboardEventHandlers.cpp index 262ced5c7e..97487106ca 100644 --- a/src/modules/keyboardmanager/common/KeyboardEventHandlers.cpp +++ b/src/modules/keyboardmanager/common/KeyboardEventHandlers.cpp @@ -18,7 +18,7 @@ namespace KeyboardEventHandlers // Use the suppress flag to ensure these are not intercepted by any remapped keys or shortcuts Helpers::SetKeyEvent(keyEventList, 0, INPUT_KEYBOARD, VK_NUMLOCK, KEYEVENTF_KEYUP, KeyboardManagerConstants::KEYBOARDMANAGER_SUPPRESS_FLAG); Helpers::SetKeyEvent(keyEventList, 1, INPUT_KEYBOARD, VK_NUMLOCK, 0, KeyboardManagerConstants::KEYBOARDMANAGER_SUPPRESS_FLAG); - ii.SendVirtualInput((UINT)key_count, keyEventList, sizeof(INPUT)); + ii.SendVirtualInput(static_cast(key_count), keyEventList, sizeof(INPUT)); delete[] keyEventList; } } diff --git a/src/modules/keyboardmanager/common/MappingConfiguration.cpp b/src/modules/keyboardmanager/common/MappingConfiguration.cpp index ff5827afc0..d2727be708 100644 --- a/src/modules/keyboardmanager/common/MappingConfiguration.cpp +++ b/src/modules/keyboardmanager/common/MappingConfiguration.cpp @@ -296,7 +296,7 @@ bool MappingConfiguration::SaveSettingsToFile() for (const auto& it : singleKeyReMap) { json::JsonObject keys; - keys.SetNamedValue(KeyboardManagerConstants::OriginalKeysSettingName, json::value(winrt::to_hstring((unsigned int)it.first))); + keys.SetNamedValue(KeyboardManagerConstants::OriginalKeysSettingName, json::value(winrt::to_hstring(static_cast(it.first)))); // For key to key remapping if (it.second.index() == 0) diff --git a/src/modules/keyboardmanager/common/Shortcut.cpp b/src/modules/keyboardmanager/common/Shortcut.cpp index 331cf10365..acc7edde14 100644 --- a/src/modules/keyboardmanager/common/Shortcut.cpp +++ b/src/modules/keyboardmanager/common/Shortcut.cpp @@ -425,23 +425,23 @@ winrt::hstring Shortcut::ToHstringVK() const winrt::hstring output; if (winKey != ModifierKey::Disabled) { - output = output + winrt::to_hstring((unsigned int)GetWinKey(ModifierKey::Both)) + winrt::to_hstring(L";"); + output = output + winrt::to_hstring(static_cast(GetWinKey(ModifierKey::Both))) + winrt::to_hstring(L";"); } if (ctrlKey != ModifierKey::Disabled) { - output = output + winrt::to_hstring((unsigned int)GetCtrlKey()) + winrt::to_hstring(L";"); + output = output + winrt::to_hstring(static_cast(GetCtrlKey())) + winrt::to_hstring(L";"); } if (altKey != ModifierKey::Disabled) { - output = output + winrt::to_hstring((unsigned int)GetAltKey()) + winrt::to_hstring(L";"); + output = output + winrt::to_hstring(static_cast(GetAltKey())) + winrt::to_hstring(L";"); } if (shiftKey != ModifierKey::Disabled) { - output = output + winrt::to_hstring((unsigned int)GetShiftKey()) + winrt::to_hstring(L";"); + output = output + winrt::to_hstring(static_cast(GetShiftKey())) + winrt::to_hstring(L";"); } if (actionKey != NULL) { - output = output + winrt::to_hstring((unsigned int)GetActionKey()) + winrt::to_hstring(L";"); + output = output + winrt::to_hstring(static_cast(GetActionKey())) + winrt::to_hstring(L";"); } if (!output.empty())