Bevy Version: | 0.9 | (outdated!) |
---|
Text / Character Input
Relevant official examples:
char_input_events
.
Use this (not keyboard input) if you want to implement text input in a Bevy app. This way, everything works as the user expects from their operating system, including Unicode support.
Bevy will produce a ReceivedCharacter
event for every Unicode code point coming from the OS.
This example shows how to let the user input text into a string (here stored as a local resource).
/// prints every char coming in; press enter to echo the full string
fn text_input(
mut char_evr: EventReader<ReceivedCharacter>,
keys: Res<Input<KeyCode>>,
mut string: Local<String>,
) {
for ev in char_evr.iter() {
println!("Got char: '{}'", ev.char);
string.push(ev.char);
}
if keys.just_pressed(KeyCode::Return) {
println!("Text input: {}", *string);
string.clear();
}
}