forked from jtroo/kanata
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
136 lines (124 loc) · 4.35 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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
[workspace]
members = [
"./",
"parser",
"keyberon",
"example_tcp_client",
"tcp_protocol",
"windows_key_tester",
"simulated_input",
"simulated_passthru",
]
exclude = [
"wasm",
]
resolver = "2"
[package]
name = "kanata"
version = "1.7.0-prerelease"
authors = ["jtroo <[email protected]>"]
description = "Multi-layer keyboard customization"
keywords = ["keyboard", "layout", "remapping"]
categories = ["command-line-utilities"]
homepage = "https://github.com/jtroo/kanata"
repository = "https://github.com/jtroo/kanata"
readme = "README.md"
license = "LGPL-3.0-only"
edition = "2021"
default-run = "kanata"
[lib]
name = "kanata_state_machine"
path = "src/lib.rs"
[[bin]]
name = "kanata"
path = "src/main.rs"
[dependencies]
anyhow = "1"
clap = { version = "4", features = [ "std", "derive", "help", "suggestions" ], default_features = false }
dirs = "5.0.1"
indoc = { version = "2.0.4", optional = true }
instant = { version = "0.1.12", default_features = false }
log = { version = "0.4.8", default_features = false }
miette = { version = "5.7.0", features = ["fancy"] }
once_cell = "1"
parking_lot = "0.12"
radix_trie = "0.2"
rustc-hash = "1.1.0"
simplelog = "0.12.0"
serde_json = { version = "1", features = ["std"], default_features = false, optional = true }
time = "0.3.36"
# kanata-keyberon = "0.161.0"
# kanata-parser = "0.161.0"
# kanata-tcp-protocol = "0.161.0"
# Uncomment below and comment out above for testing local changes.
# Otherwise any changes to the local files will not reflect in the compiled
# binary.
kanata-keyberon = { path = "keyberon" }
kanata-parser = { path = "parser" }
kanata-tcp-protocol = { path = "tcp_protocol" }
[target.'cfg(target_os = "macos")'.dependencies]
karabiner-driverkit = "0.1.3"
core-graphics = "0.23.2"
[target.'cfg(target_os = "linux")'.dependencies]
signal-hook = "0.3.14"
inotify = { version = "0.10.0", default_features = false }
mio = { version = "0.8.11", features = ["os-poll", "os-ext"] }
nix = { version = "0.26.1", features = ["ioctl"] }
sd-notify = "0.4.1"
evdev = ">=0.12.2" # Pinned to avoid a bug in 0.12.1, which also has a new interface
[target.'cfg(target_os = "windows")'.dependencies]
encode_unicode = "0.3.6"
winapi = { version = "0.3.9", features = [
"wincon",
"timeapi",
"mmsystem",
] }
windows-sys = { version = "0.52.0", features = [
"Win32_Devices_DeviceAndDriverInstallation",
"Win32_Devices_Usb",
"Win32_Foundation",
"Win32_Graphics_Gdi",
"Win32_Security",
"Win32_System_Diagnostics_Debug",
"Win32_System_Registry",
"Win32_System_Threading",
"Win32_UI_Controls",
"Win32_UI_Shell",
"Win32_UI_HiDpi",
"Win32_UI_WindowsAndMessaging",
"Win32_System_SystemInformation",
"Wdk",
"Wdk_System",
"Wdk_System_SystemServices",
], optional=true }
native-windows-gui = { version = "1.0.13", default_features = false}
native-windows-derive = { version = "1.0.5", default_features = false, optional = true }
regex = { version = "1.10.4", optional = true }
kanata-interception = { version = "0.2.0", optional = true }
muldiv = { version = "1.0.1", optional = true }
strip-ansi-escapes = { version = "0.2.0", optional = true }
[target.'cfg(target_os = "windows")'.build-dependencies]
embed-resource = { version = "2.4.2", optional = true }
indoc = { version = "2.0.4", optional = true }
regex = { version = "1.10.4", optional = true }
[features]
default = ["tcp_server"]
perf_logging = []
tcp_server = ["serde_json"]
win_sendinput_send_scancodes = []
win_llhook_read_scancodes = []
win_manifest = ["embed-resource", "indoc", "regex"]
cmd = ["kanata-parser/cmd"]
interception_driver = ["kanata-interception", "kanata-parser/interception_driver"]
simulated_output = ["indoc"]
simulated_input = ["indoc"]
passthru_ahk = ["simulated_input","simulated_output"]
wasm = [ "instant/wasm-bindgen" ]
gui = ["win_manifest","native-windows-derive","kanata-parser/gui","native-windows-gui/tray-notification","native-windows-gui/message-window","native-windows-gui/menu","native-windows-gui/cursor","native-windows-gui/high-dpi","native-windows-gui/embed-resource","native-windows-gui/image-decoder","native-windows-gui/notice","native-windows-gui/animation-timer","muldiv","strip-ansi-escapes","dep:windows-sys","win_sendinput_send_scancodes","win_llhook_read_scancodes",
"winapi/processthreadsapi",
]
[profile.release]
opt-level = "z"
lto = "fat"
panic = "abort"
codegen-units = 1