#mouse-input #keyboard-input #input #mouse #keyboard

device_query

无需窗口即可按需查询键盘和鼠标状态的库

20个版本 (7个稳定版)

使用旧Rust 2015

2.1.0 2024年5月26日
2.0.0 2024年2月9日
1.1.3 2023年3月31日
1.1.1 2022年5月18日
0.1.0 2018年4月3日

#50 in 硬件支持

Download history 916/week @ 2024-05-02 960/week @ 2024-05-09 1096/week @ 2024-05-16 1047/week @ 2024-05-23 853/week @ 2024-05-30 719/week @ 2024-06-06 823/week @ 2024-06-13 814/week @ 2024-06-20 536/week @ 2024-06-27 410/week @ 2024-07-04 732/week @ 2024-07-11 869/week @ 2024-07-18 968/week @ 2024-07-25 914/week @ 2024-08-01 1080/week @ 2024-08-08 975/week @ 2024-08-15

4,048 每月下载量
33 个crate(30个直接使用) 使用

MIT 许可证

57KB
1.5K SLoC

device_query

Build Status

一个简单的库,用于按需查询鼠标和键盘输入,无需窗口。支持Windows、Linux的X11和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));

依赖项

Windows不需要安装任何特殊软件即可使 device_query 正常工作。在Linux上,需要X11开发库才能使 device_query 从操作系统查询状态。

在Ubuntu/Debian上

sudo apt install libx11-dev

在Fedora/RHEL/CentOS上

sudo dnf install xorg-x11-server-devel

在macOS的新版本中,您可能只会遇到元键(如shift、backspace等)的问题。这是由于权限问题造成的。为了解决这个问题

  • 打开macOS系统偏好设置
  • 转到安全 -> 隐私
  • 向下滚动到辅助功能并将其解锁
  • 将使用 device_query 的应用程序(例如您的终端)添加到列表中

依赖项

~0–38MB
~524K SLoC