* 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
* 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
* Update settings header: Remap keys
We write "Remap Keyboard" but it must be "Remap keys" because we not remapping the whole keyboard. We only remap single keys.
* Tweaked c++ side naming
Co-authored-by: Arjun <arjunbalgovind@gmail.com>
* WIP Confirmation dialog for orphaned keys
* Confirmation Dialog for orphaned keys
* White OK button, Anyways capitalizef
* Change Apply to Ok for shortcuts
* Validate that mappings can be made before changing keyboardManagerState
* Set fixed MinWidth for OK button
* Fix typo
* Partial remappings confirmation dialog
Both for Shortcuts and SingleKey
* Remove warning icon callback in OnClickAccept
* Add text wrapping for OrphanKeys dialog
* Fixed foreground issue and added arrow
* Tweaked Remap Keyboard UI
* Fix errors in warning handling and update UI layout
* Tweaked sizes and centered to screen
* Fixed flyouts appearing on search for Single key remaps
* Fixed flyouts appearing on search for Shortcut remaps
* Remove warning exclamation icon and tooltip
* Fixed a bug where setting None on a drop down which would create a shortcut with a conflict would cause a crash
* Remove IsTypeKey logic
* Changed warning text
* Resolve comments
* Fixed foreground issue and added arrow
* Tweaked Remap Keyboard UI
* Fix errors in warning handling and update UI layout
* Tweaked sizes and centered to screen
* Changed size to scale based on resolution
* Fixed comments
* Add new text for Remap Keyboard
* Added text in KBM windows
* Tweaked KBM landing page view
* Changed to transparent background
* Tweaked text
* Tweaked text
* Commented out ToggleToMod and AppSpecific function calls
* Added logic to make sure key remaps don't occur on Edit Keyboard Window
* Changed behavior such that remappings only apply after window is closed
* Bypass XamlBridge Window focus handling
* Constrain only one window can be opened at a time
* Revert changes on files changed in another PR
* Changed WM_DESTROY to WM_NCDESTROY
Co-authored-by: Tomas Raies <tomas.raies@gmail.com>
* Handled invalid input for single key remaps
* Added some functions
* Added better error message functions and finished warnings for edit keyboard
* Updated dropdown order of keys
* Added new warning template for shortcuts
* Added show warning on Apply code
* Removed old flyout code
* Fixed issue where tooltips were replaced on Apply
* Simplified == operator
* Added grid to edit keyboard
* Fixed all issues for Edit keyboard window with grid
* Added step to delete row definition and move row indices
* Handled grid operations for Edit Shortcuts
* Added dynamic layout for edit shortcuts
* Fixed resize windows message behaviour and removed warnings
* Added combobox
* Formatted and removed unused code
* Added drop down support for Edit Keyboard window
* Reordered the displayed key list
* Add shortcut stack panels and drop downs linked to detect shortcut
* Add more selected item logic
* Added complete dropdown support for edit shortcuts window
* Added Flyout warning for incorrect drop down input
* Tweaked warnings
* Removed MainWindow code
* Changed SelectedValue toSelectedIndex
* Removed unnecessary assignments
* Added a warning for two dropdowns and the first one is changed to an action key
* Added function comments in cpp file
* Fixed some comments
* Fixed all allocation and out of scope issues
* Fix most issues except reloading shortcuts
* Fixed issue while reloading shortcuts
* Fixed type cast warnings
* Changed delete to delete[]
* tweaked
* Added CustomAction Data Models
* Updated data model
* Updated Button command trigger for keyboard manager
* Integerated custom actions in Keyboard manager module backend
* Allow Runner to launch windows on foreground
* Refactor and moved the execution logic to background thread
* Removed non-required unlock calls
* Fixed typo
* Resolve PR comments
* Added unique lock mutexes for thread safety
* Fixed a bug in detect key logic
* Changed dword to word
* Added early unlock statements to fix issue with shortcut guide
* Fixed type conversion warnings
* Migrated detect shortcut window to use Shortcut class
* made changes in Apply button logic
* Revert thread safety changes
* refactored code works on the UI side
* Refactored remapping code to use new Shortcut class
* Refactored to SetKeyEvent function
* Moved function to cpp file and added more comments
* Refactored map variable and handled common Win key
* Remove debug code
* Change arguments to const references
* Added unique lock mutexes for thread safety
* Fixed a bug in detect key logic
* Added early unlock statements to fix issue with shortcut guide
* Added comments for unlocks before SendInput and changed some unique_locks to lock_guards
* Added check keyboard state function
* Added keyboard state check to avoid n-key shortcuts being affected by 2 key shortcuts
* Added support for n key shortcuts in backend and UI
* Added a fix to ensure mouse buttons states are not checked
* reverted some debugging changes
* reverted some debugging changes
* Added EditShortcuts Window and added Detecting shortcuts functionality
* Fixed build error
* Changed detection to take place only when window is in focus
* Added solution folder
* Added a common project and refactored shared variables to an object with wrapper functions
* Added dynamic addition of shortcuts
* Moved all shared variables in detection to state variable with wrapper functions
* Added code to re-load saved shortcuts in the UI
* Added comments
* Fixed argument modifiers in Helpers
* Updated arg modifiers in all functions
* Removed unused headers and added precompiled headers