Expand description
OS-level mouse-event hook for OpenLogi.
| Platform | Implementation |
|---|---|
| macOS | CGEventTap (same primitive used by Logi Options+) |
| Linux | evdev grab + uinput re-injection |
| Windows | stub — returns HookError::Unsupported |
§Usage
use openlogi_hook::{Hook, MouseEvent, EventDisposition};
if !Hook::has_accessibility() {
eprintln!("grant Accessibility access first");
return;
}
let hook = Hook::start(|event| {
println!("{event:?}");
EventDisposition::PassThrough
}).unwrap();
// … later, on shutdown:
hook.stop();Structs§
- Hook
- A running OS-level mouse hook. Call
Hook::stopto tear down.
Enums§
- Button
Id - One of the user-rebindable hotspots on a Logi mouse. The order matches the
physical layout from front to side;
ButtonId::ALLis consumed by the default-binding generator and the popover trigger list. - Event
Disposition - What the hook callback wants the OS to do with the captured event.
- Hook
Error - Errors that
Hook::startand related functions can produce. - Mouse
Event - An event captured at the OS layer.
Functions§
- frontmost_
bundle_ id - Return an opaque string identifying the currently frontmost application.