Re: [PATCH/RFC?] usb/input: Add support for fn key on Apple PowerBooks
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2006-01-11 23:42:13
Also in:
lkml
On Thu, 2006-01-12 at 00:26 +0100, Michael Hanselmann wrote:
quoted hunk ↗ jump to hunk
* This is the global environment of the parser. This information is@@ -431,6 +433,14 @@ struct hid_device { /* device repo void (*ff_exit)(struct hid_device*); /* Called by hid_exit_ff(hid) */ int (*ff_event)(struct hid_device *hid, struct input_dev *input, unsigned int type, unsigned int code, int value); + +#ifdef CONFIG_USB_HIDINPUT_POWERBOOK + /* We do this here because it's only relevant for the + * USB devices, not for all input_dev's. + */ + unsigned long pb_fn[NBITS(KEY_MAX)]; + unsigned long pb_numlock[NBITS(KEY_MAX)]; +#endif };
I don't understand the comment above ? You are adding this to all struct hid_device ? There can be only one of those keyboards plugged at one point in time, I don't think there is any problem having the above static in the driver rather than in the hid_device structure. .../...
+ if ((hid->quirks & HID_QUIRK_POWERBOOK_HAS_FN) &&
+ hidinput_pb_event(hid, input, usage, value)) {
+ return;
+ }
+
Dimitry might disagree but it's generally considered bad taste to have
{ and } for a single statement :)
quoted hunk ↗ jump to hunk
if (usage->hat_min < usage->hat_max || usage->hat_dir) { int hat_dir = usage->hat_dir; if (!hat_dir) diff -upr linux-2.6.15.orig/drivers/usb/input/Kconfig linux-2.6.15/drivers/usb/input/Kconfig--- linux-2.6.15.orig/drivers/usb/input/Kconfig 2006-01-11 23:59:40.000000000 +0100 +++ linux-2.6.15/drivers/usb/input/Kconfig 2006-01-08 11:53:35.000000000 +0100@@ -37,6 +37,16 @@ config USB_HIDINPUT If unsure, say Y. +config USB_HIDINPUT_POWERBOOK + bool "Enable support for iBook/PowerBook special keys" + default n + depends on USB_HIDINPUT + help + Say Y here if you want support for the special keys (Fn, Numlock) on + Apple iBooks and PowerBooks. + + If unsure, say N. + config HID_FF bool "Force feedback support (EXPERIMENTAL)" depends on USB_HIDINPUT && EXPERIMENTAL