From 913e3206dbbc503fcdf093f8ac52a06cd6641103 Mon Sep 17 00:00:00 2001 From: Wilhem Barbier Date: Mon, 20 Jun 2016 09:56:41 +0200 Subject: Fix the joystick vibration timestamp --- main/input_default.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/input_default.cpp b/main/input_default.cpp index a70b66838a..4fcb450bce 100644 --- a/main/input_default.cpp +++ b/main/input_default.cpp @@ -365,7 +365,7 @@ void InputDefault::stop_joy_vibration(int p_device) { vibration.weak_magnitude = 0; vibration.strong_magnitude = 0; vibration.duration = 0; - vibration.timestamp = OS::get_singleton()->get_unix_time(); + vibration.timestamp = OS::get_singleton()->get_ticks_usec(); joy_vibration[p_device] = vibration; } -- cgit v1.2.3 From 5d950728795cdc9cc6ea3c40e29b38d3dc43b709 Mon Sep 17 00:00:00 2001 From: Wilhem Barbier Date: Mon, 20 Jun 2016 11:01:07 +0200 Subject: Remove the vibration effect from the joystick when stopping --- platform/x11/joystick_linux.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/platform/x11/joystick_linux.cpp b/platform/x11/joystick_linux.cpp index 5ce0219df7..82f79c2640 100644 --- a/platform/x11/joystick_linux.cpp +++ b/platform/x11/joystick_linux.cpp @@ -439,11 +439,9 @@ void joystick_linux::joystick_vibration_stop(int p_id, uint64_t p_timestamp) return; } - struct input_event stop; - stop.type = EV_FF; - stop.code = joy.ff_effect_id; - stop.value = 0; - write(joy.fd, (const void*)&stop, sizeof(stop)); + if (ioctl(joy.fd, EVIOCRMFF, joy.ff_effect_id) < 0) { + return; + } joy.ff_effect_id = -1; joy.ff_effect_timestamp = p_timestamp; -- cgit v1.2.3