[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <46090BF2.2000105@gmail.com>
Date: Tue, 27 Mar 2007 14:20:02 +0200
From: Jiri Slaby <jirislaby@...il.com>
To: Dmitry Torokhov <dtor@...ightbb.com>
CC: johann deneux <johann.deneux@...il.com>,
Jiri Slaby <jirislaby@...il.com>,
"STenyaK (Bruno González)"
<stenyak@...il.com>, Anssi Hannula <anssi.hannula@...il.com>,
Linux kernel mailing list <linux-kernel@...r.kernel.org>,
linux-input@...ey.karlin.mff.cuni.cz
Subject: Re: FF layer restrictions [Was: [PATCH 1/1] Input: add sensable phantom
driver]
Dmitry Torokhov napsal(a):
> On Wednesday 21 March 2007 18:03, johann deneux wrote:
>> On 3/21/07, Jiri Slaby <jirislaby@...il.com> wrote:
>>> Dmitry Torokhov napsal(a):
>>>> On 3/21/07, johann deneux <johann.deneux@...il.com> 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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists