1
0

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:
Daniel Prilik
2020-11-05 10:26:11 -05:00
parent 905c33ad4a
commit fed2060872
11 changed files with 240 additions and 270 deletions

View File

@@ -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