- Don't depend on System.Windows.Forms in the Settings -> use callback instead
- Fix overlay image setting saving
- Use dynamic DLL loading in Interop
- Load VCM only when mf.dll is available
* Change how background threads operate
This should reduce CPU usage.
* Well there is just no need for the console here
* Need to keep the full name sanitized
* Update the changes to console handling
* Updating how we handle constants
* Fix process termination logic
* Making some tweaks to the termination logic
* Update how the process is tracked
* Updating how application closing is done for Awake.
* Update with explicit types
* Fix high CPU usage for timed keep awake.
* Logging typo fix.
* Update some of the timer logic.
* Fix variable naming for consistency
* Cleanup the C++ interface
* Cleanup the code a bit
This change introduces support for:
- Proper event handling across the two apps (Awake and runner).
- Removal of unnecessary functions.
* Cleaning up the code even further
* Remove unnecessary functions
* Move KBM engine into separate process (#10672)
* [KBM] Migrate KBM UI out of the runner (#10709)
* Clean up keyboard hook handles (#10817)
* [C++ common] Unhandled exception handler (#10821)
* [KBM] Use icon in the KeyboardManagerEditor (#10845)
* [KBM] Move resources from the Common project to the Editor. (#10844)
* KBM Editor tests (#10858)
* Rename engine executable (#10868)
* clean up (#10870)
* [KBM] Changed Editor and libraries output folders (#10871)
* [KBM] New logs structure (#10872)
* Add unhandled exception handling to the editor (#10874)
* [KBM] Trace for edit keyboard window
* Logging for XamlBridge message loop
* [KBM] Added Editor and Engine to the installer (#10876)
* Fix spelling
* Interprocess communication logs, remove unnecessary windows message logs
* [KBM] Separated telemetry for the engine and editor. (#10889)
* [KBM] Editor test project (#10891)
* Versions for the engine and the editor (#10897)
* Add the editor's and the engine's executables to signing process (#10900)
* [KBM editor] Run only one instance, exit when parent process exits (#10890)
* [KBM] Force kill editor process to avoid XAML crash (#10907)
* [KBM] Force kill editor process to avoid XAML crash
* Fix event releasing
Co-authored-by: mykhailopylyp <17161067+mykhailopylyp@users.noreply.github.com>
* Make the editor dpi aware (#10908)
* [KBM] KeyboardManagerCommon refactoring (#10909)
* Do not start the process if it is already started (#10910)
* logs
* Update src/modules/keyboardmanager/KeyboardManagerEditorLibrary/EditKeyboardWindow.cpp
* Update src/modules/keyboardmanager/KeyboardManagerEditorLibrary/EditKeyboardWindow.cpp
* [KBM] Rename InitUnhandledExceptionHandler
to make it explicit that is for x64 only.
We will fix it properly when adding support for ARM64 and add a header with
the proper conditional building.
* [KBM] rename file/class/variables using camel case
* [KBM] Rename "event_locker" -> "EventLocker"
* [KBM] rename process_waiter
Add a TODO comment
* [KBM] rename methods
Add TODO comment
* [KBM] use uppercase for function names
* [KBM] use uppercase for methos, lowercase for properties
* [KBM] rename method, make methods private, formatting
* [KBM] rename private variables
* [KBM] use uppercase for function names
* [KBM] Added support to run the editor stand-alone when built in debug mode
* Update src/modules/keyboardmanager/KeyboardManagerEditor/KeyboardManagerEditor.cpp
* Check success of event creation, comment (#10947)
* [KBM] code formatting (#10951)
* [KBM] code formatting
* Update src/modules/keyboardmanager/KeyboardManagerEditorLibrary/BufferValidationHelpers.cpp
* [KBM] tracing
* [KBM] Remappings not showing fix. (#10954)
* removed mutex
* retry loop for reading
* retry on reading config once
* log error
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Seraphima Zykova <zykovas91@gmail.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
* Update file config mutex code in KeyboardManager
* Update runner instance mutex names and logic
* Update Launcher mutex
* Update a mutex in the Runner
* Restored a mutex used in the installer
* Update src/modules/launcher/PowerLauncher/App.xaml.cs
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
* basic logic working
* Added a literal for ignore flag which cna be shared by all the files
* Added a condition that the other modifier keys should not be pressed
* Added comments to describe each scenario
* sometimes when multiple modified keys were involved the shift+tab key press was also being invoked, so added an additional check in the IsValid function
* use variable for vk_tab
* remove new line before initializing dwextraInfo
* move flag check if the filterKeyboardevent function
* use windows.system.virtualkey.shift instead of defining a constant for the shift key code
* removed latest settings to use internal settings instead. Removed the validity check while still within the hotkey other than if it's tab or shift+tab
* add a function to send input to the system instead of duplicating the send input code
* remove VKSHIFT declaration
* display all shortcuts/keys except tab and shift+tab
* remove header that is no longer needed
* Added a keyboard hook to the runner
* Update RootKeyboardHook
* Enable reading the whole JsonObject property
* Renamed RootKeyboardHook to CentralizedKeyboardHook
* Fixed build break, changed callback return type to bool
* Added Hotkey struct which somehow went missing
+ Cherry-pick fixes
* Reorganized the kb hook
* Basic version works
* Various fixes
* Finishing touches
* Fix potential threading issue
* int -> size_t
* Add default initializers to the Hotkey struct
* Added a suggested comment
* Unified a constant
* Use C# classes instead of native calls for sync
* Added a claryfing comment
* Use std::move
* Renamed a method
* Possible fix for compilation errors
* Fix a regression
* Show a message on failure
* Added DISABLE_LOWLEVEL_HOOK support
* Allow running Launcher as standalone
* Rename string constants
* Updated error message when SetWindowsHookEx fails to show correct error message
* Added telemetry for exception in SG, FZ and KBM
* Rename exception to error
* fixing MSB3052
* adding back in to unblock build
* More agressive refactor. Moved the define constant to wixproj and actual version into src file version prop
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
* Remove os-detection project
* Removed os-detection project from sln
* Added os-detection to PowerToysInterop
* Removed references to os-detection and added PowerToysInterop.dll to the ImageResizer folder
* [Launcher/Settings] Low Level Keyboard Hooks
* [Run] LowLevel Keyboard Hook for Hotkeys
* Prevent shortcuts from auto repeating when keeping the keys pressed down
* Update version in General Settings
* Set version in settings.json file
* Only overwrite the settings.json file if it is newer than the old version.
* Fix tests
* Fix test names and added comment
* Deprecate ATL based IPC wrapper library
* C# projects now use named pipe server implementations from two_way_pipe_message
through the interop C++/Cli library.
* Added Unit testing to interop library
* Fix HotkeyControl virtual key display
* A new interop project was setup to provide wrappers for C# projects
that want to access functionality in the common project.
* Add assembly info
* Remove WIN32 configurations