-
Notifications
You must be signed in to change notification settings - Fork 107
/
Cargo.toml
103 lines (95 loc) · 3.02 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
[package]
name = "enigo"
version = "0.2.1"
authors = [
"pentamassiv <pentamassiv@posteo.de>",
"Dustin Bensing <dustin.bensing@googlemail.com>",
]
edition = "2021"
rust-version = "1.75" # The CI already runs on 1.80 because the tests needed it
description = "Cross-platform (Linux, Windows, macOS & BSD) library to simulate keyboard and mouse events"
documentation = "https://docs.rs/enigo/"
homepage = "https://github.com/enigo-rs/enigo"
repository = "https://github.com/enigo-rs/enigo"
readme = "README.md"
keywords = ["simulate", "input", "mouse", "keyboard", "automation"]
categories = [
"development-tools::testing",
"api-bindings",
"hardware-support",
"os",
"simulation",
]
license = "MIT"
exclude = [".github", "examples", ".gitignore", "rustfmt.toml"]
[package.metadata.docs.rs]
all-features = true
[features]
default = ["xdo"]
libei = ["dep:reis", "dep:ashpd", "dep:tokio", "dep:once_cell"]
serde = ["dep:serde"]
wayland = [
"dep:wayland-client",
"dep:wayland-protocols-misc",
"dep:wayland-protocols-wlr",
"dep:wayland-protocols-plasma",
"dep:tempfile",
]
xdo = []
x11rb = ["dep:x11rb"]
[dependencies]
log = "0.4"
serde = { version = "1", features = ["derive"], optional = true }
[target.'cfg(target_os = "windows")'.dependencies]
windows = { version = "0.58", features = [
"Win32_Foundation",
"Win32_UI_TextServices",
"Win32_UI_WindowsAndMessaging",
"Win32_UI_Input_KeyboardAndMouse",
] }
[target.'cfg(target_os = "macos")'.dependencies]
core-foundation = "0.10"
core-graphics = { version = "0.24", features = ["highsierra"] }
objc2 = { version = "0.5", features = ["relax-void-encoding"] }
objc2-app-kit = { version = "0.2", features = ["NSEvent", "NSGraphicsContext"] }
objc2-foundation = { version = "0.2", features = ["NSGeometry"] }
foreign-types-shared = "0.3"
[target.'cfg(all(unix, not(target_os = "macos")))'.dependencies]
libc = "0.2"
reis = { version = "0.4", optional = true }
ashpd = { version = "0.10", optional = true }
tokio = { version = "1", features = ["rt", "rt-multi-thread"], optional = true }
once_cell = { version = "1.19", optional = true }
wayland-protocols-misc = { version = "0.3", features = [
"client",
], optional = true }
wayland-protocols-wlr = { version = "0.3", features = [
"client",
], optional = true }
wayland-protocols-plasma = { version = "0.3", features = [
"client",
], optional = true }
wayland-client = { version = "0.31", optional = true }
x11rb = { version = "0.13", features = [
"randr",
"xinput",
"xtest",
], optional = true }
xkbcommon = "0.8"
xkeysym = "0.2"
tempfile = { version = "3", optional = true }
[dev-dependencies]
env_logger = "0.11"
serde = { version = "1", features = ["derive"] }
tungstenite = "0.24"
url = "2"
webbrowser = "1.0"
ron = "0.8"
strum = "0.26"
strum_macros = "0.26"
rdev = "0.5" # Test the main_display() function
mouse_position = "0.1" # Test the location() function
[[example]]
name = "serde"
path = "examples/serde.rs"
required-features = ["serde"]