Skip to content

Conversation

@gspencergoog
Copy link
Contributor

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.json to include the "Space" key, since that was added in the engine without updating the generation configuration.

@github-actions github-actions bot added the framework flutter/packages/flutter repository. See also f: labels. label Nov 9, 2023
@dkwingsmt
Copy link
Contributor

How do you plan to use this expandSynonyms? I don't see it referred in this PR.

@gspencergoog
Copy link
Contributor Author

gspencergoog commented Nov 10, 2023

do you plan to use this expandSynonyms? I don't see it referred in this PR.

That's because I split this out from the shortcuts PR.

See here: https://github.com/gspencergoog/flutter/blob/activator_accepts/packages/flutter/lib/src/widgets/shortcuts.dart

(Specifically here and here)

/// [shiftLeft], and [shiftRight].
static Set<LogicalKeyboardKey> expandSynonyms(Set<LogicalKeyboardKey> input) {
return input.expand((LogicalKeyboardKey element) {
return _reverseSynonyms[element] ?? <LogicalKeyboardKey>{element};
Copy link
Contributor

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).

Copy link
Contributor Author

@gspencergoog gspencergoog Nov 13, 2023

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],
    };
  });

Copy link
Contributor

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].

Copy link
Contributor Author

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.

Copy link
Contributor

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.

Copy link
Contributor

@dkwingsmt dkwingsmt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@gspencergoog gspencergoog added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 13, 2023
@auto-submit auto-submit bot merged commit 1b9cab7 into flutter:master Nov 13, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 14, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 14, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 14, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 14, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 14, 2023
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Nov 14, 2023
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)
...
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants