Dmitry Torokhov napsal(a): > On Wednesday 21 March 2007 18:03, johann deneux wrote: >> On 3/21/07, Jiri Slaby <[EMAIL PROTECTED]> wrote: >>> Dmitry Torokhov napsal(a): >>>> On 3/21/07, johann deneux <[EMAIL PROTECTED]> wrote: >>>>> I would suggest adding a new effect type (3d effect) and extending the >>>>> union in struct ff_effect. >>>>> Let me know if I'm too vague, I already suggested that solution but >>>>> got no answer. I wonder if my mail got lost, nobody understood what I >>>>> said, or if it's just a plain bad idea. >>>>> >>>> My concern with a new 3D effect is that it will be a very "simple" >>>> effect with only constant force apllied. That might be enough for >>>> phantom but may not be sufficient for future devices. If we add >>>> ability to specify a "plane" for an effect we will be able to add >>>> envelopes on top of more complex effects and get desired combined >>>> effcet. >>> I didn't get this too much, because I don't understand the FF layer well so >>> far. How is this going to work? Let's say, we have 3 torque values computed >>> in US, and this structure: >>> >>> struct ff_effect { >>> __u16 direction; >>> struct ff_trigger trigger; >>> struct ff_replay replay; >>> >>> struct ff_constant_effect { >>> __s16 level; >>> struct ff_envelope { >>> __u16 attack_length; >>> __u16 attack_level; >>> __u16 fade_length; >>> __u16 fade_level; >>> }; >>> }; >>> }; >>> >>> and need to pass the three 16bits torques into s16 ioaddr[0..2]. How? >>> >> Stupid question,
Sorry to be out for so long, maybe I'm stupid idiot, that understands nothing, but: >> I have forgotten the details of ioctl: Wouldn't the >> following work? No, at least, as far as I understand this. I have computed _torques_, not forces vector (this was misleading info in my first post), the question is "how can I pass torques through plane and direction entries into KS?". >> struct ff_effect { >> __u16 type; >> __s16 id; >> __u16 direction; >> struct ff_trigger trigger; >> struct ff_replay replay; >> >> union { >> struct ff_constant_effect constant; >> struct ff_ramp_effect ramp; >> struct ff_periodic_effect periodic; >> struct ff_condition_effect condition[2]; /* One for each >> axis */ >> struct ff_rumble_effect rumble; >> } u; >> >> /* New member: Specify a plane in the 3d space. */ >> struct ff_ruct ff_plane plane; >> }; [...] >> Alternatively, one could leave ff_effect effect untouched and find >> another way to specify the plane, e.g. another ioctl. > > I was thinking about a new ioctl to specify a plane for a specific effect, > but probably extending the structure and having 2 distinct ioctls (with > and without plane) is cleaner. This sounds good for me, if I (or someone) have forces vector, but it doesn't help me in my situation. thanks, -- http://www.fi.muni.cz/~xslaby/ Jiri Slaby faculty of informatics, masaryk university, brno, cz e-mail: jirislaby gmail com, gpg pubkey fingerprint: B674 9967 0407 CE62 ACC8 22A0 32CC 55C3 39D4 7A7E