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

Reply via email to