Merge pull request #5309 from nounoursheureux/master

Fix the joystick vibration on Linux
This commit is contained in:
Rémi Verschelde 2016-06-20 11:09:52 +02:00 committed by GitHub
commit a1a57bc369
2 changed files with 4 additions and 6 deletions

View file

@ -365,7 +365,7 @@ void InputDefault::stop_joy_vibration(int p_device) {
vibration.weak_magnitude = 0; vibration.weak_magnitude = 0;
vibration.strong_magnitude = 0; vibration.strong_magnitude = 0;
vibration.duration = 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; joy_vibration[p_device] = vibration;
} }

View file

@ -439,11 +439,9 @@ void joystick_linux::joystick_vibration_stop(int p_id, uint64_t p_timestamp)
return; return;
} }
struct input_event stop; if (ioctl(joy.fd, EVIOCRMFF, joy.ff_effect_id) < 0) {
stop.type = EV_FF; return;
stop.code = joy.ff_effect_id; }
stop.value = 0;
write(joy.fd, (const void*)&stop, sizeof(stop));
joy.ff_effect_id = -1; joy.ff_effect_id = -1;
joy.ff_effect_timestamp = p_timestamp; joy.ff_effect_timestamp = p_timestamp;