On Tue, 15 Jan 2008, Tobias Müller wrote:

> The first one, with ID 0x022a is a 3rd generation MacBook. It has no numpad
> and lsusb =v reports
[ ... ]
> The second one with id 0x0221 is the new apple keyboard, you'' find on
> http://www.apple.com/keyboard. It looks like
> http://images.apple.com/keyboard/images/gallery/wired_1_20070813.jpg, 
> has a numpad and some special printings on F1-F12. They're the same as on the
> macbook. lsusb -v reports
[ ... ]

OK, thanks for the information. So two entries with these vedors IDs will 
be needed for hid_quirks[] table, so that HID layer knows that this is a 
powerbook-compatible keyboard.

> In order to get the correct keycodes of the printed symbols on Fn+FX 
> combinations, i edited hid-input.c and changed
> static struct hidinput_key_translation powerbook_fn_keys[] = {
>         { KEY_BACKSPACE, KEY_DELETE },
>         { KEY_F1,       KEY_BRIGHTNESSDOWN,     POWERBOOK_FLAG_FKEY },
>         { KEY_F2,       KEY_BRIGHTNESSUP,       POWERBOOK_FLAG_FKEY },
>         { KEY_F3,       KEY_PROG1,              POWERBOOK_FLAG_FKEY },
>         { KEY_F4,       KEY_PROG2,              POWERBOOK_FLAG_FKEY },
>         { KEY_F5,       KEY_FN_F5,              POWERBOOK_FLAG_FKEY },
>         { KEY_F6,       KEY_FN_F6,              POWERBOOK_FLAG_FKEY },
>         { KEY_F7,       KEY_BACK,               POWERBOOK_FLAG_FKEY },
>         { KEY_F8,       KEY_PLAY,               POWERBOOK_FLAG_FKEY },
>         { KEY_F9,       KEY_FASTFORWARD,        POWERBOOK_FLAG_FKEY },
>         { KEY_F10,      KEY_MUTE,               POWERBOOK_FLAG_FKEY },
>         { KEY_F11,      KEY_VOLUMEDOWN,         POWERBOOK_FLAG_FKEY },
>         { KEY_F12,      KEY_VOLUMEUP,           POWERBOOK_FLAG_FKEY },
>         { KEY_UP,       KEY_PAGEUP },
>         { KEY_DOWN,     KEY_PAGEDOWN },
>         { KEY_LEFT,     KEY_HOME },
>         { KEY_RIGHT,    KEY_END },
>         { }
> };
> Maybe this should be included, too.

We can't just change powerbook_fn_keys[], as that would break other 
models. These models might possibly need a different table.

As you are obviously able to do C coding, do you think you could prepare 
fully working and tested patch and send it to me?

Thanks,

-- 
Jiri Kosina

Reply via email to