# 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`.
		
			
				
	
	
		
			27 lines
		
	
	
		
			710 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			27 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);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |