* fix compilation issues for VS 16.8.* release
* - VS 16.8 changed its template instantiation model, so now the compiler checks the syntax used in template even when it's not instantiated. we were relying on that behavior to declare the list of required localized strings from a shared header => replacing that template with a macro.
* - fix 3 C++ `const auto&` bugs the new compiler was able to uncover
* - enabled /Zc:twoPhase- for bootstrapper and PowerToysSetupCustomActions to workaround 10.0.17134.0 headers' issue.
- PowerToysSetupCustomActions.vcxproj now uses 10.0.17134.0 instead of "latest" SDK
* - PowerToysSetupCustomActions project leverages `goto` operator's power extensively, and the new compiler was able to uncover new uninitialized variables behavior, restructured declarations and changed `NULL`s to `nullptr`s.
* - Fix unit FZ unit test compiler error
* - format FZS unit test source file
* fixup fz tests
* use /Zc:twoPhase- for common-md as well
* Added get_key to powertoysmodule interface
* Replace get_name with get_key
* Implement get_key function in modules
* Make key global constant in each module
* Update settings v1 to use key to load and save files
* Fixed fancyzones and preview pane unit tests
* Removed setings unit test as the case is not covered anymore
* Add constant files for modules and use it to reference module key
* Add constant string files to colorpicker, launcher and shortcut guide
* correct sunction signature in settings helper
* Fix powerpreview merge conflicts
* nit fix with include statement location
* add check for fields in from_json_string
* Updated preview pane tests with correct from_json_string signature
* Correct Image resizer naming
* Roll back changes for adding check for property and version
* Fix image resizer not working
* Modify shortcut to key code more similar to shortcut to shortcuts code. Manually tested cases
* Fixed existing tests and fixed scenario with other keys pressed and action key released
* Fixed dummy key usage
* Updated comments and removed dummy key usage in key to shortcut remaps
* Added tests for disable and shortcut to key. Pending tests for dummy key
* Added test cases for each usage of dummy key event
* Remove redundant check
* Unlock mutex before ResetModifierForLowerLevelKeyHandlers method to avoid crash if two instances of KBM are running
* Added alias for Shortcut DWORD variant to clean up code
* Removed mutex usage in single key remap method and added GetSingleKeyRemap
* Added more alias
* Moved to boolean disable remapping
* Added missing ! in condition
* Remove lock statement from bad auto-merge
* Updated error message when SetWindowsHookEx fails to show correct error message
* Added telemetry for exception in SG, FZ and KBM
* Rename exception to error
* Added an accessible name for the combo box
* Add name for the type shortcut button
* Add accessible name for the add new remapping button in both key remapping as well as shortcut remapping windows
* Set accessible names for the delete button
* Set the accessible name to the remapped to icon
* Fix the font icon issue faced while using narrator
* Fix accessible name for Add shortcut remapping button
* Set the accessible name for the target app text box when it loses focus
* fix comment
* Added localization code to pipeline and created one LocProject json for Settings
* Fixed typo
* Reordered nuget source
* Moved nuget install to restore step
* Added FZ.rc file to LocProj
* Added FZ resx file and modified rc file
* Fixed file names
* Changed to check folder for LocProject files
* Updated folder
* Changed directory
* Changed to src directory
* Changed language set and name format, removed rc file localization
* Added all projects with resx/resw files
* Added newline to end of file
* Removed nuget source as it is not used
* Updated comments
* Updated keyboard manager to use resx file
* Tweaked resources.resx and added it to project files
* Added comments and added in string table to resx script
* Remove change from bad merge
* Fix syntax error in convert stringtable
* Changed file type to None
* Migrated color picker's resources
* Migrated resources for Microsoft.Launcher
* Migrated resources for fancy zones
* Revert fancyzones changes
* Migrated resources for ImageResizer and modified script to add language specific code
* Added try catch and checks for modification to avoid unnecessary file creation
* Changed tab insertion to 4 spaces to avoid mixed file types in rc file
* Migrated resources for power preview project
* Added LocProject.json file for 5 projects
* added resgen exception check
* Moved non-localizable strings out of resx for powerpreview
* Added tests for loading and saving remappings in the UI
* Added tests for ApplyRemappings methods
* Moved single key remap validation logic to separate method so that it can be tested
* Added tests for single key remap validation in UI
* Refactored shortcut validation code to be testable
* Added some shortcut validation tests
* Refactored code to be cleaner
* Added tests for action key and modifier key selection and formatted file
* Added tests for selecting None
* Added tests for selecting Null
* Added tests for WinL error
* Added CtrlAltDel tests
* Added tests for MapToSameKey
* Added tests for mapping repeated shortcut
* Fixed const correctness
* Clean up type names with type alias
* Clean up ValidateAndUpdateKeyBufferElement tests and tweak ValidateShortcutBufferElement signature
* Fixed bug when None selected
* Refactored one test as per test case framework
* Cleaned up more tests
* Cleaned up buffer validation tests
* Added tests for KBM Common Helpers and Shortcut
* updated to Microsoft.Windows.CppWinRT.2.0.200729.8
* actually adding in packages.config and updating
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
* 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
* Remove WinUI include in KeyboardManagerState.h
* Changed include steps
* Clean up headers in KeyboardManagerUI except XamlBridge.h
* Cleaned up headers in KeyboardManager common and test
* Cleaned up headers in KeyboardManager project
* Removed headers from XamlBridge
* Removed some headers from kbm common pch
* Added MP flag to reduce build time
* Added missing include
* Enable app specific shortcut remapping
* Fixed lowercase function call
* Add test file
* Moved GetForegroundProcess to II and added tests
* Fixed runtime error while testing due to heap allocation across dll boundary
* Renamed function
* Changed shortcutBuffer type
* Linked App specific UI to backend
* Added shortcut validation logic on TextBox LostFocus handler
* Moved Validate function and changed default text
* Changed to case insensitive warning check
* Changed to case insensitive warning check at OnClickAccept
* Fixed alignment and spacing issues
* Added app-specific JSON support in backend
* Updated landing page
* Make listview horizontally scrollable
* Added tests
* Consider all case variants of All Apps in textbox to be global shortcuts
* Enable app specific shortcut remapping
* Fixed lowercase function call
* Add test file
* Moved GetForegroundProcess to II and added tests
* Fixed runtime error while testing due to heap allocation across dll boundary
* Renamed function
* Changed shortcutBuffer type
* Linked App specific UI to backend
* Added shortcut validation logic on TextBox LostFocus handler
* Moved Validate function and changed default text
* Changed to case insensitive warning check
* Changed to case insensitive warning check at OnClickAccept
* Fixed alignment and spacing issues
* Enable app specific shortcut remapping
* Fixed lowercase function call
* Add test file
* Moved GetForegroundProcess to II and added tests
* Fixed runtime error while testing due to heap allocation across dll boundary
* Renamed function
* Remove unused code
* Changed process checking step to include substrings
* Changed back to exact match included match without file extension