vkey 0.2.1

Virtual Keycodes of Windows, Linux, and MacOS
Documentation
[package]
name = "vkey"
version = "0.2.1"
edition = "2024"
description = "Virtual Keycodes of Windows, Linux, and MacOS"
documentation = "https://docs.rs/vkey"
repository = "https://github.com/clouds56/vkey-rs"
license = "MIT OR Apache-2.0"
keywords = ["keyboard", "keycodes", "virtual-keycodes", "constants", "convert"]
exclude = [
  "/.github",
  "/.vscode",
  "/scripts",
  "/pyproject.toml",
]

[[example]]
name = "gen_numeric"
path = "scripts/example_gen_numeric.rs"
required-features = ["full"]

[dependencies]
bitflags = { version = "2.9.0", optional = true }
enigo = { version = "0.3.0", default-features = false, optional = true }
num_enum = { version = "0.7.3", optional = true }
serde = { version = "1.0.219", features = ["derive"], optional = true }
smol_str = { version = "0.3.2", optional = true }
thiserror = "2.0.12"
xkeysym = { version = "0.2.1", optional = true }

hut_03 = { package = "hut", version = "0.3.0", default-features = false, optional = true }
hut_04 = { package = "hut", version = "0.4.0", default-features = false, optional = true }

[target.'cfg(target_os = "windows")'.dependencies]
windows = { version = "0.61", optional = true, features = ["Win32_UI_Input_KeyboardAndMouse"] }

[target.'cfg(target_os = "macos")'.dependencies]
core-foundation = { version = "0.10.0", optional = true }
core-graphics = { version = "0.24.0", optional = true }

[dev-dependencies]
strum_macros = "0.27.1"

[features]
default = [ "full" ]

target_all = [ "target_windows", "target_linux", "target_macos" ]
target_windows = []
target_macos = []
target_linux = []

mirror_winput_vk = []
mirror_enigo = []
mirror_enigo_windows = [ "mirror_enigo", "target_windows" ]
mirror_enigo_linux = [ "mirror_enigo", "target_linux" ]
mirror_enigo_macos = [ "mirror_enigo", "target_macos" ]
mirror_winit = [ "dep:bitflags", "dep:smol_str" ]

mirror_windows_vk = []
mirror_macos = []

mirror_all = [ "mirror_enigo", "mirror_winput_vk", "mirror_windows_vk", "mirror_winit", "mirror_macos" ]

feat_all = ["num_enum", "serde"]
serde = [ "dep:serde", "smol_str?/serde", "enigo?/serde", "bitflags?/serde" ]

macos = ["dep:core-graphics", "dep:core-foundation"]
windows = ["dep:windows"]
enigo = ["dep:enigo"]
make1 = []
# enigo should be manually enabled since it depends on `wayland`, `x11rb`, `xdo` or `libei` on linux
dep_all = ["windows", "macos", "xkeysym", "hut_03", "hut_04", "make1"]

generating_convert = ["dep:askama", "dep:regex"]

full = [ "target_all", "mirror_all", "feat_all", "dep_all" ]

[build-dependencies]
askama = { version = "0.14.0", optional = true }
regex = { version = "1.11.1", optional = true }
cfg_aliases = "0.2.1"