-
enigo
Cross-platform (Linux, Windows, macOS & BSD) library to simulate keyboard and mouse events
-
device_query
A basic library for querying keyboard and mouse state on-demand without a window
-
rdev
Listen and send keyboard and mouse events on Windows, Linux and MacOS
-
doe
powerful Rust crate designed to enhance development workflow by providing an extensive collection of useful macros and utility functions. It not only simplifies common tasks but also…
-
yashiki
macOS tiling window manager
-
stochos
Keyboard-driven mouse control
-
mousefree
Keyboard-driven mouse navigation for Wayland
-
imgui
High-level Rust bindings to dear imgui
-
app_window
Cross-platform window library
-
makcu
controlling MAKCU USB HID interceptor devices
-
quax
Terminal multi-plexer that is entirely operated with a mouse, and exclusively a mouse
-
rustautogui
Highly optimized GUI automation library for controlling the mouse and keyboard, with template matching support
-
evdevil
Bindings to Linux' input device APIs: evdev and uinput
-
monio
Pure Rust cross-platform input monitoring library with proper drag detection
-
jiggy
Minimalistic cross-platform mouse jiggler written in Rust
-
creeperUI
An dearimgui inspired Immediate mode GUI library for Macroquad. ( imgui )
-
horsetab
Trigger Linux/Unix commands via morse code using your mouse
-
keymouse
Control your mouse using Vim-style keyboard navigation
-
bevy_transform_gizmo
A 3D transform gizmo for Bevy
-
winit-appkit
Winit's Appkit / macOS backend
-
raw-input
A cross-platform library for capturing and simulating global input events (keyboard and mouse)
-
winit-x11
Winit's X11 backend
-
razerctl
Allows you to control your mouse and keyboard with Razer Synapse
-
mouse-collection-environment
Collection GUI environment for harvesting user mouse data
-
usbd-human-interface-device
Batteries included embedded USB HID library for usb-device. Includes concrete Keyboard (boot and NKRO), Mouse, Joystick and Consumer Control implementations as well as support for building your own HID classes.
-
mx4
Tiny CLI and Rust library for MX Master 4 status and settings
-
raven-varvara
Varvara Ordinator
-
mkgraphic
port of the cycfi/elements GUI framework
-
usehid
Cross-platform virtual HID device library for AI agents
-
bushido_keys_rs
ninja mouse keys
-
yashiki-ipc
IPC protocol definitions for yashiki window manager
-
os-monitor
OS level monitor for tracking window focus and input events
-
keyflow
Cross-platform input simulation library for keyboard, mouse and hotkeys
-
pointer-types
Contains types to define mouse related events
-
penput
turns your mobile/tablet into a wireless touchpad for your PC
-
winit-web
Winit's Web (WebAssembly) backend
-
portlight
Cross-platform window management for audio plugins
-
schengen
Helper library for building Synergy-compatible clients and servers
-
mouse-telemetry
Captures mouse data and computes derived metrics for downstream analysis/tasks
-
tfc
The Fat Controller. A library for simulating mouse and keyboard events.
-
clawser-browser
Antidetect browser automation powered by chromiumoxide CDP
-
winit-win32
Winit's Win32/Windows backend
-
buttons
API for storing and querying input state
-
uiohook-rs
wrapper for the libuiohook, providing cross-platform keyboard and mouse hooking capabilities
-
willhook
Capture all keyboard and mouse input regardless of application focus on the active windows desktop
-
winit-orbital
Winit's Orbital/Redox backend
-
cardinal-varvara
Varvara Ordinator
-
rmcp-xdotool
MCP server for xdotool - mouse and keyboard automation
-
cardinal-gui
GUI for a Uxn + Varvara system
-
fresh-winterm
Windows terminal I/O helpers for fresh editor (VT input, console relay, terminal size)
-
kinput
Low-level Rust library for input injection and global key capture on Linux
-
mouce
that aims to help simulating and listening mouse actions across different platforms
-
luo-utils
system automation including mouse/keyboard simulation, window operations, screenshots, and AI inference
-
tui-framework-experiment
An set of harmonious Ratatui widgets with a goal of building a proper widget framework
-
aumate
Cross-platform desktop automation library with GUI support
-
inputbot
Cross-platform (Windows & Linux) library for simulating keyboard/mouse input events and registering global input device event handlers
-
mki
Windows and Linux library for registring global input hooks and simulating keyboard and mouse events
-
hid-api-rs
Hardware proxy for injecting & intercepting keyboard/mouse inputs
-
gravita-input
Input handling abstraction layer for Gravita game framework
-
pc-remote
cross-platform control over computer input devices
-
xdl-viz3d
High-fidelity 3D visualization for scientific simulations using WebGPU
-
mouse-keyboard-input
Send mouse and keyboard events on any distro and X11 or Wayland
-
jiggler
A cross-platform CLI tool to jiggle mouse and press keys to prevent screen lock
-
lan-mouse
Software KVM Switch / mouse & keyboard sharing software for Local Area Networks
-
mouse-codes
Cross-platform mouse button code mapping and conversion
-
jugar-input
Unified input handling for touch, mouse, and gamepad
-
hookmap
Registers hotkeys and simulates keyboard and mouse input
-
winput
A high-level interface to Windows' input system
-
GraphicsEngine
my try at making an api to use for Graphics in Rust. It uses the winapi crate and focuses on making it easy to create and modify Windows
-
Janlib
Simulate key press and mouse movement on macOS
-
astrelis-input
Astrelis input handling library
-
global-mousemove
A minimal library to listen for global mousemove events
-
thirtyfour-mouse
Manipulate mouse movements with ThirtyFour
-
kwin-mouse-loc
A very simple mouse controller that uses
libc::process_vm_readvto read mouse location. Need root permissions. -
kmbox-net
KMBox Net controller for Rust — send mouse/keyboard commands over UDP
-
bevy_mouse_tracking_plugin
A plugin for effortless mouse tracking in the bevy game engine
-
app_input
Cross-platform mouse and keyboard input
-
pix-image-viewer
Desktop image viewer. Arranges images in a zoomable, pannable grid.
-
human
interface devices
-
paintty
Painting app that runs in your terminal
-
shady
A shadertoy-like library to be able to easily integrate shadertoy-like stuff in your applications
-
sable-platform
Platform abstraction layer for Sable Engine - windowing, input, and events
-
mouse_position
Get the mouse position on Linux, Windows and MacOS
-
imgui-glutin-support
glutin support code for the imgui crate
-
pistoncore-input
A structure for user input
-
mtm
Keep your screen awake by nudging the mouse at random intervals
-
multiinput
A pure rust gamepad/mouse/keyboard input library based off of rawinput for the windows platform
-
device_query_revamped
A basic library for querying keyboard and mouse state on-demand without a window
-
magma_input
Part of the Magma-API, which is the API of the Magma3D game engine. This is responsable for handling user input.
-
mki_fork
Windows and Linux library for registring global input hooks and simulating keyboard and mouse events. This is a basic fork from mki to update the 'input' dependency that uses an updated libinput 1.19.1 version vs 1.19.0.
-
kanata-interception
Safe wrapper for Interception. Forked for use with kanata.
-
boostvoronoi_ext
Boost voronoi private workspace (this workspace will be re-integrated in the main crate in next release)
-
olc-pge
A reimplementation of the olcPixelGameEngine in Rust
-
bevy_guessture
Bevy plugin wrapping the
guessturecrate’s gesture recognition API -
x11-input-supercharger
Adds system-wide Windows-like scrolling mode and conditional clicking using keyboard
-
xmirror
Capture keyboard and mouse events from a local machine and mirror them to a remote server over the network
-
stayawake
program for Windows & MacOS to keep your system awake without affecting your workflow. Inspired by "stay-awake" package for Python.
-
lan-mouse-cli
CLI Frontend for lan-mouse
-
rustsweeper
A command-line Minesweeper program written in Rust
-
hidpp
HID++ protocol used by Logitech devices
-
win_binder
Listen and send keyboard and mouse events on Windows
-
g203_rs
CLI and library for controlling the Logitech G203 Lightsync mouse
-
rsautogui
aims to be a cross-platform GUI automation rust crate
-
chord2key
Chorded gamepad input on linux
-
piston-button_tracker
A Piston library for tracking key/mouse press events from windows for use in update loops
-
sable-wasm
WebAssembly/Browser backend for the Sable engine
-
blockpaint
Paint program for the terminal
-
ember-rs
Ember is a minimalistic Rust library for creating 2D graphics, games, and interactive visualizations with ease and simplicity
-
autogui
GUI Automation toolbox for Rust
-
bevy_interact_2d
A Bevy plugin for 2d mouse interactions
-
keylogger
Register various user actions - keystrokes on the computer keyboard, movements and mouse keystrokes
-
meth
Keeps computers awake
-
x11-input-mirror
Mirrors X11 (Xserver) input events from one PC to multiple over the network
-
mouse
Client for the daemon for SourisDB
-
enigo-copy
Enigo lets you control your mouse and keyboard in an abstract way on different operating systems (currently only Linux, macOS, Win – Redox and *BSD planned)
-
usehid-core
Cross-platform virtual HID device library for AI agents
-
leafrender
simply, easy to use library to just get pixels onto the screen, regardless of your platform
-
xmirror-server
Locally mirror remote keyboard and mouse events sent over the network
-
claves
capturing Keystrokes and Mouse clicks on Linux, MacOS and Windows
-
multiinput-zorua
A pure rust gamepad/mouse/keyboard input library based off of rawinput for the windows platform
-
noct
A cross-platform library to input simulation
-
terminal-input
Cross-terminal precise decoding of modified keys and other input events
-
i3-workspace-scroll
A helper for switching i3 or sway workspaces
-
focus_by_cursor
Automatically focuses the yabai window under the mouse cursor, without clicks. Works exclusively on macOS.
-
input-device
Input devices include keyboard, mouse, etc
-
currawong_interactive
Interactive tools for currawong software-defined modular synthesizer
-
xmirror-event
Cross-platform input event types for xmirror
-
tap-sdk
TAP rust SDK allows you to build rust app that can establish BLE connection with Tap Strap and TapXR, send commands and receive events and data
-
windmouse-rs
windmouse
-
bevy_global_input
Global mouse + keyboard input for bevy - doesn't require a focused window
-
i-am-not-away
An attempt to prevent apps from automatically setting an 'away' status when being AFK
-
umacro-lib
Simulate Keyboard & Mouse events in Linux (X11 & Wayland) with uinput
-
inputtino
Rust bindings for inputtino
-
egui_term
Terminal emulator widget powered by EGUI framework and alacritty terminal backend
-
tfc-server
A server that facilitates remote control using the TFC library. Repo contains an iOS app.
-
ps2
A general PS/2 device driver for nightly Rust
-
rsbot
Simulate keypresses with Rust!
-
atwork
program that prevents idle states by simulating mouse movement every 3 seconds
-
mac-mouse-sys
Tiny wrapper for mouse-related functions in macOS
IOKit/hidsystem -
objrs_demo
Demonstration of objrs
-
sandrs
Falling Pink Sand
-
rdevin
Cross-platform simulation and global listening for keyboard and mouse input
-
toca
record/display keyboard and mouse actions in a period of time
-
wasm_mouse
Handling mouse events in Rust using
web_sys -
ps2-mouse
basic access to a ps2 mouse in x86 environments
-
boostvoronoi_core
Boost voronoi private workspace (this workspace will be re-integrated in the main crate in next release)
-
signalrs
-
winapi-virtual-input
interacting with virtual devices using winapi
-
mouse_automation
A winapi wrapper that provides easy mouse automation
-
aflak_imgui-glium-renderer
Glium renderer for the imgui crate
-
rebind
binding input keys to actions, and modifying mouse behaviour. Keys can be bound to actions, and then translated during runtime.
-
mickey
Accessibility utility to move mouse cursor using keyboard with binary search algorithm
Try searching with DuckDuckGo.