refactor fakeinput + invert main thread function
- 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...
This commit is contained in:
10
Cargo.toml
10
Cargo.toml
@@ -13,3 +13,13 @@ 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
|
||||
|
||||
Reference in New Issue
Block a user