Commit Graph

238 Commits

Author SHA1 Message Date
Enrico Giordani
617b7adb09
[KBM] Fix for handle leak (#11182) 2021-05-10 10:39:54 +02:00
Mykhailo Pylyp
8785fca309
[KBM] decoupling editor and engine (#11133) 2021-05-07 11:16:31 +03:00
Enrico Giordani
0c3ce81c94
[KBM Editor] Support WM_DPICHANGED event (#11015)
* [KBM Editor] Support WM_DPICHANGED event

* [spell checker] add term

* [KBM editor] properly cast new DPI value
2021-04-30 16:04:53 +02:00
Enrico Giordani
5efb3d3a61
[KBM] scale editor window size based on DPI (#11006) 2021-04-29 17:39:12 +02:00
Enrico Giordani
4279d6c067
[KBM] supress warning (#10983) 2021-04-27 20:13:30 +02:00
Mykhailo Pylyp
5426e7bc30
[KBM Engine] Remove global usings (#10976) 2021-04-27 17:56:59 +02:00
Mykhailo Pylyp
4c6191d7c0
[KBM] fix for build error C2872 (#10970) 2021-04-27 15:19:18 +02:00
Enrico Giordani
0aee35df0c
[KBM] fix build error C2079 (#10959)
* [KBM] fix build error C2079

* [KBM] one more <sstream> fix
2021-04-27 09:37:44 +02:00
Mykhailo Pylyp
a8c99e9513
[KBM] Migrate Engine and Editor into separate processes (#10774)
* 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>
2021-04-26 21:01:38 +02:00
Ivan Stošić
c08be14919
Use local mutexes (#10651)
* 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>
2021-04-08 19:42:46 +02:00
csigs
885c7c4e50
LEGO: check in for master to temporary branch. (#10252) 2021-03-15 18:49:55 +01:00
csigs
b9ee317ab9
LEGO: check in for master to temporary branch. (#9965) 2021-03-01 14:59:05 +01:00
Enrico Giordani
20a922ce21
[KBM] Rewording for completion dialog warning (#9851) 2021-02-23 09:38:41 +01:00
csigs
a786fd308a
LEGO: check in for master to temporary branch. (#9835) 2021-02-22 18:20:25 +01:00
csigs
204beaca11
LEGO: Pull request from lego/hb_a13bbffa-1136-4930-9ebe-33895240f846_20210211235251698 to master (#9666)
* LEGO: check in for master to temporary branch.

* [spell checker] add new terms

Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
2021-02-12 18:38:11 +01:00
csigs
2e3345d2ce
LEGO: check in for master to temporary branch. (#9528) 2021-02-07 10:40:50 +01:00
csigs
ffa660832f
LEGO: check in for master to temporary branch. (#9350) 2021-01-28 15:23:32 +01:00
csigs
da4e74ba2a
LEGO: check in for master to temporary branch. (#9308) 2021-01-27 09:16:31 +01:00
csigs
cbf529bff2
LEGO: check in for master to temporary branch. (#9299) 2021-01-26 13:39:56 +01:00
Mykhailo Pylyp
98a6e27957
Added logging to keyboard manager (#9155) 2021-01-18 19:38:42 +02:00
csigs
ea21a11259
LEGO: check in for master to temporary branch. (#9116) 2021-01-15 15:29:23 +01:00
csigs
9939779932
LEGO: check in for master to temporary branch. (#8778) 2020-12-28 09:07:55 -08:00
Andrey Nekrasov
063e704321
build: Treat warnings as errors in the remaining projects (#8689)
* build: remove #pragma comment(lib

* build: treat warnings as errors for all src projects
2020-12-21 18:51:48 +03:00
Andrey Nekrasov
212ea2de30
common: refactor common library pt2 (#8588)
- remove common lib
- split settings, remove common-md
- move ipc interop/kb_layout to interop
- rename core -> settings, settings -> old_settings
- os-detect header-only; interop -> PowerToysInterop
- split notifications, move single-use headers where they're used
- winstore lib
- rename com utils
- rename Updating and Telemetry projects
- rename core -> settings-ui and remove examples folder
- rename settings-ui folder + consisent common/version include
2020-12-15 15:16:09 +03:00
Andrey Nekrasov
5fa4ee4942
Cpp build: factor out common project props & prepare for common split (#8509)
* make common include paths format consistent
* build: introduce common Cpp.Build.props
2020-12-14 15:20:45 +03:00
Clint Rutkas
1dc2b1c4c0
adding in comments / adjusting for 8468 (#8532) 2020-12-10 21:54:24 -08:00
Seraphima Zykova
8a7824924a
[KBM] Open Remap Shortcuts/Remap Keyboard window on the same monitor as Settings. (#8325) 2020-12-10 18:28:44 +03:00
csigs
aa18543903 LEGO: check in for master to temporary branch. 2020-12-07 14:06:58 +00:00
csigs
f31652053f LEGO: check in for master to temporary branch. 2020-12-01 03:34:18 +00:00
Clint Rutkas
f86182d062
Merge pull request #8276 from microsoft/lego/hb_2939_20201130120702764
LEGO: Pull request from lego/hb_2939_20201130120702764 to master
2020-11-30 09:13:39 -08:00
csigs
9a31d3ccab LEGO: check in for master to temporary branch. 2020-11-30 12:07:04 +00:00
csigs
d56319208a LEGO: check in for master to temporary branch. 2020-11-30 07:46:51 +00:00
Andrey Nekrasov
06984ff317
CI: disable multiple msbuild instances (#8253)
* CI: disable multiple msbuild instances

* make MultiProcessorCompilation option consistent

* KBM: increase compiler limit again
2020-11-27 14:18:23 +03:00
yuyoyuppe
6d1cf8ec53 build: remove compiler memory limits 2020-11-25 17:49:39 +03:00
yuyoyuppe
49e6af929d kbm: increase compiler memory limit 2020-11-23 17:45:59 +03:00
Enrico Giordani
fc1b98811b [KeyboardManager] icon update
round corners instead of square corners
2020-11-16 10:24:05 +01:00
Andrey Nekrasov
c1b1fe6371
Fix compilation errors for VS 16.8.1 (#8024)
* 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
2020-11-13 15:57:01 +03:00
Mykhailo Pylyp
db8be6ad10
fix clipped text issue (#7897) 2020-11-06 19:08:25 +02:00
Clint Rutkas
5b85e942f1
Merge pull request #7816 from pi1024e/headers
Replace deprecated C headers with their C++ equivalent
2020-11-06 09:00:23 -08:00
Mykhailo Pylyp
8a1d2611d8
[KBM] Added banded rows (#7787)
* Added banded rows

* Fix build after merge

* accessibility names, capturing static row indexes by lambda

* Fix position of targetApp textbox

* fix wrong path for textbox
2020-11-06 16:24:11 +02:00
Clint Rutkas
7508a73373
Merge pull request #7708 from jsoref/spelling
Spelling
2020-11-03 16:54:00 -08:00
pi1024e
859e674c11 Replace deprecated headers
To remove warnings about deprecated headers and for more robust C++, this replaces the deprecated C header with its C++ equivalent.
2020-11-03 13:59:35 -05:00
Clint Rutkas
35cf50c796
Merge pull request #7808 from microsoft/lego/hb_2939_20201103110547248
LEGO: Pull request from lego/hb_2939_20201103110547248 to master
2020-11-03 09:59:34 -08:00
csigs
8b39996577 LEGO: check in for master to temporary branch. 2020-11-03 11:05:47 +00:00
csigs
80d8144f1e LEGO: check in for master to temporary branch. 2020-11-02 23:06:13 +00:00
Josh Soref
2b235e0827 spelling: specific
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
2020-10-30 14:42:24 -04:00
Josh Soref
d116298d2f spelling: shortcut
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
2020-10-30 14:42:16 -04:00
Josh Soref
ade22bf48c spelling: modifier
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
2020-10-30 14:41:37 -04:00
Clint Rutkas
c37d08c475
Merge pull request #7622 from microsoft/dev/crutkas/helpLocWithComments
Addressing loc team feedback
2020-10-29 22:33:34 -07:00
Clint Rutkas
6d60249fd2
Update Resources.resx 2020-10-29 20:23:20 -07:00
Arjun Balgovind
06cd9409e9
Move Focus to Type button in new row on Adding a remap (#7586) 2020-10-29 13:16:52 -07:00
Clint Rutkas
6ebea75f87 loc team feedback 2020-10-28 16:51:30 -07:00
Clint Rutkas
24b7748834 addressing kbm loc team feedback q 2020-10-28 16:44:34 -07:00
Arjun Balgovind
03ea90dced
Select all text in Target App textbox on getting focus (#7566) 2020-10-27 09:14:00 -07:00
Arjun Balgovind
d7912e1e12
Added tooltips for Add and Delete buttons (#7564) 2020-10-27 09:13:39 -07:00
Enrico Giordani
8ea09e0c95
[Keyboard Manager] new icon (#7492) 2020-10-25 22:54:48 +01:00
Arjun Balgovind
cd8c9c5375
Tweaked KBM comment, removed redundant assignment, and avoid sending key up for one case when not necessary (#7315)
* Changed one case to release key only if it is pressed, tweaked a comment

* Remove redundant assignment
2020-10-21 10:24:43 -07:00
Mykhailo Pylyp
eaec26a012
Fix dropdown popup narrator bug (#7422) 2020-10-21 11:14:30 +03:00
csigs
3801ad3030
LEGO: check in for master to temporary branch. (#7436) 2020-10-20 21:17:06 -07:00
Arjun Balgovind
4da4673e24
[KBM] Ignore IME keys while checking keyboard state for Shortcut Remaps (#7386)
* Ignore IME keys while checking keyboard state for Shortcut Remaps

* Add bool check

* Update Shortcut.cpp
2020-10-20 16:14:48 -07:00
csigs
334e612bce
LEGO: check in for master to temporary branch. (#7411) 2020-10-20 11:22:47 -07:00
Divyansh Srivastava
280d1907d8
Non localized module name (#7170)
* 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
2020-10-19 16:07:02 -07:00
csigs
06de5ffa07
LEGO: check in for master to temporary branch. (#7338) 2020-10-19 10:22:30 -07:00
Mykhailo Pylyp
7e0574cba2
Get rid of indexes in dropdowns (#7278) 2020-10-19 12:27:47 +03:00
csigs
36dd29c056
LEGO: check in for master to temporary branch. (#7327) 2020-10-16 11:03:43 -07:00
csigs
6f5cdb4674
LEGO: check in for master to temporary branch. (#7319) 2020-10-16 08:59:49 -07:00
Mykhailo Pylyp
4634c74f9e
Remove Drop Down from combo box name as it is redundant (#7307) 2020-10-16 14:09:57 +03:00
csigs
c576bb611d
LEGO: check in for master to temporary branch. (#7305)
Co-authored-by: Clint Rutkas <clint@rutkas.com>
2020-10-15 13:19:50 -07:00
Arjun Balgovind
438169e64f
[KBM] Fix shortcut remap scenarios that should/should not open start menu (#7171)
* 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
2020-10-15 08:53:43 -07:00
Arjun Balgovind
70bc967219
Updated double quotes logic (#7268) 2020-10-14 09:03:45 -07:00
csigs
45124c2245
LEGO: check in for master to temporary branch. (#7246)
Co-authored-by: Clint Rutkas <clint@rutkas.com>
2020-10-12 21:44:15 -07:00
csigs
6e8cc67824
LEGO: check in for master to temporary branch. (#7236) 2020-10-12 19:22:52 -07:00
csigs
c6a82ef199
LEGO: check in for master to temporary branch. (#7217) 2020-10-12 16:59:32 -07:00
csigs
d9d328173b
LEGO: Pull request from lego/hb_2939_20201009230714095 to master (#7210)
* LEGO: check in for master to temporary branch.

* Update pipeline.user.windows.yml

Co-authored-by: Clint Rutkas <clint@rutkas.com>
2020-10-12 15:31:47 -07:00
Arjun Balgovind
8643bfc977
Change declaration order of delay thread member in KeyDelay (#7206) 2020-10-09 16:13:48 -07:00
csigs
d753179d1e
LEGO: check in for master to temporary branch. (#7186)
Co-authored-by: Arjun Balgovind <32061677+arjunbalgovind@users.noreply.github.com>
2020-10-09 14:32:31 -07:00
csigs
bd3c877ca3
LEGO: check in for master to temporary branch. (#7195) 2020-10-09 09:38:36 -07:00
Arjun Balgovind
210426a020
Fixed lcl file bad merge (#7189) 2020-10-08 19:38:21 -07:00
Arjun Balgovind
c393db0b65
[KBM] Fix remaps to arrow keys/Home/Ins, etc not working with Windows Terminal (#7143)
* Added MapVirtualKey call to set scancode before calling SendInput

* Updated comment

* Update comment with link

* Added test for dummy key scan code
2020-10-08 17:52:19 -07:00
Arjun Balgovind
42ebc42c98
Changed dummy key event to send key down and key up to improve compatibility with applications (#7166) 2020-10-08 11:28:37 -07:00
Arjun Balgovind
e1d22c74b0
[KBM] Refactor KBM's thread safety logic to avoid mutex re-entrancy bugs and improve performance (#6803)
* 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
2020-10-08 11:28:24 -07:00
csigs
8a81bea413
LEGO: check in for master to temporary branch. (#7168) 2020-10-08 07:55:56 -07:00
csigs
9216aa465f
LEGO: check in for master to temporary branch. (#7181) 2020-10-08 07:54:53 -07:00
csigs
de4436ccc0
LEGO: check in for master to temporary branch. (#7153) 2020-10-07 13:30:34 -07:00
csigs
5e30ad176a
LEGO: check in for master to temporary branch. (#7144) 2020-10-07 13:30:12 -07:00
Yuhanun Citgez
ac3910580a
Modernized unique pointer construction (#6982) 2020-10-06 18:17:20 +03:00
Mykhailo Pylyp
3f25d7ccc8
Keyboard disable (#6874)
Added disable key/shortcut functionality
2020-10-02 15:36:36 +03:00
Arjun Balgovind
b2e72e1ca4
[KBM] Moved unregistering of key delays to always run on the dispatcher thread to avoid mutex re-entrancy (#6959)
* Moved unregistering of key delays to always run on the dispatcher thread

* Updated comments
2020-10-01 18:19:11 -07:00
Arjun Balgovind
b981467f1e
[KBM] Avoid checking reserved/unassigned/oem-specific/undefined key codes during shortcut remaps (#6952)
* Updated list of key codes to be ignored

* Added comments
2020-10-01 12:43:54 -07:00
csigs
67072b99d4
LEGO: check in for master to temporary branch. (#6907) 2020-09-30 10:26:54 -07:00
csigs
2f0937951a
LEGO: check in for master to temporary branch. (#6802) 2020-09-24 08:01:13 -07:00
Arjun Balgovind
75ace74d37
[Keyboard Manager] Enabled horizontal scroll on scroll viewers and tweaked ScrollViewer layout (#6755)
* Enabled horizontal scroll on scroll viewers and tweaked layout

* Added code to constrain the minimum window sizes
2020-09-22 17:46:57 -07:00
Arjun Balgovind
1ef4c43382
[Keyboard Manager] Fix crash in Keyboard Manager by ignoring MapToSameKey warnings on loading (#6714)
* Add extra argument to ignore MapToSameKey error for Key To Shortcut mapping

* added comment
2020-09-22 13:54:53 -07:00
Arjun Balgovind
e135153c45
[Keyboard Manager] Fix focusable elements should have different names accessibility issue (#6672)
* Add listview

* Added row index to accessible names

* Cleanup rowIndex

* Fixed accessibility issue with ComboBox

* Updated comments
2020-09-18 17:12:37 -07:00
Arjun Balgovind
bfbd7b53a1
Unregister key delays on closing KBM windows (#6583) 2020-09-11 15:16:34 -07:00
Arjun Balgovind
ab8bec8866
[KBM] Prevent keyboard manager crash when index is not found (#6488)
* Added Sleep(5000) for repro

* Added check to prevent kbm crash for index not found

* Add more safeguards
2020-09-10 11:31:49 -07:00
Arjun Balgovind
3b8fa8b4ce
Fixed KBM shortcut remapping not working after using Japanese IME (#6450) 2020-09-10 10:46:33 -07:00
Arjun Balgovind
fb1888f01f
Add in verbose error message and telemetry for SetWindowsHookEx failure (#6454)
* Updated error message when SetWindowsHookEx fails to show correct error message

* Added telemetry for exception in SG, FZ and KBM

* Rename exception to error
2020-09-09 14:27:40 -07:00
Arjun Balgovind
fdd7d6afa4
Add in missing telemetry for Keyboard Manager usage (#6393)
* Added key remap invoked telemetry event

* Added queryperformance call

* Added in telemetry for key and shortcut remaps

* Removed redundant if check
2020-09-08 14:40:02 -07:00
Alekhya
1a51f77fce
Fix KBM Accessibility issues (#6379)
* 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
2020-09-08 12:24:59 -07:00