Skip to content
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

Hardware Keyboard: Android #33113

Merged
merged 30 commits into from
May 19, 2022

Conversation

dkwingsmt
Copy link
Contributor

@dkwingsmt dkwingsmt commented May 4, 2022

This PR implements the embedder keyboard responder of the Android embedding, the backend of HardwareKeyboard on Android. This is the last platform to support it.

The behaviors are tested on a ChromeOS over ARC++. There are some weird behaviors, mostly for metaState, which I'm not sure is the fault of ARC++ or Android. I don't have an Android device with keyboard to test for now. Therefore the synchronization logic is implemented in a loose way.

There are a few known issues:

The framework PR flutter/flutter#104032 generates the necessary codes for this PR.

Related Issues

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the Flutter Style Guide and the C++, Objective-C, Java style guides.
  • I listed at least one issue that this PR fixes in the description above.
  • I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt. See testing the engine for instructions on
    writing and running engine tests.
  • I updated/added relevant documentation (doc comments with ///).
  • I signed the CLA.
  • All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@dkwingsmt dkwingsmt force-pushed the android-key-embedder-responder branch from 80608c7 to 16834f3 Compare May 10, 2022 12:11
@dkwingsmt dkwingsmt changed the title [WIP] Android key embedder responder Android key embedder responder May 18, 2022
@dkwingsmt dkwingsmt marked this pull request as ready for review May 18, 2022 02:06
@dkwingsmt dkwingsmt changed the title Android key embedder responder Hardware Keyboard: Android May 18, 2022
@gspencergoog
Copy link
Contributor

Looks like there are some test failures in InputConnectionAdaptorTest.

dkwingsmt and others added 5 commits May 18, 2022 10:10
Co-authored-by: Greg Spencer <gspencergoog@users.noreply.github.com>
@dkwingsmt
Copy link
Contributor Author

@gspencergoog I've fixed the issues. Can you take another look?

Copy link
Contributor

@gspencergoog gspencergoog left a comment

Choose a reason for hiding this comment

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

32384589-a60f0e74-c078-11e7-9bc1-e5b5287aea9d

@dkwingsmt dkwingsmt merged commit 8bf69d1 into flutter:main May 19, 2022
@dkwingsmt dkwingsmt deleted the android-key-embedder-responder branch May 19, 2022 22:03
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 20, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 20, 2022
dkwingsmt added a commit that referenced this pull request May 20, 2022
dkwingsmt added a commit that referenced this pull request May 20, 2022
dkwingsmt added a commit to dkwingsmt/engine that referenced this pull request May 23, 2022
dkwingsmt added a commit to dkwingsmt/engine that referenced this pull request May 23, 2022
…33507)"

This reverts commit b7815a2.

Lint warnings and errors

Doc

Format
houhuayong pushed a commit to houhuayong/engine that referenced this pull request Jun 21, 2022
* Impl

* First test passed

* Runnable and more tests

* Use constants

* static import

* modifier keys

* nonUsKeys

* order test, duplicate/abrupt test

* Synthesize pressing keys

* WIP

* New sync algorithm

* Sync with synonym

* Add all pressing goals and mask constants

* Test all modifiers

* Add tests for capslock

* Gen

* Docs

* mutable

* Extract CharacterCombiner, docs

* doc

* License

* Doc for keydata

* Apply suggestions from code review

Co-authored-by: Greg Spencer <gspencergoog@users.noreply.github.com>

* Use &

* Format

* Fix tests

Co-authored-by: Greg Spencer <gspencergoog@users.noreply.github.com>
houhuayong pushed a commit to houhuayong/engine that referenced this pull request Jun 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants