use bevy::{ input::mouse::{MouseButtonInput, MouseMotionInput}, prelude::*, }; fn main() { App::build() .add_default_plugins() .init_resource::() .add_system(mouse_input_system.system()) .run(); } #[derive(FromResources)] struct State { mouse_button_event_reader: EventReader, mouse_motion_event_reader: EventReader, } /// prints out mouse events as they come in fn mouse_input_system( mut state: ResMut, mouse_button_input_events: Com>, mouse_motion_events: Com>, ) { for event in state .mouse_button_event_reader .iter(&mouse_button_input_events) { println!("{:?}", event); } for event in state.mouse_motion_event_reader.iter(&mouse_motion_events) { println!("{:?}", event); } }