/** Emulate periodic through rumble */
        if (test_bit(FF_RUMBLE, dev->ffbit) && !test_bit(FF_PERIODIC, dev->ffbit)) {
                printk(KERN_NOTICE "KLGDFF: Emulating FF_PERIODIC through FF_RUMBLE\n");
+               /* Fake full support of periodic effects*/
                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);
                priv->memless_periodic_emul = true;
        }
 
 
        gain = 0xFFFF;
 
        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_RUMBLE);
+       /*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);