button_handlers/
button_handlers.rs1extern crate ev3dev_lang_rust;
2
3use ev3dev_lang_rust::{Button, Ev3Result};
4
5fn main() -> Ev3Result<()> {
6 let mut button = Button::new()?;
7
8 button.set_change_handler(|pressed_buttons| println!("Pressed buttons: {:?}", pressed_buttons));
9
10 button.set_up_handler(|is_pressed| println!("Button 'up' is pressed: {}", is_pressed));
11 button.set_down_handler(|is_pressed| println!("Button 'down' is pressed: {}", is_pressed));
12 button.set_left_handler(|is_pressed| println!("Button 'left' is pressed: {}", is_pressed));
13 button.set_right_handler(|is_pressed| println!("Button 'right' is pressed: {}", is_pressed));
14 button.set_enter_handler(|is_pressed| println!("Button 'enter' is pressed: {}", is_pressed));
15 button.set_backspace_handler(|is_pressed| {
16 println!("Button 'backspace' is pressed: {}", is_pressed)
17 });
18 button.set_backspace_handler(|is_pressed| {
19 println!("Button 'backspace' is pressed: {}", is_pressed)
20 });
21
22 loop {
23 button.process();
24 std::thread::sleep(std::time::Duration::from_millis(100));
25 }
26}