Skip to content

Conversation

@gspencergoog
Copy link
Contributor

@gspencergoog gspencergoog commented Oct 19, 2023

Description

Adds some convenience methods to HarwareKeyboard that allow testing to see if a logical or physical key is pressed from the event object. These are similar to the ones already on RawKeyEvent, and will make migration the to KeyEvent system easier (so it could more easily be a flutter fix migration).

Added:

  • bool isLogicalKeyPressed(LogicalKeyboardKey key)
  • bool isPhysicalKeyPressed(PhysicalKeyboardKey key)
  • bool get isControlPressed
  • bool get isShiftPressed
  • bool get isAltPressed
  • bool get isMetaPressed

Related Issues

Tests

  • Added tests for the new methods.

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

Choose a reason for hiding this comment

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

Is it faster to just write _pressedKeys.containsKey and _pressedKeys.containsValue?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Maybe, but it's easier to migrate if the names don't change.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

(or are similar, I guess)

Copy link
Contributor

Choose a reason for hiding this comment

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

No, I'm just talking about the internal implementation.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Oh, duh. :-)

Yeah, OK, I'll do that.

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 Oct 26, 2023
@auto-submit
Copy link
Contributor

auto-submit bot commented Oct 27, 2023

auto label is removed for flutter/flutter/136856, due to - The status or check suite Google testing has failed. Please fix the issues identified (or deflake) before re-applying this label.

@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Oct 27, 2023
@gspencergoog gspencergoog added the autosubmit Merge PR when tree becomes green via auto submit App label Oct 27, 2023
@auto-submit auto-submit bot merged commit 5907c97 into flutter:master Oct 27, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 27, 2023
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Oct 27, 2023
Roll Flutter from c555599 to 5907c97 (45 revisions)

flutter/flutter@c555599...5907c97

2023-10-27 gspencergoog@users.noreply.github.com Add `isLogicalKeyPressed` to `KeyEvent` (flutter/flutter#136856)
2023-10-27 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Ensure `flutter build apk --release` optimizes+shrinks platform code" (flutter/flutter#137433)
2023-10-27 engine-flutter-autoroll@skia.org Roll Flutter Engine from bedc49efc85c to a198ad4e740d (20 revisions) (flutter/flutter#137429)
2023-10-27 31859944+LongCatIsLooong@users.noreply.github.com Make `SemanticsNode.isMergedIntoParent` Readonly (flutter/flutter#137304)
2023-10-27 engine-flutter-autoroll@skia.org Manual roll Flutter Engine from bedc49efc85c to 71e1a0430232 (16 revisions) (flutter/flutter#137422)
2023-10-27 engine-flutter-autoroll@skia.org Roll Packages from fea24c5 to 2af6954 (5 revisions) (flutter/flutter#137421)
2023-10-27 15619084+vashworth@users.noreply.github.com Run tests on either macOS 12 or 13 (flutter/flutter#137365)
2023-10-27 tessertaha@gmail.com Revert "Update `DataTable` test when data row is pressed for Material 3 (#137230)" (flutter/flutter#137407)
2023-10-27 tessertaha@gmail.com Revert "Reland - Update `OutlinedButton` tests for Material 3 (#136809) (#137247)" (flutter/flutter#137406)
2023-10-27 kustermann@google.com Ensure `flutter build apk --release` optimizes+shrinks platform code (flutter/flutter#136880)
2023-10-27 tessertaha@gmail.com Update `DataTable` test when data row is pressed for Material 3 (flutter/flutter#137230)
2023-10-27 tessertaha@gmail.com Reland - Update `OutlinedButton` tests for Material 3 (#136809) (flutter/flutter#137247)
2023-10-27 andrewrkolos@gmail.com update asset manifest file name referenced in `WebServiceWorker` (flutter/flutter#135954)
2023-10-27 andrewrkolos@gmail.com give `throwsToolExit` a more useful description (flutter/flutter#136694)
2023-10-27 tvolkert@users.noreply.github.com Add ConstrainedLayoutBuilder.updateShouldRebuild() (flutter/flutter#136691)
2023-10-27 41873024+droidbg@users.noreply.github.com Fix. typos (flutter/flutter#137325)
2023-10-27 engine-flutter-autoroll@skia.org Roll Flutter Engine from 87f384c2d70b to bedc49efc85c (1 revision) (flutter/flutter#137382)
2023-10-26 pateltirth454@gmail.com Fix Typos (flutter/flutter#137292)
2023-10-26 sokolovskyi.konstantin@gmail.com AnimationController should dispatch creation in constructor. (flutter/flutter#134839)
2023-10-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from 9788bb9ff83e to 87f384c2d70b (4 revisions) (flutter/flutter#137380)
2023-10-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from ce1c1ee54107 to 9788bb9ff83e (3 revisions) (flutter/flutter#137373)
2023-10-26 fluttergithubbot@gmail.com Marks Windows_arm64 windows_startup_test to be unflaky (flutter/flutter#137228)
2023-10-26 fluttergithubbot@gmail.com Marks Windows_arm64 flutter_tool_startup__windows to be unflaky (flutter/flutter#137229)
2023-10-26 fluttergithubbot@gmail.com Marks Windows_arm64 windows_home_scroll_perf__timeline_summary to be unflaky (flutter/flutter#137221)
2023-10-26 34871572+gmackall@users.noreply.github.com Declare dependency on copyFlutterAssetsTask in bundleAarTask (flutter/flutter#137370)
2023-10-26 fluttergithubbot@gmail.com Marks Windows_arm64 complex_layout_win_desktop__start_up to be unflaky (flutter/flutter#137225)
2023-10-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from 394744d2c4d0 to ce1c1ee54107 (2 revisions) (flutter/flutter#137367)
2023-10-26 fluttergithubbot@gmail.com Marks Windows_arm64 hot_mode_dev_cycle_win_target__benchmark to be unflaky (flutter/flutter#137217)
2023-10-26 fluttergithubbot@gmail.com Marks Windows_arm64 flutter_view_win_desktop__start_up to be unflaky (flutter/flutter#137226)
2023-10-26 fluttergithubbot@gmail.com Marks Windows_arm64 platform_view_win_desktop__start_up to be unflaky (flutter/flutter#137227)
2023-10-26 fluttergithubbot@gmail.com Marks Windows_arm64 flutter_gallery_win_desktop__start_up to be unflaky (flutter/flutter#137224)
2023-10-26 fluttergithubbot@gmail.com Marks Windows_arm64 hello_world_win_desktop__compile to be unflaky (flutter/flutter#137222)
2023-10-26 fluttergithubbot@gmail.com Marks Windows_arm64 flutter_gallery_win_desktop__compile to be unflaky (flutter/flutter#137223)
2023-10-26 fluttergithubbot@gmail.com Marks Windows_arm64 run_release_test_windows to be unflaky (flutter/flutter#137220)
2023-10-26 greg@zulip.com Fix dislocated doc and comment on ThemeData localize cache (flutter/flutter#137315)
2023-10-26 fluttergithubbot@gmail.com Marks Windows_arm64 platform_channel_sample_test_windows to be unflaky (flutter/flutter#137218)
2023-10-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from 7c5c8f587992 to 394744d2c4d0 (1 revision) (flutter/flutter#137364)
2023-10-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from 9363fe6ba503 to 7c5c8f587992 (3 revisions) (flutter/flutter#137363)
2023-10-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from 542f8bc4c019 to 9363fe6ba503 (2 revisions) (flutter/flutter#137354)
2023-10-26 42216813+eliasyishak@users.noreply.github.com Unified analytics events for doctor validators (flutter/flutter#136647)
2023-10-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from d8132d5070bf to 542f8bc4c019 (2 revisions) (flutter/flutter#137349)
2023-10-26 fluttergithubbot@gmail.com Marks Windows_arm64 run_debug_test_windows to be unflaky (flutter/flutter#137219)
2023-10-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from 0a6253dbfafd to d8132d5070bf (1 revision) (flutter/flutter#137347)
2023-10-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from 5da115661f01 to 0a6253dbfafd (1 revision) (flutter/flutter#137341)
2023-10-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from 61ae5ef94e9c to 5da115661f01 (1 revision) (flutter/flutter#137340)

...
@gspencergoog gspencergoog changed the title Add isLogicalKeyPressed to KeyEvent Add isLogicalKeyPressed to HardwareKeyboard Nov 15, 2023
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