use crate::error::Result;
use crate::types::{KeyCode, MouseButton};
use std::collections::HashMap;
#[derive(Debug, Clone, Default)]
pub struct RawInputData {
pub keys: HashMap<KeyCode, bool>,
pub mouse_buttons: HashMap<MouseButton, bool>,
pub mouse_delta: (i32, i32),
}
pub trait RawInputProvider {
fn initialize(&mut self) -> Result<()>;
fn poll(&mut self) -> Result<Option<RawInputData>>;
fn shutdown(&mut self) -> Result<()>;
}