From: Soeren Sonnenburg <kernel@nn7.de>
To: Greg Kroah-Hartman <greg@kroah.com>
Cc: Oliver Neukum <oliver@neukum.name>,
Sergey Vlasov <vsu@altlinux.ru>,
linux-kernel@vger.kernel.org,
linux-usb-devel@lists.sourceforge.net
Subject: Re: Fwd: Re: [linux-usb-devel] usb initialization order (usbhid vs. appletouch)
Date: Sat, 28 Oct 2006 22:27:46 +0200 [thread overview]
Message-ID: <1162067266.4044.2.camel@localhost> (raw)
In-Reply-To: <200610282055.29423.oliver@neukum.name>
[-- Attachment #1: Type: text/plain, Size: 1109 bytes --]
On Sat, 2006-10-28 at 20:55 +0200, Oliver Neukum wrote:
> > From: Sergey Vlasov <vsu@altlinux.ru>
> > Subject: usbhid: Add HID_QUIRK_IGNORE_MOUSE flag
> >
> > Some HID devices by Apple have both keyboard and mouse interfaces; the
> > keyboard interface is handled by usbhid, but the mouse (really
> > touchpad) interface must be handled by the separate 'appletouch'
> > driver. Using HID_QUIRK_IGNORE will make hiddev ignore both
> > interfaces, therefore a new quirk flag to ignore only the mouse
> > interface is required.
>
> Exactly. Combing both patches:
> Soeren, if this works, please sign it off and send it to Greg.
OK, this works, but as the same IDs need the FN key hacks I or'ed the FN
and mouse quirk flags. Also I added the appleir (builtin infrared on the
macbook/pro) to the list of ignored IDs. Therefore the patch though very
similar is again slightly different.
But hey, it worked for me over the last hour on this mbp :-))
Please comment/apply.
Soeren.
--
Sometimes, there's a moment as you're waking, when you become aware of
the real world around you, but you're still dreaming.
[-- Attachment #2: mbp-input.patch --]
[-- Type: text/x-patch, Size: 3649 bytes --]
Signed-off-by: Soeren Sonnenburg <kernel@nn7.de>
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
--- linux-2.6.18.1/drivers/usb/input/hid.h 2006-10-14 05:34:03.000000000 +0200
+++ linux-2.6.18.1-sonne/drivers/usb/input/hid.h 2006-10-28 21:44:32.000000000 +0200
@@ -260,6 +260,7 @@
#define HID_QUIRK_POWERBOOK_HAS_FN 0x00001000
#define HID_QUIRK_POWERBOOK_FN_ON 0x00002000
#define HID_QUIRK_INVERT_HWHEEL 0x00004000
+#define HID_QUIRK_IGNORE_MOUSE 0x00008000
/*
* This is the global environment of the parser. This information is
--- linux-2.6.18.1/drivers/usb/input/hid-core.c 2006-10-14 05:34:03.000000000 +0200
+++ linux-2.6.18.1-sonne/drivers/usb/input/hid-core.c 2006-10-28 21:46:50.000000000 +0200
@@ -1585,6 +1585,13 @@
#define USB_VENDOR_ID_APPLE 0x05ac
#define USB_DEVICE_ID_APPLE_MIGHTYMOUSE 0x0304
+#define USB_DEVICE_ID_APPLE_GEYSER_ANSI 0x0214
+#define USB_DEVICE_ID_APPLE_GEYSER_ISO 0x0215
+#define USB_DEVICE_ID_APPLE_GEYSER_JIS 0x0216
+#define USB_DEVICE_ID_APPLE_GEYSER3_ANSI 0x0217
+#define USB_DEVICE_ID_APPLE_GEYSER3_ISO 0x0218
+#define USB_DEVICE_ID_APPLE_GEYSER3_JIS 0x0219
+#define USB_DEVICE_ID_APPLE_IR 0x8240
#define USB_VENDOR_ID_CHERRY 0x046a
#define USB_DEVICE_ID_CHERRY_CYMOTION 0x0023
@@ -1731,16 +1738,18 @@
{ USB_VENDOR_ID_CHERRY, USB_DEVICE_ID_CHERRY_CYMOTION, HID_QUIRK_CYMOTION },
- { USB_VENDOR_ID_APPLE, 0x020E, HID_QUIRK_POWERBOOK_HAS_FN },
- { USB_VENDOR_ID_APPLE, 0x020F, HID_QUIRK_POWERBOOK_HAS_FN },
- { USB_VENDOR_ID_APPLE, 0x0214, HID_QUIRK_POWERBOOK_HAS_FN },
- { USB_VENDOR_ID_APPLE, 0x0215, HID_QUIRK_POWERBOOK_HAS_FN },
- { USB_VENDOR_ID_APPLE, 0x0216, HID_QUIRK_POWERBOOK_HAS_FN },
- { USB_VENDOR_ID_APPLE, 0x0217, HID_QUIRK_POWERBOOK_HAS_FN },
- { USB_VENDOR_ID_APPLE, 0x0218, HID_QUIRK_POWERBOOK_HAS_FN },
- { USB_VENDOR_ID_APPLE, 0x0219, HID_QUIRK_POWERBOOK_HAS_FN },
- { USB_VENDOR_ID_APPLE, 0x030A, HID_QUIRK_POWERBOOK_HAS_FN },
- { USB_VENDOR_ID_APPLE, 0x030B, HID_QUIRK_POWERBOOK_HAS_FN },
+ { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ANSI, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+ { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+ { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_JIS, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+ { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ANSI, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+ { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+ { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+ { USB_VENDOR_ID_APPLE, 0x020E, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+ { USB_VENDOR_ID_APPLE, 0x020F, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+ { USB_VENDOR_ID_APPLE, 0x030A, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+ { USB_VENDOR_ID_APPLE, 0x030B, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+
+ { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IR, HID_QUIRK_IGNORE },
{ USB_VENDOR_ID_PANJIT, 0x0001, HID_QUIRK_IGNORE },
{ USB_VENDOR_ID_PANJIT, 0x0002, HID_QUIRK_IGNORE },
@@ -1837,6 +1846,10 @@
if (quirks & HID_QUIRK_IGNORE)
return NULL;
+ if (quirks & HID_QUIRK_IGNORE_MOUSE)
+ if (interface->desc.bInterfaceProtocol == USB_INTERFACE_PROTOCOL_MOUSE)
+ return NULL;
+
if (usb_get_extra_descriptor(interface, HID_DT_HID, &hdesc) &&
(!interface->desc.bNumEndpoints ||
usb_get_extra_descriptor(&interface->endpoint[0], HID_DT_HID, &hdesc))) {
next prev parent reply other threads:[~2006-10-28 20:27 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-26 9:53 usb initialization order (usbhid vs. appletouch) Soeren Sonnenburg
2006-10-26 10:20 ` Oliver Neukum
2006-10-26 11:49 ` Soeren Sonnenburg
2006-10-26 12:36 ` Oliver Neukum
2006-10-28 16:56 ` Soeren Sonnenburg
2006-10-28 17:03 ` Oliver Neukum
2006-10-28 17:36 ` Soeren Sonnenburg
2006-10-28 18:14 ` [linux-usb-devel] " Sergey Vlasov
2006-10-28 18:14 ` Pete Zaitcev
2006-10-28 18:30 ` [linux-usb-devel] " Oliver Neukum
[not found] ` <200610282043.59106.oliver@neukum.org>
2006-10-28 18:55 ` Fwd: " Oliver Neukum
2006-10-28 19:14 ` Fwd: " Pete Zaitcev
2006-10-28 20:27 ` Soeren Sonnenburg [this message]
2006-10-30 10:12 ` Fwd: Re: [linux-usb-devel] " Joseph Fannin
2006-10-30 12:43 ` Soeren Sonnenburg
2006-10-30 20:05 ` Joseph Fannin
2006-11-01 20:47 ` Soeren Sonnenburg
2006-12-08 17:19 ` [PATCH] usbhid quirks for macbook(pro) (was: Re: Fwd: Re: [linux-usb-devel] usb initialization order (usbhid vs. appletouch)) Soeren Sonnenburg
2006-12-10 2:08 ` Joseph Fannin
2006-12-15 8:36 ` Soeren Sonnenburg
2006-12-15 17:56 ` Greg KH
2006-12-23 10:38 ` [PATCH] usbhid quirks for macbook(pro) updated to 2.6.20-rc1 Soeren Sonnenburg
2007-01-27 14:08 ` [PATCH] usbhid quirks for macbook(pro) updated to 2.6.20-rc6 Soeren Sonnenburg
2007-01-29 9:38 ` Jiri Kosina
2007-01-29 10:59 ` Soeren Sonnenburg
2007-01-30 15:27 ` Jiri Kosina
2006-10-28 19:14 ` [linux-usb-devel] usb initialization order (usbhid vs. appletouch) Sergey Vlasov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1162067266.4044.2.camel@localhost \
--to=kernel@nn7.de \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb-devel@lists.sourceforge.net \
--cc=oliver@neukum.name \
--cc=vsu@altlinux.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.