usb initialization order (usbhid vs. appletouch)
Dear all,
I've noticed that the appletouch driver needs to be loaded *before* the usbhid driver to function. This is currently impossible when built into the kernel (and not modules). So I wonder how one can change the ordering of when the usb drivers are loaded.
Suggestions ?
Soeren
Signature · 2 lines
For the one fact about the future of which we can be certain is that it will be utterly fantastic. -- Arthur C. Clarke, 1962
Am Donnerstag, 26. Oktober 2006 11:53 schrieb Soeren Sonnenburg:
Quoted 8 lines
Dear all,
I've noticed that the appletouch driver needs to be loaded *before* the usbhid driver to function. This is currently impossible when built into the kernel (and not modules). So I wonder how one can change the ordering of when the usb drivers are loaded.
Suggestions ?
Add a quirk to HID. Messing around with probing orders is not a sure thing.
Regards
Oliver
Quoted 8 lines · Oliver Neukum
Am Donnerstag, 26. Oktober 2006 11:53 schrieb Soeren Sonnenburg:
Quoted 7 lines
Dear all,
I've noticed that the appletouch driver needs to be loaded *before* the usbhid driver to function. This is currently impossible when built into the kernel (and not modules). So I wonder how one can change the ordering of when the usb drivers are loaded.
Quoted 4 lines
Quoted 1 line
Suggestions ?
Add a quirk to HID. Messing around with probing orders is not a sure thing.
what do you have in mind ? if appletouch is turned on ignore IDs that appear in appletouch ?
Soeren
Signature · 2 lines
Sometimes, there's a moment as you're waking, when you become aware of the real world around you, but you're still dreaming.
Am Donnerstag, 26. Oktober 2006 13:49 schrieb Soeren Sonnenburg:
Quoted 9 lines · Oliver Neukum
Quoted 8 lines
Am Donnerstag, 26. Oktober 2006 11:53 schrieb Soeren Sonnenburg:
Quoted 7 lines
Dear all,
I've noticed that the appletouch driver needs to be loaded *before* the usbhid driver to function. This is currently impossible when built into the kernel (and not modules). So I wonder how one can change the ordering of when the usb drivers are loaded.
Quoted 7 lines
Quoted 4 lines
Quoted 1 line
Suggestions ?
Add a quirk to HID. Messing around with probing orders is not a sure thing.
what do you have in mind ? if appletouch is turned on ignore IDs that appear in appletouch ?
Yes, or even make it unconditional. There is a specific driver for a device. It exists for a reason.
Regards
Oliver
Quoted 12 lines · Oliver Neukum
Am Donnerstag, 26. Oktober 2006 13:49 schrieb Soeren Sonnenburg:
Quoted 11 lines · Oliver Neukum
Quoted 10 lines
Am Donnerstag, 26. Oktober 2006 11:53 schrieb Soeren Sonnenburg:
Quoted 8 lines
Dear all,
I've noticed that the appletouch driver needs to be loaded *before* the usbhid driver to function. This is currently impossible when built into the kernel (and not modules). So I wonder how one can change the ordering of when the usb drivers are loaded.
Suggestions ?
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
Add a quirk to HID. Messing around with probing orders is not a sure thing.
what do you have in mind ? if appletouch is turned on ignore IDs that appear in appletouch ?
Yes, or even make it unconditional. There is a specific driver for a device. It exists for a reason.
OK, so I tried adding all of them to the HID_QUIRK_IGNORE LIST, i.e.
#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
{ USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ANSI, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ISO, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_JIS, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ANSI, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ISO, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_APPLE, 0x020E, HID_QUIRK_IGNORE },
{ USB_VENDOR_ID_APPLE, 0x020F, HID_QUIRK_IGNORE },
{ USB_VENDOR_ID_APPLE, 0x030A, HID_QUIRK_IGNORE },
{ USB_VENDOR_ID_APPLE, 0x030B, HID_QUIRK_IGNORE },
however this did (and cannot) work, as the product id stands for both keyboard AND mouse.
It will however work for the internal infrared receiver (which is also affected).
#define USB_DEVICE_ID_APPLE_IR 0x8240
{ USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IR, HID_QUIRK_IGNORE },
Could someone please add this to the quirk list in hid-core.c in git ? Please note that one can even do this from userspace via
libhid-detach-device 05ac:8240
modprobe appleirAnyways, back to the above problem. Can one somehow tell the hid-core to load the appletouch driver when it detects any of these devices and then initialize on top of that ? The appletouch driver is completely ignored (doesn't even enter the atp_prope function as usb_register registers with device/product tuples that are already taken by hid....
Any ideas ?
Soeren
Signature · 2 lines
Sometimes, there's a moment as you're waking, when you become aware of the real world around you, but you're still dreaming.
Am Samstag, 28. Oktober 2006 18:56 schrieb Soeren Sonnenburg:
Quoted 7 lines
Anyways, back to the above problem. Can one somehow tell the hid-core to load the appletouch driver when it detects any of these devices and then initialize on top of that ? The appletouch driver is completely ignored (doesn't even enter the
atp_propefunction asusb_registerregisters with device/product tuples that are already taken by hid....Any ideas ?
Try udev to disconnect the hid driver, then load appletouch.
HTH
Oliver
Quoted 10 lines · Oliver Neukum
Am Samstag, 28. Oktober 2006 18:56 schrieb Soeren Sonnenburg:
Quoted 7 lines
Anyways, back to the above problem. Can one somehow tell the hid-core to load the appletouch driver when it detects any of these devices and then initialize on top of that ? The appletouch driver is completely ignored (doesn't even enter the
atp_propefunction asusb_registerregisters with device/product tuples that are already taken by hid....Any ideas ?
Try udev to disconnect the hid driver, then load appletouch.
I don't understand... I can disconnect the driver if I do on cmdline
libhid-detach-device 05ac:<id> ; modprobe appletouch .
However then my keyboard is gone.
Of course there is the workaround of building both the appletouch and hid driver as modules and then loading them in this order ... but I was hoping to have them fix in the kernel. If this is however not doable we should mark it in Kconfig and I will have to live with it.
Soeren
Signature · 2 lines
Sometimes, there's a moment as you're waking, when you become aware of the real world around you, but you're still dreaming.
On Sat, Oct 28, 2006 at 06:56:16PM +0200, Soeren Sonnenburg wrote:
[...]
Quoted 23 lines
OK, so I tried adding all of them to the
HID_QUIRK_IGNORELIST, i.e.#define
USB_DEVICE_ID_APPLE_GEYSER_ANSI0x0214
#defineUSB_DEVICE_ID_APPLE_GEYSER_ISO0x0215
#defineUSB_DEVICE_ID_APPLE_GEYSER_JIS0x0216#define USB_DEVICE_ID_APPLE_GEYSER3_ANSI 0x0217 #define USB_DEVICE_ID_APPLE_GEYSER3_ISO 0x0218 #define USB_DEVICE_ID_APPLE_GEYSER3_JIS 0x0219{
USB_VENDOR_ID_APPLE,USB_DEVICE_ID_APPLE_GEYSER_ANSI,HID_QUIRK_IGNORE}, {USB_VENDOR_ID_APPLE,USB_DEVICE_ID_APPLE_GEYSER_ISO,HID_QUIRK_IGNORE}, {USB_VENDOR_ID_APPLE,USB_DEVICE_ID_APPLE_GEYSER_JIS,HID_QUIRK_IGNORE}, {USB_VENDOR_ID_APPLE,USB_DEVICE_ID_APPLE_GEYSER3_ANSI,HID_QUIRK_IGNORE}, {USB_VENDOR_ID_APPLE,USB_DEVICE_ID_APPLE_GEYSER3_ISO,HID_QUIRK_IGNORE}, {USB_VENDOR_ID_APPLE,USB_DEVICE_ID_APPLE_GEYSER3_JIS,HID_QUIRK_IGNORE}, {USB_VENDOR_ID_APPLE,0x020E,HID_QUIRK_IGNORE},
{USB_VENDOR_ID_APPLE,0x020F,HID_QUIRK_IGNORE},
{USB_VENDOR_ID_APPLE,0x030A,HID_QUIRK_IGNORE},
{USB_VENDOR_ID_APPLE,0x030B,HID_QUIRK_IGNORE},
Quoted 2 lines
however this did (and cannot) work, as the product id stands for both keyboard AND mouse.
You mean that the device has multiple HID interfaces, but only one of them should be ignored by usbhid and passed to appletouch? Then you probably need to add a new quirk flag to hiddev (patch completely untested):
---
From: Sergey Vlasov <[email protected]>
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.
drivers/usb/input/hid-core.c +3 -0
@@ -1872,6 +1872,9 @@ static struct hid_device *usb_hid_configif (quirks &HID_QUIRK_IGNORE )return NULL ; +if ((quirks &HID_QUIRK_IGNORE_MOUSE ) && + (interface->desc.bInterfaceProtocol ==USB_INTERFACE_PROTOCOL_MOUSE )) +return NULL ; if (usb_get_extra_descriptor(interface, HID_DT_HID, &hdesc) && (!interface->desc.bNumEndpoints ||
drivers/usb/input/hid.h +1 -0
@@ -260,6 +260,7 @@ struct hid_item {#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
Quoted 10 lines · Soeren Sonnenburg
Quoted 10 lines
Quoted 10 lines
Quoted 9 lines
Quoted 6 lines
I've noticed that the appletouch driver needs to be loaded *before* the usbhid driver to function. This is currently impossible when built into the kernel (and not modules). So I wonder how one can change the ordering of when the usb drivers are loaded.
Suggestions ?
Add a quirk to HID. Messing around with probing orders is not a sure thing.
Quoted 7 lines
Quoted 5 lines
Quoted 2 lines
what do you have in mind ? if appletouch is turned on ignore IDs that appear in appletouch ?
Yes, or even make it unconditional. There is a specific driver for a device. It exists for a reason.
OK, so I tried adding all of them to the
HID_QUIRK_IGNORELIST, i.e.
This, of course, cannot possibly work, as we discussed a month ago.
http://lkml.org/lkml/2006/10/1/18
So, you two are just beating a dead horse. It's time to write the code which identifies Apple devices and not try to ride a quirk.
-- Pete
Am Samstag, 28. Oktober 2006 20:14 schrieb Pete Zaitcev:
Quoted 7 lines
Quoted 1 line
OK, so I tried adding all of them to the
HID_QUIRK_IGNORELIST, i.e.This, of course, cannot possibly work, as we discussed a month ago.
http://lkml.org/lkml/2006/10/1/18So, you two are just beating a dead horse. It's time to write the code which identifies Apple devices and not try to ride a quirk.
No, this will need a quirk, just one that is more specific. Globally triggering on Apple won't do.
Regards
Oliver
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 10 lines
From: Sergey Vlasov <[email protected]>
Subject: usbhid: AddHID_QUIRK_IGNORE_MOUSEflagSome 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_IGNOREwill 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.
drivers/usb/input/hid-core.c +23 -0
@@ -1626,8 +1626,16 @@ #define USB_DEVICE_ID_LD_POWERCONTROL 0x#define USB_DEVICE_ID_LD_MACHINETEST 0x2040#define USB_VENDOR_ID_APPLE 0x05ac + +#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_MIGHTYMOUSE 0x0304 +#define USB_VENDOR_ID_CHERRY 0x046a#define USB_DEVICE_ID_CHERRY_CYMOTION 0x0023
@@ -1801,6 +1809,18 @@ static const struct hid_blacklist { { 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_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ISO, HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_JIS, HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ANSI, HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ISO, HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS, HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, 0x020E, HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, 0x020F, HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, 0x030A, HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, 0x030B, HID_QUIRK_IGNORE_MOUSE }, + + { USB_VENDOR_ID_PANJIT, 0x0001, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_PANJIT, 0x0002, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_PANJIT, 0x0003, HID_QUIRK_IGNORE },
@@ -1897,6 +1917,9 @@ static struct hid_device *usb_hid_configif (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 ||
drivers/usb/input/hid.h +1 -0
@@ -260,6 +260,7 @@ #define HID_QUIRK_CYMOTION 0x00000800#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
Quoted 4 lines · Oliver Neukum
Exactly. Combing both patches:
Soeren, if this works, please sign it off and send it to Greg.Signed-off-by Sergey Vlasov <[email protected]>
This looks good. However, the love of meaningless whitespace makes me uneasy. It sets us up for double-patching.
drivers/usb/input/hid-core.c #define USB_DEVICE_ID_LD_POWERCONTROL 0x · line 1640
Quoted 6 lines
drivers/usb/input/hid-core.c +2
-0+#define USB_DEVICE_ID_APPLE_GEYSER3_JIS 0x0219#define USB_DEVICE_ID_APPLE_MIGHTYMOUSE 0x0304 +#define USB_VENDOR_ID_CHERRY 0x046a#define USB_DEVICE_ID_CHERRY_CYMOTION 0x0023
-- Pete
Quoted 10 lines · Oliver Neukum
Quoted 9 lines
From: Sergey Vlasov <[email protected]>
Subject: usbhid: AddHID_QUIRK_IGNORE_MOUSEflagSome 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_IGNOREwill make hiddev ignore both interfaces, therefore a new quirk flag to ignore only the mouse interface is required.
Quoted 2 lines
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.
Signature · 2 lines
Sometimes, there's a moment as you're waking, when you become aware of the real world around you, but you're still dreaming.
drivers/usb/input/hid.h +1 -0
@@ -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
drivers/usb/input/hid-core.c +23 -10
@@ -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))) {
Quoted 10 lines · Soeren Sonnenburg
Quoted 9 lines · Oliver Neukum
Quoted 9 lines
From: Sergey Vlasov <[email protected]>
Subject: usbhid: AddHID_QUIRK_IGNORE_MOUSEflagSome 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_IGNOREwill make hiddev ignore both interfaces, therefore a new quirk flag to ignore only the mouse interface is required.
The appletouch driver doesn't work properly on the MacBook
(non-Pro). It claims the device, and sort of functions, but is basically unusable.
If this goes in, and blacklists the MacBook touchpad too, Macbook
users will be unhappy. I think the MacBook and the -Pro use the same IDs, though, which makes a problem for this patch until appletouch is fixed on MacBooks.
Quoted 8 lines
Quoted 2 lines
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.
Quoted 7 lines
But hey, it worked for me over the last hour on this mbp :-)) Please comment/apply.
Soeren.
Signed-off-by Soeren Sonnenburg <[email protected]>Signed-off-by Sergey Vlasov <[email protected]>
--
Joseph Fannin
[email protected]
Quoted 12 lines · Joseph Fannin
Quoted 10 lines · Soeren Sonnenburg
Quoted 9 lines · Oliver Neukum
Quoted 9 lines
From: Sergey Vlasov <[email protected]>
Subject: usbhid: AddHID_QUIRK_IGNORE_MOUSEflagSome 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_IGNOREwill make hiddev ignore both interfaces, therefore a new quirk flag to ignore only the mouse interface is required.
Quoted 8 lines
The appletouch driver doesn't work properly on the MacBook
(non-Pro). It claims the device, and sort of functions, but is basically unusable.If this goes in, and blacklists the MacBook touchpad too, Macbook
users will be unhappy. I think the MacBook and the -Pro use the same IDs, though, which makes a problem for this patch until appletouch is fixed on MacBooks.
Can you please be a bit more specific on this ? Other sites mention it works http://bbbart.ulyssis.be/gentoomacbook/ ... what are you missing ? Sensitivity and such can all be tweaked in xorg.conf ...
Soeren
Signature · 2 lines
Sometimes, there's a moment as you're waking, when you become aware of the real world oaround you, but you're still dreaming.
Quoted 17 lines · Soeren Sonnenburg
Quoted 16 lines · Joseph Fannin
Quoted 10 lines · Soeren Sonnenburg
Quoted 9 lines · Oliver Neukum
Quoted 9 lines
From: Sergey Vlasov <[email protected]>
Subject: usbhid: AddHID_QUIRK_IGNORE_MOUSEflagSome 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_IGNOREwill make hiddev ignore both interfaces, therefore a new quirk flag to ignore only the mouse interface is required.The appletouch driver doesn't work properly on the MacBook
(non-Pro). It claims the device, and sort of functions, but is basically unusable.
Quoted 8 lines
Quoted 4 lines
If this goes in, and blacklists the MacBook touchpad too, Macbook
users will be unhappy. I think the MacBook and the -Pro use the same IDs, though, which makes a problem for this patch until appletouch is fixed on MacBooks.Can you please be a bit more specific on this ? Other sites mention it works http://bbbart.ulyssis.be/gentoomacbook/ ... what are you missing ? Sensitivity and such can all be tweaked in xorg.conf ...
That's the first I've heard of it working on a vanilla MacBook.
I'm glad. I've only heard of failures before, some by people way smarter than me.
I wish I could whip out my 'Book and try it again, but it's away
for service. But here's what I do know:
Enabling the "dbg" parameter of the module produced output only
once, when I switched VTs to X and back quickly. The one time it did work, it dumped so much info to syslog it for all practical purposes locked the machine up, so I didn't learn much.
Printk's I added to the code that initializes absolute mode for
geiser3 did get printed, though.
I couldn't get debug events out of the driver in any other
situation, and I couldn't reproduce it.
The touchpad doesn't respond to any of the xorg.conf knobs, and
synclient doesn't detect any device. Yes, shm or whatever was enabled. (I've had a real synaptics pad working before, for what that's worth.)
Without the ability to tweak the settings, the tap-to-click
sensitivity was way too high, even for people who like that sort of thing, and the pointer speed lower than that of the hid driver, even with the GNOME mouse speed stuff turned all the way up.
All my attempts to enable side-scrolling and so on also failed.
Taken with all the other stuff, it seemed to be that the MacBook
touchpad was getting reset and so dropped out of absolute mode just as soon as the driver enabled it. The one time it actually produced absolute events, it was because the geiser3 init code won the race with whatever was resetting it, due to the quick switch to X and back to vgacon. It was at this point that I decided I was in *way* over my head.
Maybe it's a misconfiguration, or HAL doing something dumb to the
mouse device, and Gentoo dude didn't have HAL installed. Anyway, it looks like *someone* got it working. But lots of people have failed, and they're going to be unhappy when they upgrade their kernel and their trackpad starts behaving badly.
--
Joseph Fannin
[email protected]
Quoted 23 lines · Joseph Fannin
Quoted 22 lines · Soeren Sonnenburg
Quoted 20 lines · Joseph Fannin
Quoted 10 lines · Soeren Sonnenburg
Quoted 9 lines · Oliver Neukum
Quoted 9 lines
From: Sergey Vlasov <[email protected]>
Subject: usbhid: AddHID_QUIRK_IGNORE_MOUSEflagSome 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_IGNOREwill make hiddev ignore both interfaces, therefore a new quirk flag to ignore only the mouse interface is required.The appletouch driver doesn't work properly on the MacBook
(non-Pro). It claims the device, and sort of functions, but is basically unusable.If this goes in, and blacklists the MacBook touchpad too, Macbook
users will be unhappy. I think the MacBook and the -Pro use the same IDs, though, which makes a problem for this patch until appletouch is fixed on MacBooks.
Quoted 7 lines
Quoted 3 lines
Can you please be a bit more specific on this ? Other sites mention it works http://bbbart.ulyssis.be/gentoomacbook/ ... what are you missing ? Sensitivity and such can all be tweaked in xorg.conf ...
That's the first I've heard of it working on a vanilla MacBook.
I'm glad. I've only heard of failures before, some by people way smarter than me.
[lots of problems with the appletouch driver]
OK I am asking this on the mactel-linux list... Lets see if these problems are gone and I find some happy mb appletouch user...
In the worst case this patch could be a config option or will have to be kept separate.
Soeren.
Signature · 2 lines
Sometimes, there's a moment as you're waking, when you become aware of the real world around you, but you're still dreaming.
PATCH 1/1 usbhid quirks for macbook(pro) (was: Re: Fwd: Re: [linux-usb-devel] usb initialization order (usbhid vs. appletouch))
In reply to Joseph FanninQuoted 12 lines · Joseph Fannin
Quoted 10 lines · Soeren Sonnenburg
Quoted 9 lines · Oliver Neukum
Quoted 9 lines
From: Sergey Vlasov <[email protected]>
Subject: usbhid: AddHID_QUIRK_IGNORE_MOUSEflagSome 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_IGNOREwill make hiddev ignore both interfaces, therefore a new quirk flag to ignore only the mouse interface is required.
Quoted 8 lines
The appletouch driver doesn't work properly on the MacBook
(non-Pro). It claims the device, and sort of functions, but is basically unusable.If this goes in, and blacklists the MacBook touchpad too, Macbook
users will be unhappy. I think the MacBook and the -Pro use the same IDs, though, which makes a problem for this patch until appletouch is fixed on MacBooks.
ok, this patch was now in the mactel svn repository since about a month and I've never ever seen a report about it failing. Also I asked on the mailinglist for anyone having problems with that and got no answer, execpt Joseph, the problem you have been seeing might have been that one:
http://www.mail-archive.com/[email protected]/msg00129.html
I would therefore hope it can be applied and thus appear in .20. I am attaching the version that is now in mactel-svn (which also includes geyser4 support).
Soeren
Signature · 2 lines
Sometimes, there's a moment as you're waking, when you become aware of the real world around you, but you're still dreaming.
drivers/usb/input/hid-core.c +29 -11
@@ -1627,6 +1627,16 @@#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_GEYSER4_ANSI 0x021A +#define USB_DEVICE_ID_APPLE_GEYSER4_ISO 0x021B +#define USB_DEVICE_ID_APPLE_GEYSER4_JIS 0x021C +#define USB_DEVICE_ID_APPLE_IR 0x8240#define USB_VENDOR_ID_CHERRY 0x046a#define USB_DEVICE_ID_CHERRY_CYMOTION 0x0023
@@ -1794,17 +1804,21 @@ { 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 | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, - { 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 | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, - { USB_VENDOR_ID_APPLE, 0x0219, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, 0x021B, 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 | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, + { 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 | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE}, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ANSI, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE}, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_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 },
@@ -1903,6 +1917,10 @@if (quirks &HID_QUIRK_IGNORE )return NULL ; +if ((quirks &HID_QUIRK_IGNORE_MOUSE ) && + (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))) {
drivers/usb/input/hid.h +1 -0
@@ -261,6 +261,7 @@#define HID_QUIRK_POWERBOOK_FN_ON 0x00002000#define HID_QUIRK_INVERT_HWHEEL 0x00004000#define HID_QUIRK_POWERBOOK_ISO_KEYBOARD 0x00008000 +#define HID_QUIRK_IGNORE_MOUSE 0x00010000/* * This is the global environment of the parser. This information is
Re: [PATCH] usbhid quirks for macbook(pro) (was: Re: Fwd: Re: [linux-usb-devel] usb initialization order (usbhid vs. appletouch))
Quoted 11 lines · Soeren Sonnenburg
ok, this patch was now in the mactel svn repository since about a month and I've never ever seen a report about it failing. Also I asked on the mailinglist for anyone having problems with that and got no answer, execpt Joseph, the problem you have been seeing might have been that one:
http://www.mail-archive.com/[email protected]/msg00129.html
I would therefore hope it can be applied and thus appear in .20. I am attaching the version that is now in mactel-svn (which also includes geyser4 support).
I've since gotten my Macbook's trackpad working with the Appletouch
driver also, now, so make that no problems, please.
I don't know what the problems I was seeing were anymore, but I
think it was mostly the difficulty in getting it set up. I understand that this should help fix that, and wish I hadn't tried to hold it up!
--
Joseph Fannin
[email protected] | [email protected]
Re: [PATCH] usbhid quirks for macbook(pro) (was: Re: Fwd: Re: [linux-usb-devel] usb initialization order (usbhid vs. appletouch))
Quoted 14 lines · Joseph Fannin
Quoted 11 lines · Soeren Sonnenburg
ok, this patch was now in the mactel svn repository since about a month and I've never ever seen a report about it failing. Also I asked on the mailinglist for anyone having problems with that and got no answer, execpt Joseph, the problem you have been seeing might have been that one:
http://www.mail-archive.com/[email protected]/msg00129.html
I would therefore hope it can be applied and thus appear in .20. I am attaching the version that is now in mactel-svn (which also includes geyser4 support).
Quoted 6 lines
I've since gotten my Macbook's trackpad working with the Appletouch
driver also, now, so make that no problems, please.I don't know what the problems I was seeing were anymore, but I
think it was mostly the difficulty in getting it set up. I understand that this should help fix that, and wish I hadn't tried to hold it up!
Greg,
I've noticed that this patch is not in 2.6.20-rc1. Could you please comment on what is wrong with it / whether it will ever have a chance to be accepted in the way it is done ?
Thanks,
Soeren
Re: [PATCH] usbhid quirks for macbook(pro) (was: Re: Fwd: Re: [linux-usb-devel] usb initialization order (usbhid vs. appletouch))
Quoted 22 lines · Soeren Sonnenburg
Quoted 14 lines · Joseph Fannin
Quoted 11 lines · Soeren Sonnenburg
ok, this patch was now in the mactel svn repository since about a month and I've never ever seen a report about it failing. Also I asked on the mailinglist for anyone having problems with that and got no answer, execpt Joseph, the problem you have been seeing might have been that one:
http://www.mail-archive.com/[email protected]/msg00129.html
I would therefore hope it can be applied and thus appear in .20. I am attaching the version that is now in mactel-svn (which also includes geyser4 support).
Quoted 6 lines
I've since gotten my Macbook's trackpad working with the Appletouch
driver also, now, so make that no problems, please.I don't know what the problems I was seeing were anymore, but I
think it was mostly the difficulty in getting it set up. I understand that this should help fix that, and wish I hadn't tried to hold it up!
Quoted 5 lines
Greg,
I've noticed that this patch is not in 2.6.20-rc1. Could you please comment on what is wrong with it / whether it will ever have a chance to be accepted in the way it is done ?
It's in my queue right now, sorry. I'll catch up on it in a few hours.
thanks,
greg k-h
PATCH 1/1 usbhid quirks for macbook(pro) updated to 2.6.20-rc1
Quoted 3 lines · Greg KH
Quoted 2 lines · Soeren Sonnenburg
Quoted 1 line · Joseph Fannin
On Fri, 2006-12-08 at 18:19 +0100, Soeren Sonnenburg wrote:
[...]
Quoted 7 lines
Quoted 5 lines
Greg,
I've noticed that this patch is not in 2.6.20-rc1. Could you please comment on what is wrong with it / whether it will ever have a chance to be accepted in the way it is done ?
It's in my queue right now, sorry. I'll catch up on it in a few hours.
Please find attached a updated version of this patch (for kernel 2.6.20-rc1)
Soeren
Signature · 2 lines
Sometimes, there's a moment as you're waking, when you become aware of the real world around you, but you're still dreaming.
drivers/usb/input/hid-core.c +19 -13
@@ -772,6 +772,7 @@#define USB_DEVICE_ID_APPLE_GEYSER4_JIS 0x021c#define USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY 0x030a#define USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY 0x030b +#define USB_DEVICE_ID_APPLE_IR 0x8240#define USB_VENDOR_ID_CHERRY 0x046a#define USB_DEVICE_ID_CHERRY_CYMOTION 0x0023
@@ -942,19 +943,19 @@ { USB_VENDOR_ID_CHERRY, USB_DEVICE_ID_CHERRY_CYMOTION, HID_QUIRK_CYMOTION }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ANSI, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ISO, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ANSI, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_JIS, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ANSI, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ANSI, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ISO, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_JIS, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY, HID_QUIRK_POWERBOOK_HAS_FN }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ANSI, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, + { 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 | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, + { 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 | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ANSI, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_JIS, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, { USB_VENDOR_ID_PANJIT, 0x0001, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_PANJIT, 0x0002, HID_QUIRK_IGNORE },
@@ -1060,6 +1061,11 @@if (quirks &HID_QUIRK_IGNORE )return NULL ; +if ((quirks &HID_QUIRK_IGNORE_MOUSE ) && + (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))) {
include/linux/hid.h +1 -0
@@ -264,6 +264,7 @@#define HID_QUIRK_INVERT_HWHEEL 0x00004000#define HID_QUIRK_POWERBOOK_ISO_KEYBOARD 0x00008000#define HID_QUIRK_BAD_RELATIVE_KEYS 0x00010000 +#define HID_QUIRK_IGNORE_MOUSE 0x00020000/* * This is the global environment of the parser. This information is
PATCH 1/1 usbhid quirks for macbook(pro) updated to 2.6.20-rc6
Quoted 4 lines · Soeren Sonnenburg
Quoted 3 lines · Greg KH
Quoted 2 lines · Soeren Sonnenburg
Quoted 1 line · Joseph Fannin
On Fri, 2006-12-08 at 18:19 +0100, Soeren Sonnenburg wrote:
Quoted 8 lines
[...]
Quoted 7 lines
Quoted 5 lines
Greg,
I've noticed that this patch is not in 2.6.20-rc1. Could you please comment on what is wrong with it / whether it will ever have a chance to be accepted in the way it is done ?
It's in my queue right now, sorry. I'll catch up on it in a few hours.
This is the updated version for 2.6.20-rc6.
Soeren
Signature · 2 lines
Sometimes, there's a moment as you're waking, when you become aware of the real world around you, but you're still dreaming.
drivers/usb/input/hid-core.c +21 -13
@@ -777,6 +777,7 @@#define USB_DEVICE_ID_APPLE_GEYSER4_JIS 0x021c#define USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY 0x030a#define USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY 0x030b +#define USB_DEVICE_ID_APPLE_IR 0x8240#define USB_VENDOR_ID_CHERRY 0x046a#define USB_DEVICE_ID_CHERRY_CYMOTION 0x0023
@@ -954,19 +955,21 @@ { USB_VENDOR_ID_CHERRY, USB_DEVICE_ID_CHERRY_CYMOTION, HID_QUIRK_CYMOTION }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ANSI, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ISO, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ANSI, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_JIS, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ANSI, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ANSI, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_JIS, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY, HID_QUIRK_POWERBOOK_HAS_FN }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ANSI, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, + { 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 | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, + { 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 | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ANSI, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_JIS, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY, 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 },
@@ -1072,6 +1075,11 @@if (quirks &HID_QUIRK_IGNORE )return NULL ; +if ((quirks &HID_QUIRK_IGNORE_MOUSE ) && + (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))) {
include/linux/hid.h +1 -0
@@ -264,6 +264,7 @@#define HID_QUIRK_INVERT_HWHEEL 0x00004000#define HID_QUIRK_POWERBOOK_ISO_KEYBOARD 0x00008000#define HID_QUIRK_BAD_RELATIVE_KEYS 0x00010000 +#define HID_QUIRK_IGNORE_MOUSE 0x00020000/* * This is the global environment of the parser. This information is
Re: [PATCH] usbhid quirks for macbook(pro) updated to 2.6.20-rc6
Quoted 5 lines · Soeren Sonnenburg
Quoted 4 lines
Quoted 4 lines
Quoted 3 lines
I've noticed that this patch is not in 2.6.20-rc1. Could you please comment on what is wrong with it / whether it will ever have a chance to be accepted in the way it is done ?
It's in my queue right now, sorry. I'll catch up on it in a few hours.
This is the updated version for 2.6.20-rc6.
Greg,
do you have this already in your tree, or should I take it over?
Soeren - could you please submit your patch with proper Signed-off-by line?
Thanks,
Signature · 1 line
Jiri Kosina
Re: [PATCH] usbhid quirks for macbook(pro) updated to 2.6.20-rc6
Quoted 1 line · Jiri Kosina
On Sat, 27 Jan 2007, Soeren Sonnenburg wrote:
[...]
Quoted 2 lines
Soeren - could you please submit your patch with proper Signed-off-by line?
argh, sorry!
Attached!
Soeren
Signature · 2 lines
Sometimes, there's a moment as you're waking, when you become aware of the real world around you, but you're still dreaming.
drivers/usb/input/hid-core.c +21 -13
@@ -777,6 +777,7 @@#define USB_DEVICE_ID_APPLE_GEYSER4_JIS 0x021c#define USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY 0x030a#define USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY 0x030b +#define USB_DEVICE_ID_APPLE_IR 0x8240#define USB_VENDOR_ID_CHERRY 0x046a#define USB_DEVICE_ID_CHERRY_CYMOTION 0x0023
@@ -954,19 +955,21 @@ { USB_VENDOR_ID_CHERRY, USB_DEVICE_ID_CHERRY_CYMOTION, HID_QUIRK_CYMOTION }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ANSI, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ISO, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ANSI, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_JIS, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ANSI, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ANSI, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_JIS, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY, HID_QUIRK_POWERBOOK_HAS_FN }, - { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY, HID_QUIRK_POWERBOOK_HAS_FN }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ANSI, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, + { 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 | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, + { 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 | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ANSI, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE | HID_QUIRK_POWERBOOK_ISO_KEYBOARD}, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_JIS, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY, 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 },
@@ -1072,6 +1075,11 @@if (quirks &HID_QUIRK_IGNORE )return NULL ; +if ((quirks &HID_QUIRK_IGNORE_MOUSE ) && + (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))) {
include/linux/hid.h +1 -0
@@ -264,6 +264,7 @@#define HID_QUIRK_INVERT_HWHEEL 0x00004000#define HID_QUIRK_POWERBOOK_ISO_KEYBOARD 0x00008000#define HID_QUIRK_BAD_RELATIVE_KEYS 0x00010000 +#define HID_QUIRK_IGNORE_MOUSE 0x00020000/* * This is the global environment of the parser. This information is
Re: [PATCH] usbhid quirks for macbook(pro) updated to 2.6.20-rc6
In reply to Jiri KosinaQuoted 6 lines · Jiri Kosina
Quoted 5 lines
Quoted 4 lines
Quoted 4 lines
Quoted 3 lines
I've noticed that this patch is not in 2.6.20-rc1. Could you please comment on what is wrong with it / whether it will ever have a chance to be accepted in the way it is done ?
It's in my queue right now, sorry. I'll catch up on it in a few hours.
This is the updated version for 2.6.20-rc6.
do you have this already in your tree, or should I take it over?
I have checked that it doesn't seem to be in Greg's patchset, so I merged it into hid tree.
Thanks,
Signature · 1 line
Jiri Kosina
(sorry for the duplicate - the message was considered as spam by some servers due to local misconfiguration on my end)
On Sat, Oct 28, 2006 at 06:56:16PM +0200, Soeren Sonnenburg wrote:
[...]
Quoted 23 lines
OK, so I tried adding all of them to the
HID_QUIRK_IGNORELIST, i.e.#define
USB_DEVICE_ID_APPLE_GEYSER_ANSI0x0214
#defineUSB_DEVICE_ID_APPLE_GEYSER_ISO0x0215
#defineUSB_DEVICE_ID_APPLE_GEYSER_JIS0x0216#define USB_DEVICE_ID_APPLE_GEYSER3_ANSI 0x0217 #define USB_DEVICE_ID_APPLE_GEYSER3_ISO 0x0218 #define USB_DEVICE_ID_APPLE_GEYSER3_JIS 0x0219{
USB_VENDOR_ID_APPLE,USB_DEVICE_ID_APPLE_GEYSER_ANSI,HID_QUIRK_IGNORE}, {USB_VENDOR_ID_APPLE,USB_DEVICE_ID_APPLE_GEYSER_ISO,HID_QUIRK_IGNORE}, {USB_VENDOR_ID_APPLE,USB_DEVICE_ID_APPLE_GEYSER_JIS,HID_QUIRK_IGNORE}, {USB_VENDOR_ID_APPLE,USB_DEVICE_ID_APPLE_GEYSER3_ANSI,HID_QUIRK_IGNORE}, {USB_VENDOR_ID_APPLE,USB_DEVICE_ID_APPLE_GEYSER3_ISO,HID_QUIRK_IGNORE}, {USB_VENDOR_ID_APPLE,USB_DEVICE_ID_APPLE_GEYSER3_JIS,HID_QUIRK_IGNORE}, {USB_VENDOR_ID_APPLE,0x020E,HID_QUIRK_IGNORE},
{USB_VENDOR_ID_APPLE,0x020F,HID_QUIRK_IGNORE},
{USB_VENDOR_ID_APPLE,0x030A,HID_QUIRK_IGNORE},
{USB_VENDOR_ID_APPLE,0x030B,HID_QUIRK_IGNORE},
Quoted 2 lines
however this did (and cannot) work, as the product id stands for both keyboard AND mouse.
You mean that the device has multiple HID interfaces, but only one of them should be ignored by usbhid and passed to appletouch? Then you probably need to add a new quirk flag to hiddev (patch completely untested):
---
From: Sergey Vlasov <[email protected]>
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.
drivers/usb/input/hid-core.c +3 -0
@@ -1872,6 +1872,9 @@ static struct hid_device *usb_hid_configif (quirks &HID_QUIRK_IGNORE )return NULL ; +if ((quirks &HID_QUIRK_IGNORE_MOUSE ) && + (interface->desc.bInterfaceProtocol ==USB_INTERFACE_PROTOCOL_MOUSE )) +return NULL ; if (usb_get_extra_descriptor(interface, HID_DT_HID, &hdesc) && (!interface->desc.bNumEndpoints ||
drivers/usb/input/hid.h +1 -0
@@ -260,6 +260,7 @@ struct hid_item {#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