mirror of
https://github.com/bevyengine/bevy
synced 2024-11-14 00:47:32 +00:00
5f3a529920
# Objective - The API usage of `KeyboardInput` in the `char_input_events` and `text_input` examples don't match the [migration guide](https://bevyengine.org/learn/migration-guides/0-13-to-0-14/#deprecate-receivedcharacter). ## Solution - Check using `is_pressed` over `ButtonState::Released`.
26 lines
710 B
Rust
26 lines
710 B
Rust
//! Prints out all chars as they are inputted.
|
|
|
|
use bevy::{
|
|
input::keyboard::{Key, KeyboardInput},
|
|
prelude::*,
|
|
};
|
|
|
|
fn main() {
|
|
App::new()
|
|
.add_plugins(DefaultPlugins)
|
|
.add_systems(Update, print_char_event_system)
|
|
.run();
|
|
}
|
|
|
|
/// This system prints out all char events as they come in.
|
|
fn print_char_event_system(mut char_input_events: EventReader<KeyboardInput>) {
|
|
for event in char_input_events.read() {
|
|
// Only check for characters when the key is pressed.
|
|
if !event.state.is_pressed() {
|
|
continue;
|
|
}
|
|
if let Key::Character(character) = &event.logical_key {
|
|
info!("{:?}: '{}'", event, character);
|
|
}
|
|
}
|
|
}
|