enigo
Cross-platform (Linux, Windows, macOS & BSD) library to simulate keyboard and mouse events
rdev
Listen and send keyboard and mouse events on Windows, Linux and MacOS
device_query
A basic library for querying keyboard and mouse state on-demand without a window
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…
openlogi
command-line interface — a local-first companion for Logitech HID++ peripherals
yashiki
macOS tiling window manager
wayland-mouse
Mac-like mouse acceleration for Wayland — pointer + scroll-wheel, tuned below the compositor via evdev/uinput
iced_term
Terminal emulator widget powered by ICED framework and alacritty terminal backend
stochos
Keyboard-driven mouse control
mousefree
Keyboard-driven mouse navigation for Wayland
yashiki-ipc
IPC protocol definitions for yashiki window manager
openlogi-hid
HID++ device discovery for OpenLogi, wrapping the hidpp crate over async-hid
app_window
Cross-platform window library
mousehop-input-capture
cross-platform input-capture library used by mousehop
openlogi-cli
OpenLogi CLI (the
openlogibinary)
mousehop-input-event
cross-platform input-event types for input-capture / input-emulation
medius
Host control library for the medius transparent mouse passthrough box
mousehop-ipc
communication between mousehop service and frontends
cube3d
A GUI-based 3D cube rotation demo
evdevil
Bindings to Linux' input device APIs: evdev and uinput
makcu
controlling MAKCU USB HID interceptor devices
rustautogui
Highly optimized GUI automation library for controlling the mouse and keyboard, with template matching support
jiggy
Minimalistic cross-platform mouse jiggler written in Rust
wl-uinput-proxy
Wayland proxy implementing zwp_virtual_keyboard_manager_v1 and zwlr_virtual_pointer_manager_v1 using uinput
imgui
High-level Rust bindings to dear imgui
lan-mouse
Software KVM Switch / mouse & keyboard sharing software for Local Area Networks
cgevents
Safe Rust bindings for Apple's Quartz Event Services via a Swift bridge on macOS
quax
Terminal multi-plexer that is entirely operated with a mouse, and exclusively a mouse
mousetool
Simulate natural mouse movement (Windows only)
sabre_v2_pro
A CLI tool to read battery and charging status from the Corsair Sabre v2 Pro
beer-protocols
Terminal protocol codecs and key/mouse wire encoders used by beer
monio
Pure Rust cross-platform input monitoring library with proper drag detection
creeperUI
An dearimgui inspired Immediate mode GUI library for Macroquad. ( imgui )
middle-scroll-core
Cross-platform core: state machine + progressive scroll engine for Wayland-Wheeltani
keymouse
Control your mouse using Vim-style keyboard navigation
ferrisgrid-input
Constrained mouse and keyboard input backends for FerrisGrid
robost-input
Mouse and keyboard input emulation with window focus management for desktop automation
razerctl
Allows you to control your mouse and keyboard with Razer Synapse
mx4
Tiny CLI and Rust library for MX Master 4 status and settings
winit-x11
Winit's X11 backend
mousehop
Software KVM Switch / mouse & keyboard sharing software for Local Area Networks
horsetab
Trigger Linux/Unix commands via morse code using your mouse
raven-varvara
Varvara Ordinator
waywarp
A high-performance, keyboard-driven mouse control tool for Wayland compositors
input-bouncer
Headless input debouncer for Windows — suppresses keyboard & mouse chatter
os-monitor
OS level monitor for tracking window focus and input events
xavkeyboardandmousegrabber
capture keyboard and mouse events for Linux, macOS and Windows
bushido_keys_rs
ninja mouse keys
tuiserial
Command-line interface for tuiserial serial port terminal
portlight
Cross-platform window management for audio plugins
buttons
API for storing and querying input state
winit-web
Winit's Web (WebAssembly) backend
openlogi-inject
OS input-event synthesis for OpenLogi actions (macOS CGEvent/NSEvent, Linux uinput/D-Bus, Windows SendInput)
openlogi-hidpp
OpenLogi’s vendored fork of the
hidppcrate (Logitech HID++ protocol)
raw-input
A cross-platform library for capturing and simulating global input events (keyboard and mouse)
iris-dom
Iris cross-platform DOM/BOM abstraction and unified event system
keyheatmap
A little tool that counts how often and how long you press which key on linux
tfc
The Fat Controller. A library for simulating mouse and keyboard events.
fresh-winterm
Windows terminal I/O helpers for fresh editor (VT input, console relay, terminal size)
penput
turns your mobile/tablet into a wireless touchpad for your PC
mouse-collection-environment
Collection GUI environment for harvesting user mouse data
winit-win32
Winit's Win32/Windows backend
willhook
Capture all keyboard and mouse input regardless of application focus on the active windows desktop
inputbot
Cross-platform (Windows & Linux) library for simulating keyboard/mouse input events and registering global input device event handlers
mousehop-input-emulation
cross-platform input emulation library used by mousehop
zenthra-input
Input state tracking, key bindings, and mouse events for the Zenthra UI framework
keytogo
Keyboard-only mouse navigation for macOS
pointer-types
Contains types to define mouse related events
usehid
Cross-platform virtual HID device library for AI agents
bevy_transform_gizmo
A 3D transform gizmo for Bevy
keyflow
Cross-platform input simulation library for keyboard, mouse and hotkeys
winit-orbital
Winit's Orbital/Redox backend
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.
lan-mouse-cli
CLI Frontend for lan-mouse
cardinal-varvara
Varvara Ordinator
cursorflow
Generate human-like cursor movement trajectories
mouce
that aims to help simulating and listening mouse actions across different platforms
clawser-browser
Antidetect browser automation powered by chromiumoxide CDP
openloaf-rdev
OpenLoaf fork of rdev — listen and send keyboard / mouse events on Windows, Linux and MacOS. Adds macOS event tap auto re-enable on kCGEventTapDisabledByTimeout / ByUserInput so a…
uiohook-rs
wrapper for the libuiohook, providing cross-platform keyboard and mouse hooking capabilities
cardinal-gui
GUI for a Uxn + Varvara system
schengen
Helper library for building Synergy-compatible clients and servers
kinput
Low-level Rust library for input injection and global key capture on Linux
aumate
Cross-platform desktop automation library with GUI support
mouse-telemetry
Captures mouse data and computes derived metrics for downstream analysis/tasks
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
mousehop-cli
CLI Frontend for mousehop
tui-framework-experiment
An set of harmonious Ratatui widgets with a goal of building a proper widget framework
astrelis
A modular 2D/3D game engine framework
mouse-keyboard-input
Send mouse and keyboard events on any distro and X11 or Wayland
Janlib
Simulate key press and mouse movement on macOS
hookmap
Registers hotkeys and simulates keyboard and mouse input
jugar-input
Unified input handling for touch, mouse, and gamepad
steeloxide
interacting with SteelSeries devices
kayak_ui
A UI library built using the bevy game engine!
winput
A high-level interface to Windows' input system
luo-utils
system automation including mouse/keyboard simulation, window operations, screenshots, and AI inference
kwin-mouse-loc
A very simple mouse controller that uses
libc::process_vm_readvto read mouse location. Need root permissions.
xdl-viz3d
High-fidelity 3D visualization for scientific simulations using WebGPU
bevy_mouse_tracking_plugin
A plugin for effortless mouse tracking in the bevy game engine
pix-image-viewer
Desktop image viewer. Arranges images in a zoomable, pannable grid.
human
interface devices
tear-config
Shikumi-style live configuration for the tear multiplexer. Parses ~/.config/tear/tear.yaml, watches it for changes, publishes the parsed TearConfig via Arc<TearConfig> swap. Same configuration…
rmcp-xdotool
MCP server for xdotool - mouse and keyboard automation
pistoncore-input
A structure for user input
imgui-glutin-support
glutin support code for the imgui crate
app_input
Cross-platform mouse and keyboard input
multiinput
A pure rust gamepad/mouse/keyboard input library based off of rawinput for the windows platform
kanata-interception
Safe wrapper for Interception. Forked for use with kanata.
phantom-click-mcp
MCP server for Phantom Click - control mouse cursor and clicks from AI assistants
device_query_revamped
A basic library for querying keyboard and mouse state on-demand without a window
pc-remote
cross-platform control over computer input devices
tear-tmux-backend
Renders a typed TearProfile to a tmux.conf and shells out to vanilla tmux. M0 path that ships value before tear-daemon exists; kept long-term as the escape hatch for users on remote boxes where only tmux is installed.
mouse-codes
Cross-platform mouse button code mapping and conversion
kmbox-net
KMBox Net controller for Rust — send mouse/keyboard commands over UDP
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.
boostvoronoi_ext
Boost voronoi private workspace (this workspace will be re-integrated in the main crate in next release)
jiggler
A cross-platform CLI tool to jiggle mouse and press keys to prevent screen lock
shady
A shadertoy-like library to be able to easily integrate shadertoy-like stuff in your applications
chron_tui
Configure your Keychron mouse from the terminal
phantom-click
Cross-platform mouse cursor position, movement, and click simulation library
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
ember-rs
Ember is a minimalistic Rust library for creating 2D graphics, games, and interactive visualizations with ease and simplicity
mouse_position
Get the mouse position on Linux, Windows and MacOS
olc-pge
A reimplementation of the olcPixelGameEngine in Rust
hidpp
HID++ protocol used by Logitech devices
global-mousemove
A minimal library to listen for global mousemove events
stayawake
program for Windows & MacOS to keep your system awake without affecting your workflow. Inspired by "stay-awake" package for Python.
rustsweeper
A command-line Minesweeper program written in Rust
win_binder
Listen and send keyboard and mouse events on Windows
thirtyfour-mouse
Manipulate mouse movements with ThirtyFour
g203_rs
CLI and library for controlling the Logitech G203 Lightsync mouse
magma_input
Part of the Magma-API, which is the API of the Magma3D game engine. This is responsable for handling user input.
openlogi-core
Core types, config, and paths for OpenLogi. No I/O specifics.
rsautogui
aims to be a cross-platform GUI automation rust crate
piston-button_tracker
A Piston library for tracking key/mouse press events from windows for use in update loops
chord2key
Chorded gamepad input on linux
blockpaint
Paint program for the terminal
paintty
Painting app that runs in your terminal
detectlib
A small rust library for input
autogui
GUI Automation toolbox for Rust
xmirror
Capture keyboard and mouse events from a local machine and mirror them to a remote server over the network
bevy_interact_2d
A Bevy plugin for 2d mouse interactions
meth
Keeps computers awake
x11-input-mirror
Mirrors X11 (Xserver) input events from one PC to multiple over the network
keylogger
Register various user actions - keystrokes on the computer keyboard, movements and mouse keystrokes
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
sable-platform
Platform abstraction layer for Sable Engine - windowing, input, and events
mouse
Client for the daemon for SourisDB
leafrender
simply, easy to use library to just get pixels onto the screen, regardless of your platform
mtm
Keep your screen awake by nudging the mouse at random intervals
multiinput-zorua
A pure rust gamepad/mouse/keyboard input library based off of rawinput for the windows platform
claves
capturing Keystrokes and Mouse clicks on Linux, MacOS and Windows
noct
A cross-platform library to input simulation
i3-workspace-scroll
A helper for switching i3 or sway workspaces
terminal-input
Cross-terminal precise decoding of modified keys and other input events
focus_by_cursor
Automatically focuses the yabai window under the mouse cursor, without clicks. Works exclusively on macOS.
xmirror-server
Locally mirror remote keyboard and mouse events sent over the network
currawong_interactive
Interactive tools for currawong software-defined modular synthesizer
sable-wasm
WebAssembly/Browser backend for the Sable engine
bevy_global_input
Global mouse + keyboard input for bevy - doesn't require a focused window
input-device
Input devices include keyboard, mouse, etc
windmouse-rs
windmouse
umacro-lib
Simulate Keyboard & Mouse events in Linux (X11 & Wayland) with uinput
i-am-not-away
An attempt to prevent apps from automatically setting an 'away' status when being AFK
inputtino
Rust bindings for inputtino
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
xmirror-event
Cross-platform input event types for xmirror
egui_term
Terminal emulator widget powered by EGUI framework and alacritty terminal backend
ps2
A general PS/2 device driver for nightly Rust
rsbot
Simulate keypresses with Rust!
tfc-server
A server that facilitates remote control using the TFC library. Repo contains an iOS app.
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
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
Try searching with DuckDuckGo.