use bevy::{ input::mouse::{MouseButtonInput, MouseMotionInput}, prelude::*, }; fn main() { App::build() .add_default_plugins() .init_resource::() .add_system(mouse_input_system.system()) .run(); } #[derive(Resource)] 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: ResourceMut, mouse_button_input_events: Ref>, mouse_motion_events: Ref>, ) { 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); } }