Skip to content

[KBM] Migrate KBM UI out of the runner#10709

Merged
SeraphimaZykova merged 35 commits intomicrosoft:feature/KBM-separate-processesfrom
SeraphimaZykova:kbm-editor
Apr 16, 2021
Merged

[KBM] Migrate KBM UI out of the runner#10709
SeraphimaZykova merged 35 commits intomicrosoft:feature/KBM-separate-processesfrom
SeraphimaZykova:kbm-editor

Conversation

@SeraphimaZykova
Copy link
Contributor

Summary of the Pull Request

What is this about:

Created the KeyboardManagerEditor project to make the KBM UI a standalone app.
The KeyboardManagerEditor is invoked from the Settings app with an argument corresponding to the editor type (key or shortcut).

What is include in the PR:

How does someone test / validate:

Quality Checklist

  • Linked issue: [KBM] Move KBM out of the runner #10127
  • Communication: I've discussed this with core contributors in the issue.
  • Tests: Added/updated and all pass
  • Installer: Added/updated and all pass
  • Localization: All end user facing strings can be localized
  • Docs: Added/ updated
  • Binaries: Any new files are added to WXS / YML

Contributor License Agreement (CLA)

A CLA must be signed. If not, go over here and sign the CLA.

@SeraphimaZykova SeraphimaZykova added the Product-Keyboard Shortcut Manager Issues regarding Keyboard Shortcut Manager label Apr 12, 2021
@SeraphimaZykova SeraphimaZykova marked this pull request as draft April 12, 2021 15:05
@SeraphimaZykova SeraphimaZykova marked this pull request as ready for review April 16, 2021 10:28
@github-actions
Copy link

Misspellings found, please review:

  • argumants
To accept these changes, run the following commands from this repository on this branch
pushd $(git rev-parse --show-toplevel)
perl -e '
my @expect_files=qw('".github/actions/spell-check/expect.txt"');
@ARGV=@expect_files;
my @stale=qw('"AAD ABOUTBOX Addins adopsinsider akamaihd alertsolid ALogo AMirror antialiased asyncwebview Breadcrumb Btn capitalized Checkedin checknetisolation Chicklet Childof choiceref CLogo colorpickerref Commdlg commondataservicecds concat COPYDATASTRUCT corehr CPlus CRM crmcustomerinsightsapp cw Dataflows Devagya Dialpad dirname DLogo DMap downlevel DPICHANGED Drakula DRM dropref EABF EAC EACB EACC EADA EADB EADF EAE EAEE EAEF EAF EAFC EAFD eb EBC EBD EBDA EBE EBEC EBEE EBEF EBF EBFC ECAA ECAB ECAC ECAF ECCA ECCB ECCD ECDC ECDE ECDF ECEB ECED ECEE ECFE ECFF EDBB EDBC EDBD EDBE EDBF EDCA EDCB EDCC EDCD EDCE EDCF EDDB EDDC EDDD EDDE EDDF EDE EDFF edgelogo edgeoldlogo editorbody editorhead editorheadbuttons editortitle editorzone Edu EEB EEBA EEBB EEBC EEBD EEBE EEBF EECB EECC EECD EECE EECF EED EEED EEEF EEF EFB EFBA EFC EFDA EFDE EFE EFEB EFFC EFFE ELogo Entitlements eventdatemissed Favicon FSharp Giftbox grayscale Iconset IIcon IInput INav Inbox Intellisense jsx Kaizala keyof keyparts LLogo Lync mixin MLogo Moveto myuri nowrap npmjs Oject OLogo Onboarding onedrive onedrivelogo osx Pano PCOPYDATASTRUCT Phishing php phptest PLogo pointstar powerappscds Printfax py Qand RSHIFT rutkas scss Sharei Sharepoint Shelveset Signin sixpointstar Skype Slideshow SLogo spinbuttonref spoprod Staffhub Starburst Strikethrough stringify stylesheet subsetted subsetter svgr SVGSVG Symlink talenthrcore Taskboard Telemarketer TFVC Timeline toggleleft toggleoff toggleon toggleref toggleright truetype tslint TVM twelvepointstar txyewy typings UCHAR Ungroup Unpublish Unsync Untag Visio Voicemail VSTS webapp webkit webp webview Wifi windowsapp wmonk woff XAngle XCOPY YAngle YLogo YourUserName "');
my $re=join "|", @stale;
my $suffix=".".time();
my $previous="";
sub maybe_unlink { unlink($_[0]) if $_[0]; }
while (<>) {
  if ($ARGV ne $old_argv) { maybe_unlink($previous); $previous="$ARGV$suffix"; rename($ARGV, $previous); open(ARGV_OUT, ">$ARGV"); select(ARGV_OUT); $old_argv = $ARGV; }
  next if /^(?:$re)(?:(?:\r|\n)*$| .*)/; print;
}; maybe_unlink($previous);'
perl -e '
my $new_expect_file=".github/actions/spell-check/expect.txt";
use File::Path qw(make_path);
make_path ".github/actions/spell-check";
open FILE, q{<}, $new_expect_file; chomp(my @words = <FILE>); close FILE;
my @add=qw('"argumants Concat EB JSX rshift Stringify Windowsapp "');
my %items; @items{@words} = @words x (1); @items{@add} = @add x (1);
@words = sort {lc($a) cmp lc($b)} keys %items;
open FILE, q{>}, $new_expect_file; for my $word (@words) { print FILE "$word\n" if $word =~ /\w/; };
close FILE;'
popd

@SeraphimaZykova SeraphimaZykova merged commit eb28bfa into microsoft:feature/KBM-separate-processes Apr 16, 2021
@SeraphimaZykova SeraphimaZykova deleted the kbm-editor branch April 16, 2021 14:32
enricogior added a commit that referenced this pull request Apr 26, 2021
* 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Product-Keyboard Shortcut Manager Issues regarding Keyboard Shortcut Manager

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants