From: Vojtech Pavlik <vojtech@suse.cz>
To: linux-kernel@vger.kernel.org, Alan Cox <laughing@shared-source.org>
Subject: Re: USB mouse wheel breakage was Re: Linux 2.4.5-ac5
Date: Fri, 1 Jun 2001 16:31:10 +0200 [thread overview]
Message-ID: <20010601163110.A2525@suse.cz> (raw)
In-Reply-To: <20010530213039.A25251@lightning.swansea.linux.org.uk> <20010601105717.A2468@debian>
In-Reply-To: <20010601105717.A2468@debian>; from leahcim@ntlworld.com on Fri, Jun 01, 2001 at 10:57:17AM +0100
[-- Attachment #1: Type: text/plain, Size: 1135 bytes --]
On Fri, Jun 01, 2001 at 10:57:17AM +0100, Michael wrote:
> On Wed, May 30, 2001 at 09:30:39PM +0100, Alan Cox wrote:
> > 2.4.5-ac4
> > o Update USB hid drivers (Vojtech Pavlik)
>
> I think these changes have broken my USB wheel mouse.
>
> Events seems to be getting lost (/dev/input/mice)
>
> It only scrolls when either the scroll direction has changed or if other
> mouse events occur (e.g. you need to wiggle mouse from side to side to
> scroll down a long page in mozilla)
>
> problems seems to be in drivers/usb/hid-core.c hid_input_field line 772
>
> for (n = 0; n < count; n++) {
>
> if (HID_MAIN_ITEM_VARIABLE & field->flags) {
>
> if ((field->flags & HID_MAIN_ITEM_RELATIVE) && !value[n])
> continue;
> The next 2 lines are dropping the scroll wheel events (which appear in the
> input code as type:2, code: 8, value -1 or 1 depending on direction)
>
> if (value[n] == field->value[n])
> continue;
> hid_process_event(hid, field, &field->usage[n], value[n]);
> continue;
> }
Thanks for the detailed report.
Here is the fix.
Alan, please apply this to -ac5.
--
Vojtech Pavlik
SuSE Labs
[-- Attachment #2: hid.fix.diff --]
[-- Type: text/plain, Size: 513 bytes --]
diff -urN linux-2.4.5-ac4/drivers/usb/hid-core.c linux/drivers/usb/hid-core.c
--- linux-2.4.5-ac4/drivers/usb/hid-core.c Tue May 29 19:48:15 2001
+++ linux/drivers/usb/hid-core.c Fri Jun 1 16:30:33 2001
@@ -775,7 +775,7 @@
if ((field->flags & HID_MAIN_ITEM_RELATIVE) && !value[n])
continue;
- if (value[n] == field->value[n])
+ if ((~field->flags & HID_MAIN_ITEM_RELATIVE) && value[n] == field->value[n])
continue;
hid_process_event(hid, field, &field->usage[n], value[n]);
continue;
prev parent reply other threads:[~2001-06-04 9:13 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-05-30 20:30 Linux 2.4.5-ac5 Alan Cox
2001-05-30 22:07 ` J . A . Magallon
2001-06-01 9:57 ` USB mouse wheel breakage was " Michael
2001-06-01 12:43 ` Robert M. Love
2001-06-01 21:32 ` Robert M. Love
2001-06-02 20:53 ` Michael
2001-06-04 9:31 ` Vojtech Pavlik
2001-06-01 14:31 ` Vojtech Pavlik [this message]
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=20010601163110.A2525@suse.cz \
--to=vojtech@suse.cz \
--cc=laughing@shared-source.org \
--cc=linux-kernel@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox