[package]
edition = "2024"
name = "kanata"
version = "1.11.0"
authors = ["jtroo <j.andreitabs@gmail.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "kanata"
description = "Multi-layer keyboard customization"
homepage = "https://github.com/jtroo/kanata"
readme = "README.md"
keywords = [
"keyboard",
"layout",
"remapping",
]
categories = ["command-line-utilities"]
license = "LGPL-3.0-only"
repository = "https://github.com/jtroo/kanata"
resolver = "2"
[features]
cargo-clippy = []
cmd = ["kanata-parser/cmd"]
default = [
"tcp_server",
"win_sendinput_send_scancodes",
"zippychord",
]
gui = [
"win_manifest",
"kanata-parser/gui",
"win_sendinput_send_scancodes",
"win_llhook_read_scancodes",
"dep:muldiv",
"dep:strip-ansi-escapes",
"dep: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",
]
interception_driver = [
"dep:kanata-interception",
"kanata-parser/interception_driver",
]
passthru_ahk = [
"simulated_input",
"simulated_output",
]
perf_logging = []
simulated_input = ["dep:indoc"]
simulated_output = ["dep:indoc"]
tcp_server = ["dep:serde_json"]
win_llhook_read_scancodes = ["kanata-parser/win_llhook_read_scancodes"]
win_manifest = [
"dep:embed-resource",
"dep:indoc",
"dep:regex",
]
win_sendinput_send_scancodes = ["kanata-parser/win_sendinput_send_scancodes"]
winiov2 = [
"win_llhook_read_scancodes",
"win_sendinput_send_scancodes",
]
zippychord = ["kanata-parser/zippychord"]
[lib]
name = "kanata_state_machine"
path = "src/lib.rs"
[[bin]]
name = "kanata"
path = "src/main.rs"
[dependencies.anyhow]
version = "1"
[dependencies.clap]
version = "4"
features = [
"std",
"derive",
"help",
"suggestions",
]
default-features = false
[dependencies.dirs]
version = "5.0.1"
[dependencies.indoc]
version = "2.0.4"
optional = true
[dependencies.kanata-keyberon]
version = "0.1110.0"
[dependencies.kanata-parser]
version = "0.1110.0"
[dependencies.kanata-tcp-protocol]
version = "0.1110.0"
[dependencies.log]
version = "0.4.8"
default-features = false
[dependencies.miette]
version = "5.7.0"
features = ["fancy"]
[dependencies.once_cell]
version = "1"
[dependencies.parking_lot]
version = "0.12"
[dependencies.radix_trie]
version = "0.2"
[dependencies.rustc-hash]
version = "1.1.0"
[dependencies.serde_json]
version = "1"
features = ["std"]
optional = true
default-features = false
[dependencies.simplelog]
version = "0.12.0"
[dependencies.time]
version = "0.3.47"
[dependencies.web-time]
version = "1.1.0"
[build-dependencies.embed-resource]
version = "2.4.2"
optional = true
[build-dependencies.indoc]
version = "2.0.4"
optional = true
[build-dependencies.regex]
version = "1.10.4"
optional = true
[target.'cfg(any(target_os = "linux", target_os = "android"))'.dependencies.evdev]
version = "0.13.0"
[target.'cfg(any(target_os = "linux", target_os = "android"))'.dependencies.inotify]
version = "0.10.0"
default-features = false
[target.'cfg(any(target_os = "linux", target_os = "android"))'.dependencies.mio]
version = "0.8.11"
features = [
"os-poll",
"os-ext",
]
[target.'cfg(any(target_os = "linux", target_os = "android"))'.dependencies.nix]
version = "0.26.1"
features = ["ioctl"]
[target.'cfg(any(target_os = "linux", target_os = "android"))'.dependencies.open]
version = "5"
optional = true
[target.'cfg(any(target_os = "linux", target_os = "android"))'.dependencies.sd-notify]
version = "0.4.1"
[target.'cfg(any(target_os = "linux", target_os = "android"))'.dependencies.signal-hook]
version = "0.3.14"
[target.'cfg(not(any(target_arch = "wasm32", target_os = "android")))'.dependencies.arboard]
version = "3.4"
[target.'cfg(target_os = "macos")'.dependencies.core-graphics]
version = "0.24.0"
[target.'cfg(target_os = "macos")'.dependencies.karabiner-driverkit]
version = "0.2.0"
[target.'cfg(target_os = "macos")'.dependencies.libc]
version = "0.2"
[target.'cfg(target_os = "macos")'.dependencies.objc]
version = "0.2.7"
[target.'cfg(target_os = "macos")'.dependencies.open]
version = "5"
optional = true
[target.'cfg(target_os = "macos")'.dependencies.os_pipe]
version = "1.2.1"
[target.'cfg(target_os = "windows")'.dependencies.encode_unicode]
version = "0.3.6"
[target.'cfg(target_os = "windows")'.dependencies.kanata-interception]
version = "0.3.0"
optional = true
[target.'cfg(target_os = "windows")'.dependencies.muldiv]
version = "1.0.1"
optional = true
[target.'cfg(target_os = "windows")'.dependencies.native-windows-gui]
version = "1.0.13"
default-features = false
[target.'cfg(target_os = "windows")'.dependencies.open]
version = "5"
features = ["shellexecute-on-windows"]
optional = true
[target.'cfg(target_os = "windows")'.dependencies.regex]
version = "1.10.4"
optional = true
[target.'cfg(target_os = "windows")'.dependencies.strip-ansi-escapes]
version = "0.2.0"
optional = true
[target.'cfg(target_os = "windows")'.dependencies.winapi]
version = "0.3.9"
features = [
"wincon",
"timeapi",
"mmsystem",
"winuser",
"windef",
"minwindef",
]
[target.'cfg(target_os = "windows")'.dependencies.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
[profile.release]
opt-level = "z"
lto = "fat"
codegen-units = 1
panic = "abort"