[package]
name = "rmk"
version = "0.1.21"
authors = ["Haobo Gu <haobogu@outlook.com>"]
description = "Keyboard firmware written in Rust"
homepage = "https://github.com/haobogu/rmk"
repository = "https://github.com/haobogu/rmk"
readme = "../README.md"
edition = "2021"
license = "MIT OR Apache-2.0"
resolver = "2"
[dependencies]
rmk-config = { version = "0.1.3", path = "../rmk-config" }
rmk-macro = { version = "0.1.5", path = "../rmk-macro" }
embedded-hal = { version = "1.0.0", features = ["defmt-03"] }
embedded-hal-async = { version = "1.0.0", features = [
"defmt-03",
], optional = true }
embedded-storage = "0.3"
embedded-storage-async = "0.4"
embassy-embedded-hal = { version = "0.1" }
embassy-time = { version = "0.3", features = ["defmt"] }
embassy-usb = { version = "0.2", features = [
"defmt",
"usbd-hid",
"max-interface-count-8",
"max-handler-count-8",
] }
heapless = "0.8.0"
embassy-sync = { version = "0.6", features = ["defmt"] }
embassy-futures = { version = "0.1", features = ["defmt"] }
embassy-executor = { version = "0.5", features = ["defmt"] }
usbd-hid = { version = "0.7.0", features = ["defmt"] }
ssmarshal = { version = "1.0", default-features = false }
defmt = "0.3"
static_cell = "2"
num_enum = { version = "0.7", default-features = false }
bitfield-struct = "0.6"
byteorder = { version = "1.4", default-features = false }
futures = { version = "0.3", default-features = false }
sequential-storage = { version = "2.0", features = ["defmt-03"] }
once_cell = { version = "1.19", features = [
"atomic-polyfill",
], default-features = false, optional = true }
nrf-softdevice = { version = "0.1.0", git = "https://github.com/embassy-rs/nrf-softdevice", rev = "d5f023b", features = [
"defmt",
"ble-peripheral",
"critical-section-impl",
"ble-gatt-server",
"ble-sec",
], optional = true }
embassy-nrf = { version = "0.1.0", features = [
"defmt",
"unstable-pac",
"time",
], optional = true }
esp32-nimble = { version = "0.6.0", optional = true }
esp-idf-svc = { version = "0.48", default-features = false, optional = true }
document-features = "0.2"
[features]
default = ["col2row", "rapid_debouncer"]
col2row = []
async_matrix = ["dep:embedded-hal-async"]
rapid_debouncer = []
nrf52840_ble = [
"_nrf_ble",
"dep:embassy-nrf",
"dep:once_cell",
"nrf-softdevice/nrf52840",
"nrf-softdevice/s140",
]
nrf52832_ble = [
"_nrf_ble",
"dep:embassy-nrf",
"dep:once_cell",
"nrf-softdevice/nrf52832",
"nrf-softdevice/s132",
]
esp32c3_ble = ["_esp_ble"]
esp32s3_ble = ["_esp_ble"]
_esp_ble = [
"_ble",
"rmk-config/_esp_ble",
"ssmarshal/std",
"dep:esp32-nimble",
"dep:esp-idf-svc",
]
_nrf_ble = ["_ble", "rmk-config/_nrf_ble", "dep:nrf-softdevice"]
_ble = []