Commit Graph

127 Commits

Author SHA1 Message Date
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
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
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
Mykhailo Pylyp
3f25d7ccc8
Keyboard disable (#6874)
Added disable key/shortcut functionality
2020-10-02 15:36:36 +03: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
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
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
Arjun Balgovind
f2cfd90c46
[Localization] Move rc files to resx (#6057)
* 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
2020-08-24 15:10:50 -07:00
Arjun Balgovind
8f8b200f24
Move hardcoded strings in Keyboard Manager projects to rc file (#5921)
* moved all strings in c++ side to rc file

* Fixed formatting
2020-08-17 13:46:50 -07:00
Andrey Nekrasov
49b56d9b52
PowerToys interface: remove powertoys events and system_menu_helper functionality (#5323) 2020-07-31 14:06:13 +03:00
Clint Rutkas
5b02ee5169
updated to Microsoft.Windows.CppWinRT.2.0.200729.8 (#5306)
* updated to Microsoft.Windows.CppWinRT.2.0.200729.8

* actually adding in packages.config and updating

Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
2020-07-30 11:37:15 -07:00
Andrey Nekrasov
47cb34d26b
chore: enable multiprocessor compilation (#5272) 2020-07-28 17:20:01 +03:00
Arjun Balgovind
ff1e04b957
[Keyboard Manager] Added in Shortcut to Key and Key to Shortcut remapping (#5070)
* 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
2020-07-23 16:43:49 -07:00
Clint Rutkas
4f45cf1386
Upgrading CppWinRT and adding in new packages.config (#5134)
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
2020-07-22 00:35:39 -07:00
Arjun Balgovind
6a9badd31b
[Keyboard Manager] Cleanup header file references to improve incremental build time (#4880)
* 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
2020-07-13 11:49:09 -07:00
Arjun Balgovind
7db5d6a307
[Keyboard Manager] Fixed app-specific shortcut causing app to lose focus scenario (#4902)
* Fixed focus issue and added tests

* Changed key names

* Use constant instead of hardcoded empty string
2020-07-10 17:53:41 -07:00
Arjun Balgovind
bb2049411b
[Keyboard Manager] Add JSON support for App Specific shortcuts (#4840)
* 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
2020-07-10 17:07:28 -07:00
Arjun Balgovind
1533c9315f
[Keyboard Manager] Enable App-specific shortcuts in the KBM backend (#4628)
* 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
2020-07-06 16:45:53 -07:00
Arjun
ac2a9deb75 Changed flags for newly pressed key after invoking shortcut 2020-07-03 11:08:21 -07:00
Clint Rutkas
44c41d52b2
upgrading wincppwinrt across the board (#4669)
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
2020-07-02 09:42:51 -07:00
Arjun Balgovind
f1b6e6570c
Fix remapping issues to Home/PgUp and other keys which are also present on NumPad (#4398)
* Added extended key flag to more keys

* Add test for extended key flag

* Move shlwapi.lib reference

* Added shcore ref

* Fixed pipeline incompatibility

* Fixed lib declaration in common

* Fixed formatting

* Remove unused statements

* removed another statement
2020-06-24 20:28:54 -07:00
Arjun Balgovind
8e758507b1
Enable code analysis on Keyboard Manager projects (#4455)
* Enable code analysis and fix GetTickCount warning

* Fix arithmetic casting warning
2020-06-24 14:55:02 -07:00
Yevhenii Holovachov
147c08bd71
Added info to FancyZones, KeyboardManager and PowerLauncher projects (#4445) 2020-06-23 18:36:39 +03:00
yuyoyuppe
b84ea020f2
fixup! forgot to rename 2020-06-19 13:27:29 +03:00
yuyoyuppe
2effbd0baf
Runner: improve debugging experience with hooks 2020-06-18 14:27:20 +03:00
Arjun Balgovind
49cbcf01c6
Add workaround for IME Caps Lock issue (#4123)
* Add workaround for Japanese IME Caps Lock issue

* Changed tweak to reset modifier key rather than Caps Lock

* added tests

* Fixed test comment

* Moved environment initialization in KBM tests to TEST_METHOD_INITIALIZE
2020-06-15 16:48:00 -07:00
Arjun Balgovind
071ea1dc97
KBM - Set up tests for keyboard hook remapping logic (#4004)
* Add test proj, refactor proj with filters, and move single remap function to a separate header

* Moved all methods to header files

* remove more unused commented code

* Reverted sln file

* Fixed sln file

* Added interface wrapping SendInput calls

* fixed formatting

* Created test mock class

* Added keyboard input logic

* Fixed compilation errors and added nuget reference to CppWinRT

* Added tests for single key remapping

* Refactored code for adding shortcut remap tests

* Separated test classes

* Fixed tests in release mode

* Added more tests

* Resolved comments
2020-06-11 13:07:46 -07:00
Clint Rutkas
67c8d80190
Safeguarding end user links in settings (#4226)
* first adjustment to wiki move

* Image Resizer and deleting imgs for FZ

* updating stuff to aka links

* updating app to leverage aka links

* moving files to wiki

* KBM adjustment

* updating

* getting PT Run moved over

* Shortcut guide and fixing launcher's readme text

* Update README.md

* img for shortcut guide moved to wiki

* updated setting img to be aka link as well
2020-06-11 10:16:39 -07:00
Arjun Balgovind
3edb360d79
Fix remapping from Num Lock (#4083)
* Added num lock remap workaround

* Added comments

* Changed to 2 suppressed key events

* Fixed typos
2020-06-05 12:54:52 -07:00
Arjun Balgovind
f5285b48b1
Fix remapping to Alt+Tab/Win+Space style shortcuts (#3965)
* Add skip to currently invoked shortcut code - should change no behavior

* Fixed Alt tab issue

* Added comment

* Added step to check if original shortcut action key should be pressed

* Fix number of cases in comment
2020-06-05 11:39:38 -07:00
stefansjfw
84a197299f
[KeyboardManager&Installer] Move Keyboard Manager to separat build&install folder (#3949)
* Move Keyboard Manager to separat build&install folder

* Update pipeline
2020-06-01 18:29:40 +02:00
Arjun Balgovind
3bb3c06456
KBM - Set treat warnings as errors, and clean up the dllmain.cpp file (#3203)
* Add test proj, refactor proj with filters, and move single remap function to a separate header

* Moved all methods to header files

* remove more unused commented code

* Undo test project addition

* Treat warnings as errors
2020-05-28 14:47:32 -07:00
Josh Soref
b1554ebf37
Spelling: ... src/modules (#3712) 2020-05-26 16:56:25 +02:00
Andrey Nekrasov
bc9add783c
sln: specify WinSDK version for cpp projects (#3728) 2020-05-26 17:00:09 +03:00
Andrey Nekrasov
c923e96f3e
sln: do not use PCH on CI (#3106) 2020-05-25 10:59:05 +03:00
sakariya
9d3014e39c
adding readme (#3045)
* adding readme

* adding links

* Update README.md

* responding to edits

* update readme

* Update README.md

* adding image

* update

* Update README.md

* adding numbers
2020-05-15 17:16:04 -07:00
Yevhenii Holovachov
d38d7b8ff6
Version required warning label changed, rebuilded bundle.js (#2991) 2020-05-14 17:48:33 +03:00
Arjun Balgovind
58f1a8e916
Fix failing build pipeline (#2932)
* Add extra libpath load statement

* Add QSpectre flags on Release

* Revert cmd change

* Added spectre flag for debug

* added flag for more projects
2020-05-12 20:52:02 -07:00
Arjun Balgovind
ce96e34d25
Fixed some warnings and added code to close active windows on disable (#2915) 2020-05-12 15:58:11 -07:00
Arjun Balgovind
497a66ea38
Fixed KBM default window size not being DPI Aware (#2873)
* Fixed KBM default window size not being DPI Aware

* Fixed missing lib file on Release

* Changed to be only DPI dependent
2020-05-12 10:17:27 -07:00
Tomas Agustin Raies
4dfac02065
KeyboardManager icon (#2875) 2020-05-11 20:13:07 -07:00
Alekhya
1a29870958
OS Detection and setting the old or new settings UI page accordingly (#2674)
* Added code to detect os build number

* To set the settings.exe according to the powerToys version that is running

* Modified the description of old UI for launcher and keyboard remapper

* Using API contracts instead of registry

* Removing file that was included by mistake
2020-05-05 15:53:30 -07:00
Arjun Balgovind
36559d0264
Added telemetry to KBM (#2670)
* Added telemetry to KBM

* Reverted set_config change

* resolving comments
2020-05-05 12:30:50 -07:00
Arjun Balgovind
c4f884f104
Change behavior on Edit Keyboard screen to be physical keys (#2666)
* 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
2020-05-04 15:49:37 -07:00
Arjun Balgovind
8e18104f38
[KBM] Constrain the buttons such that only one of the windows can be opened (#2566)
* 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>
2020-05-01 17:34:42 -07:00
Clint Rutkas
5efa9ff0b2
correct spelling mistakes for en-us :) (#2475) 2020-04-29 10:29:31 -07:00
Arjun Balgovind
38ecc82e97
Improve warnings for KBM (dev/build-features) (#2386)
* 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
2020-04-26 15:09:40 -07:00
Arjun Balgovind
32ddf3246c
Add support for Common Win key in KBM (#2308)
* Added common win key to layoutmap

* Added common win key support for edit shortcuts

* Adjusted key names
2020-04-23 08:37:52 -07:00
Arjun Balgovind
d079f0ca44
Changed output dir to modules and resolved conflicts (#2233) 2020-04-21 14:14:50 -07:00
Arjun Balgovind
b715a008c5
Fixed KBM interaction with Shortcut Guide (#2220) 2020-04-21 10:25:14 -07:00
udit3333
325db535c0
[Kbm] Save the remaps to file[part-1] (#2184)
* Added Inital FileWatcher Implementation

* Added logic to read remap from file

* Added remap logic save to file

* Refactor code

* Moved the strings to constant file

* Added logic to handle Win key

* Updated filewatcher logic to avoid duplicate events

* Added comments

* Fix spacing

* Fix spacing

* Update logic to accomodate upstream merge

* Added global property name for os level shortcuts

* Added subkey for inprocess keys

* Remove non required file

* Added Changes required after merge

* Fix spacing in Helper.cpp
2020-04-20 08:22:36 -07:00
Arjun Balgovind
13a8ac3e50
Handle RAlt, RCtrl and other extended keys correctly (dev/build-features) (#2145)
* Fixed SendInput for RAlt and RCtrl

* Fixed shortcuts containing Del, Arrow keys, etc
2020-04-16 15:17:57 -07:00
udit3333
a88d66b48b
Integrate keyboard manager with settings v2[Part-2] (#2107)
* 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
2020-04-14 09:24:11 -07:00
Arjun Balgovind
e0ddaa74d0 Add unicode naming for keys (dev/keyboardManager) (#1978)
* Added key names

* Display names in detect keyboard UI

* Added keyboard layout for edit keyboard window

* Removed commented code

* removed unused code

* fixed argument modifiers

* Added newline at EOF

* Added unicode changes to edit shortcuts window
2020-04-13 11:41:32 -07:00
Arjun Balgovind
52c12731cb Refactor Shortcut remaps to distinguish modifiers and action keys (#1927)
* 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
2020-04-08 14:49:00 -07:00
Arjun Balgovind
ac26818005 Added unique lock mutexes to KeyboardManagerState (dev/keyboardManager) (#1789)
* 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
2020-04-08 14:49:00 -07:00
Arjun Balgovind
467cf919be Removed ARM/x86 configs and minor refactors (dev/keyboardManager) (#1785)
* Removed ARM and x86 configs

* renamed files and references and localized strings
2020-04-08 14:49:00 -07:00
udit3333
f48040a4d7 Remap Keyboard UI (dev/keyboardManager) (#1698)
* Added initial UI implementation

* Added backend logic for remap key interaction

* Added single key remap control

* Updated Edit keyboardWindow UI

* Commented out ui logic

* Fixed issue with remap window UI and uncommented the code

* Updated customdialog window foreground color

* Updated buttons foreground color

* Added info header

* Added null check for detected key

* Removed fully qualified namespaces

* updated the background color as ligtht gray
2020-04-08 14:35:52 -07:00
Arjun Balgovind
90ddcb30bf Add support for shortcuts with >2 keys (dev/keyboardManager) (#1697)
* 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
2020-04-08 14:35:52 -07:00
Arjun Balgovind
b713083574 Edit Shortcuts UI (dev/keyboardManager) (#1647)
* 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
2020-04-08 14:35:52 -07:00