All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ralf Hildebrandt <Ralf.Hildebrandt@charite.de>
To: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] keyboard - was: Re: Linux 2.6.0-test4
Date: Tue, 2 Sep 2003 07:39:03 +0200	[thread overview]
Message-ID: <20030902053903.GD25927@charite.de> (raw)
In-Reply-To: <20030902021603.A1167@pclin040.win.tue.nl>

* Andries Brouwer <aebr@win.tue.nl>:

> > * Chris Heath <chris@heathens.co.nz>:
> > > > Aug 27 18:53:41 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> > > > Aug 27 19:15:14 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0xb9, on isa0060/serio0) pressed.
> > > > Aug 27 19:42:50 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> > > > Aug 28 10:14:14 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> > > > 
> > > > Basically, CTRL was stuck. Even when I switched to X11.
> > > 
> > > Well, this completely baffles me.  I thought X11 maintains its own
> > > keydown array.
> 
> It can do that only when it gets uncontaminated data.
> 
> > I applied your patch, and alas:
> > 
> > Sep  1 16:12:19 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0xb9, on isa0060/serio0) pressed.
> > Sep  1 16:12:19 hummus2 kernel: i8042 history: ae 9d e0 48 e0 c8 e0 38 56 d6 e0 b8 e0 b8 39 b9
> 
> I don't know why you say "alas". I read (two key releases, then)
> press UpArrow, release UpArrow, RAlt, some key, release some key, release RAlt,
> funny: again release RAlt, press space bar, release space bar.

This must a known bug of this particular keyboard.

> So, nothing "Unknown" about this 0xb9 key - it is the spacebar release.
> 
> But i8042.c will do an unxlate when it thinks the key is down, so it
> did not think so. But we saw the key down a moment ago. Apparently
> the line
> 
> 	set_bit(data | (i8042_last_e0 << 7), i8042_unxlate_seen);
> 
> did not set i8042_unxlate_seen for data = 0x39. And it is clear why:
> The sequence e0 b8 e0 b8 is a repetition, the second e0 sets i8042_last_e0,
> but after the second b8 we bail out without clearing i8042_last_e0 again.
> *BUG*.
> 
> Conclusion: in the skipped double release case we must clear i8042_last_e0.
> 
> Andries
> 
> Vojtech: Note: 1 line should be added in i8042.c:i8042_interrupt().
> [A stopgap - in fact all this i8042_unxlate_seen stuff should be ripped out.]
> 
> --- serio/i8042.c~      Sat Aug  9 22:16:42 2003
> +++ serio/i8042.c       Tue Sep  2 03:09:12 2003
> @@ -410,6 +410,7 @@
>                         /* work around hardware that doubles key releases */
>                         if (index == i8042_last_release) {
>                                 dbg("i8042 skipped double release (%d)\n", index);
> +                               i8042_last_e0 = 0;
>                                 continue;
>                         }
>                         if (index == 0xaa || index == 0xb6)

-- 
Ralf Hildebrandt (Im Auftrag des Referat V a)   Ralf.Hildebrandt@charite.de
Charite Campus Mitte                            Tel.  +49 (0)30-450 570-155
Referat V a - Kommunikationsnetze -             Fax.  +49 (0)30-450 570-916
AIM: ralfpostfix

  reply	other threads:[~2003-09-02  5:39 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-31 16:22 Re:Re: Linux 2.6.0-test4 Chris Heath
2003-09-01 16:01 ` Ralf Hildebrandt
2003-09-02  0:16   ` [PATCH] keyboard - was: " Andries Brouwer
2003-09-02  5:39     ` Ralf Hildebrandt [this message]
2003-09-02  8:07 ` Ralf Hildebrandt
2003-09-02 10:47   ` keyboard - was: " Andries Brouwer
2003-09-02 11:18     ` Ralf Hildebrandt
2003-09-02 12:32     ` Ralf Hildebrandt
2003-09-02 21:41       ` Andries Brouwer
2003-09-03  7:45         ` Ralf Hildebrandt
2003-09-03 13:25         ` Ralf Hildebrandt

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=20030902053903.GD25927@charite.de \
    --to=ralf.hildebrandt@charite.de \
    --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 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.