This change has substantially bumped up the daemon's overall robustness, as the code now ensures that the controller will only start once the /dev/input/eventXX file is set up, which was causing all sorts of issues in the past. Additionally, this change enables the daemon to run as a proper background task that _doesn't_ constantly die / need to be restarted, which removes the need for any janky udev "on add" rules, and instead, a simple systemd user service will suffice.
28 lines
926 B
TOML
28 lines
926 B
TOML
[package]
|
|
name = "surface-dial-daemon"
|
|
version = "0.1.0"
|
|
authors = ["Daniel Prilik <danielprilik@gmail.com>"]
|
|
edition = "2018"
|
|
|
|
[dependencies]
|
|
directories = "3.0"
|
|
# master includes a PR that implements `Send` for `Device` and `UInputDevice`
|
|
evdev-rs = { git = "https://github.com/ndesh26/evdev-rs.git", rev = "8e995b8bf" }
|
|
hidapi = { version = "1.2.3", default-features = false, features = ["linux-shared-hidraw"] }
|
|
lazy_static = "1.4"
|
|
nix = "0.19.0"
|
|
notify-rust = "4"
|
|
parking_lot = "0.11.0"
|
|
signal-hook = "0.1.16"
|
|
udev = "0.5"
|
|
|
|
# HACK: Using >1 virtual uinput devices will segfault in release builds.
|
|
#
|
|
# While spooky, this isn't a show-stopper for us Pragmatic Programmers™, as we
|
|
# can simply disable optimizations for `evdev-rs` and have things work Okay™.
|
|
#
|
|
# That said, I would like to find some time to narrow down why this is happening
|
|
# and fix it. Maybe later...
|
|
[profile.release.package.evdev-rs]
|
|
opt-level = 0
|