-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Allow read-write access to raw WindowEvents within Bevy apps #5977
Copy link
Copy link
Open
Labels
A-InputPlayer input via keyboard, mouse, gamepad, and morePlayer input via keyboard, mouse, gamepad, and moreA-WindowingPlatform-agnostic interface layer to run your app inPlatform-agnostic interface layer to run your app inC-TestingA change that impacts how we test Bevy or how users test their appsA change that impacts how we test Bevy or how users test their appsC-UsabilityA targeted quality-of-life change that makes Bevy easier to useA targeted quality-of-life change that makes Bevy easier to useD-ModestA "normal" level of difficulty; suitable for simple features or challenging fixesA "normal" level of difficulty; suitable for simple features or challenging fixesS-Needs-DesignThis issue requires design work to think about how it would best be accomplishedThis issue requires design work to think about how it would best be accomplished
Description
What problem does this solve or what need does it fill?
While working on an input capture and playback library, @plof27 pointed out that I may be able to capture raw events from winit directly, rather than dealing with the separated event streams.
Unfortunately, the necessary WindowEvent type is not exposed in winit_runner_with, our winit-based app runner.
What solution would you like?
- Allow users to read the full list of raw window events sent.
- Allow users to send raw window events from within systems, which are then processed by the
winitloop.
These should be exposed as a simple Events<WindowEvent>; the complexity comes from ensuring that winit_runner_with responds appropriately.
What alternative(s) have you considered?
I've considered exposing this with a custom runner, however #4537 means this is a tedious and duplication-heavy task.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-InputPlayer input via keyboard, mouse, gamepad, and morePlayer input via keyboard, mouse, gamepad, and moreA-WindowingPlatform-agnostic interface layer to run your app inPlatform-agnostic interface layer to run your app inC-TestingA change that impacts how we test Bevy or how users test their appsA change that impacts how we test Bevy or how users test their appsC-UsabilityA targeted quality-of-life change that makes Bevy easier to useA targeted quality-of-life change that makes Bevy easier to useD-ModestA "normal" level of difficulty; suitable for simple features or challenging fixesA "normal" level of difficulty; suitable for simple features or challenging fixesS-Needs-DesignThis issue requires design work to think about how it would best be accomplishedThis issue requires design work to think about how it would best be accomplished