29 lines
899 B
Rust
29 lines
899 B
Rust
mod input_event_mouse;
|
|
mod mouse_mover;
|
|
mod screen;
|
|
mod trackpad;
|
|
mod trackpad_behavior;
|
|
|
|
use evdev::Device;
|
|
|
|
use crate::input_event_mouse::find_event_mouse;
|
|
use crate::mouse_mover::MoveMouse;
|
|
use crate::trackpad_behavior::initialize_trackpad;
|
|
use crate::trackpad_behavior::Notifiable;
|
|
|
|
fn main() {
|
|
let evmouse_path = find_event_mouse().expect("No event mouse found on local machine");
|
|
println!("Using event-mouse: {:?}", evmouse_path);
|
|
let mut device = Device::open(&evmouse_path).unwrap();
|
|
device.grab().unwrap();
|
|
let mut trackpad = initialize_trackpad(&device, &evmouse_path);
|
|
println!("{:#?}", trackpad.definition);
|
|
trackpad.action = Box::new(MoveMouse::new());
|
|
println!("Listenting events...");
|
|
while let Ok(events_fetched) = device.fetch_events() {
|
|
for event_fetched in events_fetched {
|
|
trackpad.notify(event_fetched);
|
|
}
|
|
}
|
|
}
|