-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, I'm working on developing a cross-platform API for doing force feedback. I've noticed some lacking features which other OS (in this case Mac OS X and Windows) seem to have and would like to see if they could be implemented: * Effect Status - Be able to query whether or not an effect is playing on a device. Linux equivalent of Mac OS X FFEffectGetEffectStatus. * Pause/Stop/Disable Device - Allow pausing/resuming/stopping all the effects on a device at the same time. Also allow disabling/enabling of actuators or reseting the device. Analogous to Mac OS X FFDeviceSendForceFeedbackCommand. While I see the pause/resume/stop as pretyt feasible, the disabling actuators would be more complicated unless you do that in software (would have to reverse engineer). * Get maximum effects playing at the same time - Currently there only is EVIOCGEFFECTS which returns the number of effects the device can keep in memory (Documentation/ff.txt is right, while linux/input.h is wrong about this). * Check device state - While not really needed, I'm just adding it here for the sake of completion. Would let you see if the device is paused, has actuators disabled, is empty, not powered, safety switch on, etc... Similar to Mac OS X FFDeviceGetForceFeedbackState. Things I've noticed that are wrong/missing: * The ff_trigger doesn't seem to work (tested with the Rumblepad 2). I've tried uploading the effect and pressing the button and running it. If you run the effect it just plays normally. I'm assuming that you just need to upload it and it'll work automatically. A bit lost with this. * Condition effects have no envelope - I really don't know the reason about this. As far as I can see condition effects on other systems do use the envelope, but maybe I'm wrong. * Condition effects use only and always two axis. I have yet to see a three axis controller (not even really sure what I'm looking for), but what is the reason behind this? Windows and Mac OS X API make you set the number of axes you want to use and which ones you want to use then work with those. Not really sure about the reason behind this, but I'm guessing it's because there really only are two axis controllers (joysticks) while the fancier ones (ex: Novint Falcon) use weirder API. Also how does the direction interact with this? In Mac OS X if you use more then one axis you must send data individually to each axis, but if you only define one axis you can use the direction. Any ideas on this? Overall the linux force feedback API seems a bit rough around the edges, and not many people seem to use it. I'm hoping to change this with my cross platform force feedback api. It's great to see it working and the API is much nicer to use overall then the Mac OS X and Windows equivalents. Thanks, Edgar -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkiDdaEACgkQolm4VNX3QTyc6QCeIqalOeur/BCaRfZhkxUHxUf1 WO4AmQGPZnQuHhiNNSPvC5VCcpYRlbfp =2MJi -----END PGP SIGNATURE----- -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html