eff->trigger = FFPL_TRIG_NOW;
} else {
eff->replace = false;
- ffpl_update_trip_times(eff, now);
+ if (ffpl_handle_timing(priv, ueff))
+ ffpl_update_trip_times(eff, now);
/* The effect is yet to be started, do not try to update it */
if (eff->change == FFPL_TO_START)
input_set_capability(dev, EV_FF, FF_CONSTANT);
input_set_capability(dev, EV_FF, FF_RUMBLE);
- /*input_set_capability(dev, EV_FF, FF_PERIODIC);
+ input_set_capability(dev, EV_FF, FF_PERIODIC);
input_set_capability(dev, EV_FF, FF_SINE);
input_set_capability(dev, EV_FF, FF_SQUARE);
input_set_capability(dev, EV_FF, FF_SAW_UP);
input_set_capability(dev, EV_FF, FF_SAW_DOWN);
- input_set_capability(dev, EV_FF, FF_TRIANGLE);*/
+ input_set_capability(dev, EV_FF, FF_TRIANGLE);
input_set_capability(dev, EV_FF, FF_RAMP);
input_set_capability(dev, EV_FF, FF_SPRING);
ret = ffpl_init_plugin(&ff_plugin, dev, EFFECT_COUNT,
FFPL_HAS_EMP_TO_SRT | FFPL_REPLACE_STARTED |
- //FFPL_MEMLESS_CONSTANT |
- //FFPL_MEMLESS_PERIODIC |
- //FFPL_MEMLESS_RUMBLE |
+ FFPL_MEMLESS_CONSTANT |
+ FFPL_MEMLESS_PERIODIC |
+ FFPL_MEMLESS_RUMBLE |
FFPL_TIMING_CONDITION,
klgdff_control, &test_user);
if (ret) {