use thiserror::Error;
#[derive(Debug, Error)]
#[non_exhaustive]
pub enum Error {
#[error("accessibility / input monitoring permission not granted")]
PermissionDenied,
#[error("no input devices found (is the user in the `input` group?)")]
NoDevices,
#[error("platform tap creation failed: {0}")]
TapFailed(String),
#[error("io: {0}")]
Io(#[from] std::io::Error),
}