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

Implement keyboard input handling #1

Open
hansihe opened this issue Mar 5, 2022 · 0 comments
Open

Implement keyboard input handling #1

hansihe opened this issue Mar 5, 2022 · 0 comments
Labels
external This issue is not needed or prioritized by PlayPulse internal This issue is needed by PlayPulse

Comments

@hansihe
Copy link
Member

hansihe commented Mar 5, 2022

This issue consists of several parts, in what I would consider the most convenient implementation order:

  1. Forward input from wlroots backend to the flutter engine. This includes handling the new keyboard signal emitted by wlroots and registering handlers for key events which call into the flutter engine API.
  2. Implement keyboard event handling in SurfaceWidget. This would involve introducing a focus node and adding a handler for keyboard events. Implementing focus-on-click vs focus-on-hover (or some other mechanism) is best left to the consumer, but the dart library should make this easy.
  3. Make sure the surface receives/loses keyboard focus when the focus node receives/loses focus. This involves making a new message handler for managing focus changes in the native code, then forwarding that to wlroots. This would then be called by the SurfaceWidget when the focus node changes state.
  4. Make sure the surface receives keyboard events correctly. This involves making a new message handler for keyboard events in native code which forwards the events to wlroots. This would be called by the SurfaceWidget when input events are received.
@hansihe hansihe added external This issue is not needed or prioritized by PlayPulse internal This issue is needed by PlayPulse labels Mar 5, 2022
@charafau charafau mentioned this issue Mar 8, 2022
4 tasks
@charafau charafau mentioned this issue Mar 16, 2022
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
external This issue is not needed or prioritized by PlayPulse internal This issue is needed by PlayPulse
Projects
None yet
Development

No branches or pull requests

1 participant