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

Vojtech Pavlik
2006-01-13T07:47:30Z

On Fri, Jan 13, 2006 at 07:53:02AM +0100, Michael Hanselmann wrote:

> It indeed is. Fixed.

It gets better all the time. ;)

> New patch:
>
> This patch implements support for the fn key on Apple PowerBooks using
> USB based keyboards.
>
> Signed-off-by: Michael Hanselmann <linux-kernel@hansmi.ch>
> Acked-by: Rene Nussbaumer <linux-kernel@killerfox.forkbomb.ch>
> Acked-by: Johannes Berg <johannes@sipsolutions.net>
> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>
> ---

> @@ -325,7 +459,27 @@ static void hidinput_configure_usage(str
>
> set_bit(EV_REP, input->evbit);
> switch(usage->hid & HID_USAGE) {
> - case 0x003: map_key_clear(KEY_FN); break;
> +#ifdef CONFIG_USB_HIDINPUT_POWERBOOK
> + /* The fn key on Apple PowerBooks */
> + case 0x0003: {
> + struct hidinput_key_translation *trans;
> +
> + map_key_clear(KEY_FN);
> +
> + set_bit(KEY_FN, input->keybit);

The set_bit(KEY_FN, input->keybit) is superfluous here, right?
map_key_clear(KEY_FN); will take care of that further down.

> + set_bit(KEY_NUMLOCK, input->keybit);
> +
> + /* Enable all needed keys */
> + for(trans = powerbook_fn_keys; trans->from; trans++)
> + set_bit(trans->to, input->keybit);
> +
> + for(trans = powerbook_numlock_keys; trans->from; trans++)
> + set_bit(trans->to, input->keybit);
> +
> + goto ignore;
> + }
> +#endif
> +
> default: goto ignore;
> }
> break;

--
Vojtech Pavlik
SuSE Labs, SuSE CR