-
Notifications
You must be signed in to change notification settings - Fork 157
/
Copy pathCargo.toml
145 lines (133 loc) · 4.58 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
137
138
139
140
141
142
143
144
145
[workspace]
members = [
"./",
"parser",
"keyberon",
"example_tcp_client",
"tcp_protocol",
"windows_key_tester",
"simulated_input",
"simulated_passthru",
]
exclude = [
"interception",
"key-sort-add",
"wasm",
]
resolver = "2"
[package]
name = "kanata"
version = "1.8.0-next"
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 = { path = "keyberon", version = "0.180.1" }
kanata-parser = { path = "parser", version = "0.180.1" }
kanata-tcp-protocol = { path = "tcp_protocol", version = "0.180.1" }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
arboard = "3.4"
[target.'cfg(target_os = "macos")'.dependencies]
karabiner-driverkit = "0.1.5"
objc = "0.2.7"
core-graphics = "0.24.0"
open = { version = "5", optional = true }
libc = "0.2"
os_pipe = "1.2.1"
[target.'cfg(target_os = "linux")'.dependencies]
evdev = "0.12.2"
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"] }
open = { version = "5", optional = true }
signal-hook = "0.3.14"
sd-notify = "0.4.1"
[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}
regex = { version = "1.10.4", optional = true }
kanata-interception = { version = "0.3.0", optional = true }
muldiv = { version = "1.0.1", optional = true }
strip-ansi-escapes = { version = "0.2.0", optional = true }
open = { version = "5", features = ["shellexecute-on-windows"], optional = true}
# shellexecute fix allows opening files already opened for writing, needs _detached mode
[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","win_sendinput_send_scancodes", "zippychord"]
perf_logging = []
tcp_server = ["serde_json"]
win_sendinput_send_scancodes = ["kanata-parser/win_sendinput_send_scancodes"]
win_llhook_read_scancodes = ["kanata-parser/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","kanata-parser/gui",
"win_sendinput_send_scancodes","win_llhook_read_scancodes",
"muldiv","strip-ansi-escapes","open",
"dep:windows-sys",
"winapi/processthreadsapi",
"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",
]
zippychord = ["kanata-parser/zippychord"]
[profile.release]
opt-level = "z"
lto = "fat"
panic = "abort"
codegen-units = 1