[KBM]Launch apps / URI with keyboard shortcuts, support chords (#30121)

* Working UI update with just runProgram Path and isRunProgram

* First working, basic. no args or path, or setting change detections.

* Revert and fixed.

* Some clean up, working with config file monitor

* Args and Start-in should be working.

* File monitor, quotes, xaml screens one

* Fixed enable/disable toogle from XAML

* Code cleanup.

* Betting logging.

* Cleanup, start of RunProgramDescriptor and usage of run_non_elevated/run_elevated

* Code moved to KeyboardEventHandlers, but not enabled since it won't build as is, needs elevation.h. Other testing..

* Key chords working, pretty much

* Added gui for elevation level, need to refresh on change...

* f: include shellapi.h and reference wil in KBMEL

* run_elevated/run_non_elevated sorted out. Working!

* Removed lots of old temp code.

* Fix some speling errors.

* Cleanup before trying to add a UI for the chord

* Added "DifferentUser" option

* Closer on UI for chords.

* Better UI, lots working.

* Clean up

* Text for “Allow chords” – needs to look better…

* Bugs and clean-up

* Cleanup

* Refactor and clean up.

* More clean up

* Some localization.

* Don’t show “Allow chords“ to the “to” shortcut

* Maybe better foreground after opening new app

* Better chord matching.

* Runprogram fix for stealing existing shortcut.

* Better runProgram stuff

* Temp commit

* Working well

* Toast test

* More toast

* Added File and Folder picker UI

* Pre-check on run program file exists.

* Refactor to SetupRunProgramControls

* Open URI UI is going.

* Open URI working well

* Open URI stuff working well

* Allowed AppSpecific shortcut and fixed backup/restore shortcut dups

* Fixed settings screen

* Start of code to find by name...

* UI fixed

* Small fixes

* Some single edit code working.

* UI getting better.

* Fixes

* Fixed and merge from main

* UI updates

* UI updates.

* UI stuff

* Fixed crash from move ui item locations.

* Fixed crash from move ui item locations.

* Added delete confirm

* Basic sound working.

* Localized some stuff

* Added sounds

* Better experiance when shortcut is in use.

* UI tweaks

* Fixed KBM ui for unicode shortcut not having ","

* Some clean up

* Cleanup

* Cleanup

* Fixed applyXamlStyling

* Added back stuff lost in merge

* applyXamlStyling, again

* Fixed crash on change from non shortcut to shortcut

* Update src/modules/keyboardmanager/KeyboardManagerEngineTest/KeyboardManagerEngineTest.vcxproj

* Fixed some spelling type issues.

* ImplementationLibrary 231216

* Comment bump to see if the Microsoft.Windows.ImplementationLibrary version thing gets picked up

* Correct, Microsoft.Windows.ImplementationLibrary, finally?

* Fixed two test that failed because we now allow key-chords.

* Removed shortcut sounds.

* use original behavior when "allow chords" is off in shortcut window

* fix crash when editing a shortcut that has apps specified for it

* split KBM chords with comma on dashboard page

* Fix some spelling items.

* More "spelling"

* Fix XAML styling

* align TextBlock and ToggleSwitch

* fix cutoff issue at the top

* increase ComboBox width

* Added *Unsupported* for backwards compat on config of KBM

* fix spellcheck

* Fix crash on Remap key screen

* Fixed Remap Keys ComboBox width too short.

* Removed KBM Single Edit mode, fixed crash.

* Fix Xaml with xaml cops

* Fix crash on setting "target app" for some types of shortcuts.

* Space to toggle chord, combobox back

* fix spellcheck

* fix some code nits

* Code review updates.

* Add exclusions to the bug report tool

* Code review and kill CloseAndEndTask

* Fix alignment / 3 comboboxes per row

* Fix daily telemetry events to exclude start app and open URI

* Add chords and remove app start and open uri from config telemetry

* comma instead of plus in human readable shortcut telemetry data

* Code review, restore default-old state when new row added in KBM

* Code review, restore default-old state when new row added in KBM, part 2

* Still show target app on Settings

* Only allow enabling chords for origin shortcuts

---------

Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
This commit is contained in:
Jeff Lord
2024-02-27 18:12:05 -05:00
committed by GitHub
parent 1a5349bf1e
commit 725c8e8c19
48 changed files with 4373 additions and 1571 deletions

View File

@@ -84,6 +84,7 @@ Ctrls
EXSEL
HOLDENTER
HOLDESC
HOLDSPACE
KBDLLHOOKSTRUCT
keyevent
LAlt

View File

@@ -99,6 +99,7 @@ Pooja
Quriz
randyrants
ricardosantos
ritchielawrence
robmikh
Rutkas
ryanbodrug
@@ -128,6 +129,7 @@ Zykova
# OTHERS
cmdow
Controlz
cortana
fancymouse

View File

@@ -99,6 +99,7 @@ bbwe
bck
BESTEFFORT
bhid
BIF
bigbar
bigobj
binlog
@@ -125,6 +126,7 @@ BPBF
bpmf
bpp
Browsable
BROWSEINFO
bsd
bthprops
bti
@@ -212,6 +214,7 @@ cominterop
commandline
COMMANDTITLE
commctrl
commdlg
compmgmt
COMPOSITIONFULL
comsupp
@@ -473,6 +476,7 @@ FILELOCKSMITHCONTEXTMENU
FILELOCKSMITHEXT
FILELOCKSMITHLIB
FILELOCKSMITHLIBINTEROP
FILEMUSTEXIST
FILEOP
FILEOS
FILESUBTYPE
@@ -801,6 +805,7 @@ LPCTSTR
lpdw
lpfn
LPINPUT
LPITEMIDLIST
lpmi
LPMINMAXINFO
LPMONITORINFO
@@ -808,6 +813,7 @@ LPOSVERSIONINFOEXW
LPQUERY
lprc
LPSAFEARRAY
lpstr
lpsz
lpt
LPTHREAD
@@ -971,6 +977,7 @@ netsetup
netsh
newcolor
newdev
NEWDIALOGSTYLE
newitem
newpath
newrow
@@ -1041,6 +1048,7 @@ ocr
Ocrsettings
odbccp
officehubintl
OFN
ofs
oldcolor
olditem
@@ -1051,6 +1059,7 @@ OLECHAR
onebranch
OOBEPT
opencode
OPENFILENAME
opensource
openxmlformats
OPTIMIZEFORINVOKE
@@ -1085,6 +1094,7 @@ parray
PARTIALCONFIRMATIONDIALOGTITLE
PATCOPY
pathcch
PATHMUSTEXIST
Pathto
PATINVERT
PATPAINT
@@ -1173,6 +1183,7 @@ PRINTCLIENT
printmanagement
prm
proactively
PROCESSENTRY
PROCESSKEY
processthreadsapi
PRODEXT
@@ -1292,6 +1303,7 @@ RESTORETOMAXIMIZED
restrictedcapabilities
restrictederrorinfo
resultlist
RETURNONLYFSDIRS
RGBQUAD
rgbs
rgelt
@@ -1436,6 +1448,7 @@ sln
SMALLICON
smartphone
SMTO
SNAPPROCESS
snwprintf
softline
SOURCECLIENTAREAONLY
@@ -1578,6 +1591,7 @@ tlbimp
TMPVAR
TNP
toggleswitch
Toolhelp
toolkitconverters
Toolset
toolwindow
@@ -1634,6 +1648,7 @@ Updatelayout
UPGRADINGPRODUCTCODE
Uptool
urld
urlmon
Usb
USEDEFAULT
USEFILEATTRIBUTES
@@ -1709,6 +1724,7 @@ wcautil
WCE
wcex
WClass
wcsicmp
wcsnicmp
WDA
wdp