events: fix haptics on newer Samsung devices
Newer Samsung devices have a single file that enables/disables/sets the timeout for vibration in /sys/class/timed_output/vibrator/enable
The content of the file determines the state of the vibrator, 0 being vibrator being off and any other value being the time in ms that the vibrator is going to run before resetting to 0 again.
Change-Id: I1144e139285494e43b8656229ad6df10d5b48f39
Signed-off-by: soulr344 <soul@totsuka.gq>
diff --git a/minuitwrp/events.cpp b/minuitwrp/events.cpp
index 8abf055..80794a1 100644
--- a/minuitwrp/events.cpp
+++ b/minuitwrp/events.cpp
@@ -152,6 +152,13 @@
if (vib != nullptr) {
vib->on((uint32_t)timeout_ms, nullptr);
}
+#elif defined(USE_SAMSUNG_HAPTICS)
+ /* Newer Samsung devices have duration file only
+ 0 in VIBRATOR_TIMEOUT_FILE means no vibration
+ Anything else is the vibration running for X milliseconds */
+ if (std::ifstream(VIBRATOR_TIMEOUT_FILE).good()) {
+ write_to_file(VIBRATOR_TIMEOUT_FILE, tout);
+ }
#else
if (std::ifstream(LEDS_HAPTICS_ACTIVATE_FILE).good()) {
write_to_file(LEDS_HAPTICS_DURATION_FILE, tout);