#keyboard #mouse #input

claves

A library for capturing Keystrokes and Mouse clicks on Linux, MacOS and Windows

2 releases

Uses new Rust 2021

0.1.1 Sep 28, 2022
0.1.0 Sep 23, 2022

#2 in Accessibility

MIT license

19KB
499 lines

Claves - A library for capturing global Keystrokes and Mouse clicks on MacOS and Windows

use claves::{init, deinit};

fn main(){
  // Global channel, you can initiate a receiver from multiple threads and all of them will receive the events.
  let receiver = init();
  
  dbg!(receiver.recv().unwrap());
  
  // Deinitializes all threads that capture data from the keyboard and mouse, then empties out the global channel.
  deinit();
}

  • MacOS (Uses Core Graphics API to intercept Session Events and Carbon API to translate Virtual Keycodes into Unicode Characters). Requires Accessibility permissions, check the MacOS Example.
  • Windows (Uses Windows Hooks API to intercept Events and the Winuser API to translate Virtual Keycodes into Unicode Characters).
  • Linux. Not planned for now.

Dependencies

~200–460KB