use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MouseConfig {
#[serde(default = "crate::defaults::scroll_speed")]
pub mouse_scroll_speed: f32,
#[serde(default = "crate::defaults::double_click_threshold")]
pub mouse_double_click_threshold: u64,
#[serde(default = "crate::defaults::triple_click_threshold")]
pub mouse_triple_click_threshold: u64,
#[serde(default = "crate::defaults::bool_true")]
pub option_click_moves_cursor: bool,
#[serde(default = "crate::defaults::bool_false")]
pub focus_follows_mouse: bool,
#[serde(default = "crate::defaults::bool_true")]
pub report_horizontal_scroll: bool,
}
impl Default for MouseConfig {
fn default() -> Self {
Self {
mouse_scroll_speed: crate::defaults::scroll_speed(),
mouse_double_click_threshold: crate::defaults::double_click_threshold(),
mouse_triple_click_threshold: crate::defaults::triple_click_threshold(),
option_click_moves_cursor: crate::defaults::bool_true(),
focus_follows_mouse: crate::defaults::bool_false(),
report_horizontal_scroll: crate::defaults::bool_true(),
}
}
}