-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Clean up synonyms, key code generation. #138192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
How do you plan to use this |
That's because I split this out from the shortcuts PR. |
897b7ff to
9a6f5dd
Compare
| /// [shiftLeft], and [shiftRight]. | ||
| static Set<LogicalKeyboardKey> expandSynonyms(Set<LogicalKeyboardKey> input) { | ||
| return input.expand((LogicalKeyboardKey element) { | ||
| return _reverseSynonyms[element] ?? <LogicalKeyboardKey>{element}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this logic is so simple that it should probably be written as a switch clause whose default is assert(false).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not quite sure what you mean: do you mean removing the _reverseSynonyms map and just hard coding it here? Or do you mean something else?
For example:
return input.expand((LogicalKeyboardKey key) {
return switch(key) {
LogicalKeyboardKey.shift => <LogicalKeyboardKey>[LogicalKeyboardKey.shiftLeft, LogicalKeyboardKey.shiftRight],
// ...
_ => <LogicalKeyboardKey>[key],
};
});There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah. I think saving a map is clearer. But it's up to you.
Also, do we expect this function to be used by others, or is it just for internal variables like _controlSynonyms? If the latter, then we might as well just use _ => assert(false) instead of _ => <LogicalKeyboardKey>[key].
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was writing it expecting it to be generally useful. If it was just for internal variables, I'd just hard code those as private lists. I wanted to have the internal variables depend on the generated file, though, so that it wouldn't need to be updated manually if the list of synonyms gets added to. And if I wanted that, then anyone else needing this functionality might also want to do that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it, ok, let's keep the current approach.
dkwingsmt
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Roll Flutter from f662150 to e8c2bb1 (66 revisions) flutter/flutter@f662150...e8c2bb1 2023-11-14 [email protected] Reland "Update `framework_test.dart` to remove `ButtonBar` usage and remove references from other clases (#137550) (flutter/flutter#137753) 2023-11-14 [email protected] Consume flutter.js from the engine artifacts. (flutter/flutter#137113) 2023-11-14 [email protected] Roll Flutter Engine from 995ebcefb0d4 to 1b3fd80812c3 (1 revision) (flutter/flutter#138415) 2023-11-14 [email protected] Roll Packages from 17bd92e to 428ba3e (2 revisions) (flutter/flutter#138412) 2023-11-14 [email protected] Roll Flutter Engine from 712094481217 to 995ebcefb0d4 (1 revision) (flutter/flutter#138409) 2023-11-14 [email protected] Roll Flutter Engine from 2c54b5f70c94 to 712094481217 (1 revision) (flutter/flutter#138401) 2023-11-14 [email protected] Roll Flutter Engine from d100e8912eb0 to 2c54b5f70c94 (4 revisions) (flutter/flutter#138399) 2023-11-14 [email protected] Roll Flutter Engine from 74a9de45f128 to d100e8912eb0 (3 revisions) (flutter/flutter#138383) 2023-11-14 [email protected] Roll Flutter Engine from 77b952f3add4 to 74a9de45f128 (3 revisions) (flutter/flutter#138382) 2023-11-14 [email protected] Fixing typo (flutter/flutter#138253) 2023-11-14 [email protected] Roll Flutter Engine from 046ec85dffc6 to 77b952f3add4 (1 revision) (flutter/flutter#138377) 2023-11-13 [email protected] Roll Flutter Engine from db6da000a17e to 046ec85dffc6 (5 revisions) (flutter/flutter#138375) 2023-11-13 [email protected] Finally remove analysis_options_user.yaml (flutter/flutter#138261) 2023-11-13 [email protected] Add a DevTools section to CONTRIBUTING.md (flutter/flutter#137193) 2023-11-13 [email protected] Update DraggableScrollableSheet docs to reflect API change (flutter/flutter#136471) 2023-11-13 [email protected] Clean up synonyms, key code generation. (flutter/flutter#138192) 2023-11-13 [email protected] Roll Flutter Engine from 74ba6c17a488 to db6da000a17e (2 revisions) (flutter/flutter#138364) 2023-11-13 [email protected] Roll Flutter Engine from 5d62f1a2392a to 74ba6c17a488 (1 revision) (flutter/flutter#138362) 2023-11-13 [email protected] Roll Flutter Engine from 7de793d2bb68 to 5d62f1a2392a (1 revision) (flutter/flutter#138358) 2023-11-13 [email protected] Upgrade leak tracker. (flutter/flutter#138283) 2023-11-13 [email protected] Roll Flutter Engine from fe11f3a46bac to 7de793d2bb68 (2 revisions) (flutter/flutter#138353) 2023-11-13 [email protected] Roll Packages from a682189 to 17bd92e (2 revisions) (flutter/flutter#138347) 2023-11-13 [email protected] Roll Flutter Engine from a18ee3c7f57a to fe11f3a46bac (2 revisions) (flutter/flutter#138344) 2023-11-12 [email protected] Roll Flutter Engine from 828e4dbf6693 to a18ee3c7f57a (7 revisions) (flutter/flutter#138332) 2023-11-11 [email protected] Roll Flutter Engine from e2e07eab35ec to 828e4dbf6693 (1 revision) (flutter/flutter#138282) 2023-11-11 [email protected] Roll Flutter Engine from 1c29ce15c528 to e2e07eab35ec (1 revision) (flutter/flutter#138280) 2023-11-11 [email protected] Roll Flutter Engine from aa6753fdbb51 to 1c29ce15c528 (1 revision) (flutter/flutter#138277) 2023-11-11 [email protected] Roll Flutter Engine from 00db306f6f7b to aa6753fdbb51 (1 revision) (flutter/flutter#138269) 2023-11-11 [email protected] Roll Flutter Engine from 9d8a1125640d to 00db306f6f7b (7 revisions) (flutter/flutter#138266) 2023-11-10 [email protected] Only run tests on macOS 12 (flutter/flutter#138260) 2023-11-10 [email protected] Fixes vscode path installed via snap (flutter/flutter#136997) 2023-11-10 [email protected] Docs typo: comprised -> composed (flutter/flutter#137896) 2023-11-10 [email protected] Deprecates onWillAccept and onAccept callbacks in DragTarget. (flutter/flutter#133691) 2023-11-10 [email protected] [macOS] Suppress Xcode 15 createItemModels warning (flutter/flutter#138243) 2023-11-10 [email protected] Roll Flutter Engine from 275ddb296ec9 to 9d8a1125640d (1 revision) (flutter/flutter#138252) 2023-11-10 [email protected] GestureRecognizer should dispatch creation and disposal events. (flutter/flutter#138223) 2023-11-10 [email protected] Roll Flutter Engine from 5c2e16c5a95a to 275ddb296ec9 (1 revision) (flutter/flutter#138249) 2023-11-10 [email protected] Roll Packages from b69f54e to a682189 (3 revisions) (flutter/flutter#138239) 2023-11-10 [email protected] Roll Flutter Engine from e5b75177ac8e to 5c2e16c5a95a (1 revision) (flutter/flutter#138247) 2023-11-10 [email protected] `CommandResultEvent` migrated (flutter/flutter#138165) 2023-11-10 [email protected] Fix #128925 by properly setting the Android Event Source (flutter/flutter#138241) 2023-11-10 [email protected] Roll Flutter Engine from 77349dc8e27b to e5b75177ac8e (2 revisions) (flutter/flutter#138244) 2023-11-10 [email protected] Roll Flutter Engine from a5eab0d281fe to 77349dc8e27b (4 revisions) (flutter/flutter#138237) 2023-11-10 [email protected] Update analytics constructor to include `FLUTTER_HOST` (flutter/flutter#138107) 2023-11-10 [email protected] Prepare the analyze_once test for removal of analysis_options_user support (flutter/flutter#138229) 2023-11-10 [email protected] Roll Flutter Engine from b020893cba29 to a5eab0d281fe (5 revisions) (flutter/flutter#138231) ...
Description
This cleans up how synonyms are calculated, and adds a reverse mapping from pseudo keys to the real keys they are synonyms of.
Updates the
layout_goals.jsonto include the "Space" key, since that was added in the engine without updating the generation configuration.