- fakeinput is now just a series of free functions that access the global static, which makes more sense than having some arbitrary zero-sized-struct with associated methods on it. - instead of having the active notification run in its own thread, it now runs on the main thread, and the controller runs in a separate thread. This results in midly nicer code, at least IMO. Also, I've had to disable optimizations on the evdev_rs crate, as it seems to be segfaulting on release builds. Very spooky, but it's not something I'm super interested in debugging right now, so I'll just work around it. It's not like I need the _blazing fast performance_ from a Rust wrapper around a C library anyways...
26 lines
898 B
TOML
26 lines
898 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"
|
|
notify-rust = "4"
|
|
parking_lot = "0.11.0"
|
|
signal-hook = "0.1.16"
|
|
|
|
# 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
|