device_query_revamped

Crates.iodevice_query_revamped
lib.rsdevice_query_revamped
version2.2.1
sourcesrc
created_at2023-07-27 15:01:38.588716
updated_at2023-11-04 16:25:05.771657
descriptionA basic library for querying keyboard and mouse state on-demand without a window.
homepagehttps://github.com/bloznelis/device_query
repositoryhttps://github.com/bloznelis/device_query
max_upload_size
id927509
size62,386
Lukas Bloznelis (bloznelis)

documentation

README

This is a fork of the original device_query

It adds the distinction between LMeta and RMeta keys for Linux and Win.

device_query

Build Status

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
Commit count: 116

cargo fmt