All Projects → enigo-rs → Enigo

enigo-rs / Enigo

Licence: mit
Cross platform input simulation in Rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Enigo

Autopilot Rs
A simple, cross-platform GUI automation module for Rust.
Stars: ✭ 168 (-33.86%)
Mutual labels:  automation, cross-platform, simulation, input
Autopy
A simple, cross-platform GUI automation module for Python and Rust.
Stars: ✭ 522 (+105.51%)
Mutual labels:  automation, cross-platform, simulation, input
LowLevelInput.Net
A thread safe and event driven LowLevelMouse and LowLevelKeyboard Hook
Stars: ✭ 32 (-87.4%)
Mutual labels:  keyboard, input, mouse
Neatinput
A .NET standard project which aims to make keyboard and mouse input monitoring easy on Windows and eventually Linux.
Stars: ✭ 89 (-64.96%)
Mutual labels:  keyboard, mouse, input
openinput
Open source firmware for input devices
Stars: ✭ 43 (-83.07%)
Mutual labels:  keyboard, input, mouse
Inputsystem
An efficient and versatile input system for Unity.
Stars: ✭ 1,013 (+298.82%)
Mutual labels:  keyboard, mouse, input
input-event
🎹 Read and parse input device(like mouse, keyboard, joystick and IR-Remote)'s event data.
Stars: ✭ 45 (-82.28%)
Mutual labels:  keyboard, input, mouse
Gainput
Cross-platform C++ input library supporting gamepads, keyboard, mouse, touch
Stars: ✭ 636 (+150.39%)
Mutual labels:  keyboard, mouse, input
Repeat
Cross-platform mouse/keyboard record/replay and automation hotkeys/macros creation, and more advanced automation features.
Stars: ✭ 763 (+200.39%)
Mutual labels:  automation, keyboard, mouse
Keymousego
类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input
Stars: ✭ 1,145 (+350.79%)
Mutual labels:  keyboard, mouse, simulation
Maze
Maze Applied Reinforcement Learning Framework
Stars: ✭ 85 (-66.54%)
Mutual labels:  automation, simulation
Mouse2joystick custom cemu
An AutoHotkey Script to allow the use of Mouse and Keyboard control in CEMU. This uses vJoy and provides several additional features over regular keyboard control, like: the ability to control the camera with the mouse, toggle walking speed, in BotW use MouseWheel to change weapons, a separate Toggle key for ZL useful for locking onto a target in BotW.
Stars: ✭ 76 (-70.08%)
Mutual labels:  keyboard, mouse
Evscript
A tiny sandboxed Dyon scripting environment for evdev input devices that lets you do e.g. xcape in Wayland
Stars: ✭ 91 (-64.17%)
Mutual labels:  keyboard, input
Aquatouch
Dynamic Custom Macros for your MacBook TouchBar! (Supports 40+ Apps and Websites)
Stars: ✭ 125 (-50.79%)
Mutual labels:  automation, keyboard
Xut.js
批量生成应用平台 http://t.cn/RazBbL0
Stars: ✭ 105 (-58.66%)
Mutual labels:  cross-platform, simulation
Globalhooks
Allows you to create global keyboard events
Stars: ✭ 74 (-70.87%)
Mutual labels:  keyboard, mouse
Hidusbf
USB Mice Overclocking Software (for Windows)
Stars: ✭ 152 (-40.16%)
Mutual labels:  keyboard, mouse
Tvtower
A tribute to Mad TV. Written in BlitzMax, Lua and a bit of C.
Stars: ✭ 73 (-71.26%)
Mutual labels:  cross-platform, simulation
Polyfem
A polyvalent C++ FEM library
Stars: ✭ 147 (-42.13%)
Mutual labels:  cross-platform, simulation
Robot Js
Native system automation for node.js
Stars: ✭ 169 (-33.46%)
Mutual labels:  automation, cross-platform

Build Status Build status Dependency Status Docs Crates.io Discord chat Gitter chat

enigo

Cross platform input simulation in Rust!

  • [x] Linux (X11) mouse
  • [x] Linux (X11) text
  • [ ] Linux (Wayland) mouse
  • [ ] Linux (Wayland) text
  • [x] MacOS mouse
  • [x] MacOS text
  • [x] Win mouse
  • [x] Win text
  • [x] Custom Parser
let mut enigo = Enigo::new();

enigo.mouse_move_to(500, 200);
enigo.mouse_click(MouseButton::Left);
enigo.key_sequence_parse("{+CTRL}a{-CTRL}{+SHIFT}Hello World{-SHIFT}");

for more look at examples

Runtime dependencies

Linux users may have to install libxdo-dev. For example, on Ubuntu:

apt install libxdo-dev

On Arch:

pacman -S xdotool
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].