diff options
-rw-r--r-- | main/input_default.cpp | 2 | ||||
-rw-r--r-- | platform/x11/joystick_linux.cpp | 8 |
2 files changed, 4 insertions, 6 deletions
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; } 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; |