HID: split Numlock emulation quirk from HID_QUIRK_APPLE_HAS_FN.
authorDiego 'Flameeyes' Petteno <flameeyes@gmail.com>
Wed, 28 May 2008 10:49:59 +0000 (12:49 +0200)
committerChris Wright <chrisw@sous-sol.org>
Mon, 9 Jun 2008 18:27:03 +0000 (11:27 -0700)
commit582e7ebaa207504f23927bcf57ec56da42451846
tree0f55476ecc81d364bda09c4e09363d27f8ddb3f4
parentcb7344d6596f4415c0d9e486b30b0458e5292a77
HID: split Numlock emulation quirk from HID_QUIRK_APPLE_HAS_FN.

upstream commit: 6e7045990f35ef9250804b3fd85e855b8c2aaeb6.

[jkosina@suse.cz: Needed to fix apple aluminium keyboard regression]

Since 2.6.25 the HID_QUIRK_APPLE_HAS_FN quirk is enabled even for
non-laptop Apple keyboards of the Aluminium series. The USB version of
these don't need Numlock emulation, like the laptop (and Aluminium
Wireless) do, as they have a proper keypad.

This patch splits the Numlock emulation for Apple keyboards in a
different quirk flag, so that it can be enabled for all the keyboards
but the Aluminium USB ones.

If the Numlock emulation is enabled for Aluminium USB keyboards, the
JKL and UIO keys become the numeric pad, and the rest of the keyboard
is disabled, included the key used to disable Numlock.

Additionally, these keyboard should not have a Numlock at all, as the
Numlock key is instead replaced by the 'Clear' key as usual for Apple
USB keyboards.

Signed-off-by: Diego 'Flameeyes' Petteno <flameeyes@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
drivers/hid/hid-input.c
drivers/hid/usbhid/hid-quirks.c
include/linux/hid.h