4 stable releases
Uses old Rust 2015
2.2.1 | Nov 4, 2023 |
---|---|
2.1.1 | Nov 4, 2023 |
2.0.0 | Jul 27, 2023 |
1.1.3 |
|
#1246 in Hardware support
Used in kbt
56KB
1.5K
SLoC
This is a fork of the original device_query
It adds the distinction between LMeta and RMeta keys for Linux and Win.
device_query
A simple library to query mouse and keyboard inputs on demand without a window. Will work in Windows, Linux on X11, and macOS.
use device_query::{DeviceQuery, DeviceState, MouseState, Keycode};
let device_state = DeviceState::new();
let mouse: MouseState = device_state.get_mouse();
println!("Current Mouse Coordinates: {:?}", mouse.coords);
let keys: Vec<Keycode> = device_state.get_keys();
println!("Is A pressed? {}", keys.contains(Keycode::A));
Dependencies
Windows shouldn't require any special software to be installed for device_query
to work properly.
On Linux, the X11 development libraries are required for device_query
to query state from the OS.
On Ubuntu/Debian:
sudo apt install libx11-dev
On Fedora/RHEL/CentOS:
sudo dnf install xorg-x11-server-devel
On newer versions of MacOS, you may run into issues where you only see meta keys such as shift, backspace, et cetera. This is due to a permission issue. To work around this:
- open the MacOS system preferences
- go to Security -> Privacy
- scroll down to Accessibility and unlock it
- add the app that is using
device_query
(such as your terminal) to the list
Dependencies
~0–38MB
~524K SLoC