[lkml]   [2007]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: FF layer restrictions [Was: [PATCH 1/1] Input: add sensable phantom driver]
On 3/27/07, Jiri Slaby <> wrote:
> Dmitry Torokhov napsal(a):
> > On Wednesday 21 March 2007 18:03, johann deneux wrote:
> >> On 3/21/07, Jiri Slaby <> wrote:
> >>> Dmitry Torokhov napsal(a):
> >>>> On 3/21/07, johann deneux <> 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:

No, it's not you, there are still things that are unclear. For
instance I think Dmitry intended to combine several planes, which I
don't understand.

What we want is to specify a 3d vector, which can be done using two
angles and a magnitude.
One angle and the magnitude we already have in ff_effect, so all we
need is an additional angle, which can be specified using a new ioctl.
I originally thought it could be done without a new ioctl, just by
extending ff_struct, but that won't work.

> >> 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?".

Torques and forces are both represented as 3d vectors. Are we
misunderstanding eachother maybe? By "vector" I mean a triplet of
numbers, when you say "torques" and "forces vector", do you mean that
each effect is composed of a bunch of torques?

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2007-03-27 20:39    [W:0.107 / U:7.892 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site