[PATCH/RFC?] usb/input: Add support for fn key on Apple PowerBooks

Dmitry Torokhov dmitry.torokhov at gmail.com
Sat Jan 14 09:08:31 EST 2006


On 1/13/06, Dmitry Torokhov <dmitry.torokhov at gmail.com> wrote:
> On 1/13/06, Benjamin Herrenschmidt <benh at kernel.crashing.org> wrote:
> >
> > > That should be "MODULE_PARM_DESC(pb_fn_mode, ...)". Also, since this is
> > > for compatibility with ADB, why do we have 3 options? Doesn't ADB have
> > > only 2?
> >
> > No, the ADB keyboard can operate in 2 modes that can be set with a PMU
> > command, I forgot about that in my earlier comments. In one mode, you get
> > the "special" behaviour by default on the Fx keys and you get Fx when
> > pressing Fn-Fx, and in the other mode, you get the Fx by default and the
> > special behaviour when pressing Fn-Fx.
> >
>
> Right, so do we need "no translation, fnkeyfirst and fnkeylast" option
> or just "fnkeyfirst and fnkeyast"?
>
> > > > +static inline struct hidinput_key_translation *find_translation(
> > >
> > > I thought is was agreed that we'd avoid "inlines" in .c files?
> >
> > Ah ? I have certainly missed that discussion ...
>
> Newer GCCs, unit-at-a-time, etc. etc. - teher was pretty long
> discussion about letting GCC decide on inlining.
>
> >
> > > > +   struct hidinput_key_translation *table, u16 from)
> > > > +{
> > > > +   struct hidinput_key_translation *trans;
> > > > +
> > > > +   /* Look for the translation */
> > > > +   for(trans = table; trans->from && (trans->from != from); trans++);
> > > > +
> > > > +   return (trans->from?trans:NULL);
> > > > +}
> > >
> > > I'd prefer liberal amount of spaces applied here </extreme nitpick mode>
> >
> > Me too :)
> >
> > > > +           try_translate = test_bit(usage->code, usbhid_pb_numlock)?1:
> > > > +                           test_bit(LED_NUML, input->led);
> > > > +           if (try_translate) {
> > >
> > > Isn't this the same as
> > >
> > >               if (test_bit(usage->code, usbhid_pb_numlock) || test_bit(LED_NUML, input->led))
> > >
> > > but harder to read?
> >
> > No. If the first one is 0, the second one will not matter in the first
> > version, while it will in yours.
> >
>
> Huh? You mean 1, right?
>
>    try_translate = 0;
>    if (test_bit(usage->code, usbhid_pb_numlock))
>         try_translate = 1;
>    else if (test_bit(LED_NUML, input->led))
>         try_translate = 1;
>    else
>

Uhg, accidentially hit send, sorry... Ok, nevermind, I see your other message ;)

--
Dmitry
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



More information about the Linuxppc-dev mailing list