use bevy::{ input::mouse::{MouseButtonInput, MouseMotion}, prelude::*, }; fn main() { App::build() .add_default_plugins() .add_system_init(mouse_input_system) .run(); } /// prints out mouse events as they come in pub fn mouse_input_system(resources: &mut Resources) -> Box { let mut mouse_button_input_event_reader = resources.get_event_reader::(); let mut mouse_motion_event_reader = resources.get_event_reader::(); SystemBuilder::new("mouse_input") .read_resource::>() .read_resource::>() .build( move |_command_buffer, _world, (mouse_button_input_events, mouse_motion_events), _queries| { for event in mouse_button_input_events.iter(&mut mouse_button_input_event_reader) { println!("{:?}", event); } for event in mouse_motion_events.iter(&mut mouse_motion_event_reader) { println!("{:?}", event); } }, ) }