DINPUT: Complete linux input system effect object (FF #6)

Daniel Remenak dtremenak at gmail.com
Wed Aug 31 23:42:49 CDT 2005


The sixth in a series of patches to enable force feedback through
DirectInput on linux event devices.  This patch supersedes and
replaces FF #4 and FF #5.

Changelog:
Add a linux input system force feedback effect implementation

As per Alexandre's request...
> I'd suggest going the other way around: implement one
> working version of the code without worrying about being generic,
> without trying to abstract interfaces or anything, just a simple
> source file implementing the COM interface directly.

...this is a single, working, unabstracted, linux input system effect object.
All applicable methods are implemented.

Working functionality:
Play, stop, download, unload, and on-the-fly effect modification, for
periodic (all waveforms), constant, ramp, and conditional (e.g.
friction, spring, damper) effects, with and without force envelopes,
with almost all special conditions and flags.

Missing functionality:
* Trigger buttons.  The linuxinput button mapping system needs to be
redone to support an even 1-to-1 mapping, since many-to-1 is 1-to-many
when you look at it from the other end.
* Custom effect samples.  The linux and directinput way of
implementing these are worlds apart.  I'm not entirely sure it's
possible to translate between them.
* Sample period setting.  The linux event driver simply does not support it.
* Gain setting.  In directinput this can be applied per-effect, in
linux it is applied per-device.
* Solo mode, pause, and resume.  The linux driver can stop an effect
but not pause it.

For those of you who are anxious to get FF working right away, there
is still one more patch that must be applied before applications
actually work.  I'm cleaning it up for submission; it should be ready
tomorrow.

This patch adds one file, effect_linuxinput.c, in the dlls/dinput
directory.  This patch has no unapplied dependencies.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ff-6-linuxeffect.diff
Type: text/x-patch
Size: 33104 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20050831/0c99a075/ff-6-linuxeffect-0001.bin


More information about the wine-patches mailing list