1
0
Commit Graph

8 Commits

Author SHA1 Message Date
Daniel Prilik
68676cc1d1 put auto haptic params in mode meta 2020-11-06 00:48:38 -05:00
Daniel Prilik
f7a261cb8a use libudev to handle device disconnect/reconnect
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.
2020-11-06 00:22:56 -05:00
Daniel Prilik
905c33ad4a stop using DynResult for error handling
I plan to refactor the code to have a single "fatal_error" channel that
all threads get a handle to, and `Box<dyn Error>` can't be sent between
threads safely.
2020-11-04 11:50:13 -05:00
Daniel Prilik
636a12f2e6 fix underflow on debug build 2020-11-02 18:47:56 -05:00
Daniel Prilik
82e08c8e4a add barebones on-disk mode persistance 2020-10-31 00:16:16 -04:00
Daniel Prilik
d14a92dfe5 add long-press + notif based mode switching
oooooh boy, this is looking pretty slick. I'm kind-of impressed I was
able to throw this together in ~2 days of post-work hacking (though I
guess they were some pretty late-nights...)

There's really only one feature left that I _need_ to implement, which
is the on-disk persistence for selected mode. That shouldn't be too
tricky though...
2020-10-30 23:39:12 -04:00
Daniel Prilik
e6fa6845fe haptics!
https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/radial-controller-protocol-implementation

With a little bit of trial and error (and a crash-course in how the heck
HID even works), I figured out how to get the dial to provide haptic
feedback!

Along the way, I also learned that you can take advantage of the
(incorrectly named) Resolution Multiplier field to customize how many
"steps" the dial should have, offloading the work to the device itself!

Very cool!!
2020-10-30 19:59:23 -04:00
Daniel Prilik
c4039edc55 initial commit 2020-10-29 00:31:11 -04:00