From: jbradford@dial.pipex.com
To: vojtech@suse.cz (Vojtech Pavlik)
Cc: tori@ringstrom.mine.nu, linux-kernel@vger.kernel.org
Subject: Re: 2.5.40: AT keyboard input problem
Date: Thu, 3 Oct 2002 13:42:02 +0100 (BST) [thread overview]
Message-ID: <200210031242.g93Cg3Uh000144@darkstar.example.net> (raw)
In-Reply-To: <20021003133157.A38397@ucw.cz> from "Vojtech Pavlik" at Oct 03, 2002 01:31:57 PM
>
> On Thu, Oct 03, 2002 at 12:34:15PM +0100, jbradford@dial.pipex.com wrote:
> > > On Thu, Oct 03, 2002 at 11:14:02AM +0100, jbradford@dial.pipex.com wrote:
> > > > >
> > > > > On Thu, Oct 03, 2002 at 09:36:05AM +0100, jbradford@dial.pipex.com wrote:
> > > > > > > While 2.5 has worked better than I hoped for so far, I do have a problem
> > > > > > > with the new input layer (I think) that is easily reproducible, and quite
> > > > > > > irritating.
> > > > > > >
> > > > > > > If I press and hold my left Alt key, press and release the right AltGr
> > > > > > > key, and then release the left Alt key, I get one of the following
> > > > > > > messages in dmesg:
> > > > > >
> > > > > > [snip]
> > > > > >
> > > > > > > The same thing happens for a few other combinations as well. I happens
> > > > > > > both in X and in the console.
> > > > > >
> > > > > > I am getting similar odd behavior with 2.5.40 and a Japanese keyboard.
> > > > > > Specifically, if I bang away at repeatedly on 't', 'h', '@', and ';', I
> > > > > > get unknown key messages in dmesg.
> > > > > >
> > > > > > I posted about this a while ago, but I don't think anybody noticed :-)
> > > > >
> > > > > Can you #define I8042_DEBUG_IO in i8042.h and send me the 'dmesg' output
> > > > > of the unknown key message and data around it?
> > > >
> > > > OK, that was fun - every time I managed to cause the error, by the time I'd
> > > > switched to another VT, and typed dmesg, it was flooded with other keypresses
> > > > :-). I should have used a serial terminal, but anyway, here goes:
> > > >
> > > > i8042.c: fa <- i8042 (interrupt, kbd, 1) [694909]
> > > > i8042.c: f0 -> i8042 (kbd-data) [694909]
> > > > i8042.c: fa <- i8042 (interrupt, kbd, 1) [694912]
> > > > i8042.c: 00 -> i8042 (kbd-data) [694912]
> > > > i8042.c: fa <- i8042 (interrupt, kbd, 1) [694915]
> > > > i8042.c: 41 <- i8042 (interrupt, kbd, 1) [694916]
> > > > input: AT Set 2 keyboard on isa0060/serio0
> > > > i8042.c: 94 <- i8042 (interrupt, kbd, 1) [694937]
> > > > i8042.c: a3 <- i8042 (interrupt, kbd, 1) [694943]
> > > > i8042.c: 38 <- i8042 (interrupt, kbd, 1) [696272]
> > > > i8042.c: 3d <- i8042 (interrupt, kbd, 1) [696372]
> > > > i8042.c: bd <- i8042 (interrupt, kbd, 1) [696440]
> > > > i8042.c: b8 <- i8042 (interrupt, kbd, 1) [696446]
> > > > i8042.c: 1c <- i8042 (interrupt, kbd, 1) [697112]
> > > >
> > > > This was in the syslog:
> > > >
> > > > Oct 3 10:54:59 darkstar kernel: atkbd.c: Unknown key (set 2, scancode 0x94, on isa0060/serio0) pressed.
> > >
> > > What's on the lines just before this one from i8042.c?
> >
> > Forget the above report, I've since done a more comprehensive one, (below):
>
> Yes, that one is perfect. Now some more tests to do with the keyboard:
>
> 1) The same with i8042_direct on the kernel command line.
OK, here is the dmesg output - I've cut out things not releating to the keyboard. This shows a boot followed by presses of - 'Henkaku/Zenkaku', '???', 'space', '???', and 'Hiragana/Romaji':
input: PC Speaker
i8042.c: 20 -> i8042 (command) [0]
i8042.c: 47 <- i8042 (return) [0]
i8042.c: 60 -> i8042 (command) [0]
i8042.c: 16 -> i8042 (parameter) [0]
i8042.c: d3 -> i8042 (command) [0]
i8042.c: 5a -> i8042 (parameter) [0]
i8042.c: a5 <- i8042 (return) [0]
i8042.c: a9 -> i8042 (command) [1]
i8042.c: 00 <- i8042 (return) [1]
i8042.c: a7 -> i8042 (command) [1]
i8042.c: 20 -> i8042 (command) [1]
i8042.c: 36 <- i8042 (return) [1]
i8042.c: a8 -> i8042 (command) [1]
i8042.c: 20 -> i8042 (command) [2]
i8042.c: 16 <- i8042 (return) [2]
i8042.c: 60 -> i8042 (command) [2]
i8042.c: 34 -> i8042 (parameter) [2]
i8042.c: 60 -> i8042 (command) [2]
i8042.c: 14 -> i8042 (parameter) [2]
i8042.c: 60 -> i8042 (command) [2]
i8042.c: 16 -> i8042 (parameter) [2]
i8042.c: d4 -> i8042 (command) [2]
i8042.c: ed -> i8042 (parameter) [2]
i8042.c: 60 -> i8042 (command) [56]
i8042.c: 14 -> i8042 (parameter) [56]
i8042.c: fe <- i8042 (interrupt, aux, 12, timeout) [57]
serio: i8042 AUX port at 0x60,0x64 irq 12
i8042.c: 60 -> i8042 (command) [57]
i8042.c: 04 -> i8042 (parameter) [57]
i8042.c: 60 -> i8042 (command) [57]
i8042.c: 05 -> i8042 (parameter) [57]
i8042.c: ed -> i8042 (kbd-data) [58]
i8042.c: fa <- i8042 (interrupt, kbd, 1) [61]
i8042.c: 00 -> i8042 (kbd-data) [61]
i8042.c: fa <- i8042 (interrupt, kbd, 1) [63]
i8042.c: f2 -> i8042 (kbd-data) [63]
i8042.c: fa <- i8042 (interrupt, kbd, 1) [66]
i8042.c: ab <- i8042 (interrupt, kbd, 1) [67]
i8042.c: 90 <- i8042 (interrupt, kbd, 1) [68]
i8042.c: f8 -> i8042 (kbd-data) [68]
i8042.c: fa <- i8042 (interrupt, kbd, 1) [71]
i8042.c: f4 -> i8042 (kbd-data) [71]
i8042.c: fa <- i8042 (interrupt, kbd, 1) [75]
i8042.c: ea -> i8042 (kbd-data) [75]
i8042.c: fe <- i8042 (interrupt, kbd, 1) [78]
i8042.c: f0 -> i8042 (kbd-data) [78]
i8042.c: fa <- i8042 (interrupt, kbd, 1) [81]
i8042.c: 02 -> i8042 (kbd-data) [81]
i8042.c: fa <- i8042 (interrupt, kbd, 1) [83]
i8042.c: f0 -> i8042 (kbd-data) [83]
i8042.c: fa <- i8042 (interrupt, kbd, 1) [86]
i8042.c: 00 -> i8042 (kbd-data) [86]
i8042.c: fa <- i8042 (interrupt, kbd, 1) [89]
i8042.c: 02 <- i8042 (interrupt, kbd, 1) [90]
input: AT Set 2 keyboard on isa0060/serio0
serio: i8042 KBD port at 0x60,0x64 irq 1
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 1024 buckets, 8Kbytes
TCP: Hash tables configured (established 8192 bind 8192)
ip_conntrack version 2.1 (1024 buckets, 8192 max) - 292 bytes per conntrack
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 224k freed
i8042.c: 00 <- i8042 (interrupt, kbd, 1) [138631]
atkbd.c: Unknown key (set 2, scancode 0x0, on isa0060/serio0) pressed.
i8042.c: 29 <- i8042 (interrupt, kbd, 1) [199889]
i8042.c: f0 <- i8042 (interrupt, kbd, 1) [199972]
i8042.c: 29 <- i8042 (interrupt, kbd, 1) [199974]
i8042.c: 29 <- i8042 (interrupt, kbd, 1) [200469]
i8042.c: f0 <- i8042 (interrupt, kbd, 1) [200554]
i8042.c: 29 <- i8042 (interrupt, kbd, 1) [200555]
i8042.c: 29 <- i8042 (interrupt, kbd, 1) [200922]
i8042.c: f0 <- i8042 (interrupt, kbd, 1) [201024]
i8042.c: 29 <- i8042 (interrupt, kbd, 1) [201025]
i8042.c: 29 <- i8042 (interrupt, kbd, 1) [201415]
i8042.c: f0 <- i8042 (interrupt, kbd, 1) [201516]
i8042.c: 29 <- i8042 (interrupt, kbd, 1) [201518]
> 2) The same with i8042_direct and atkbd_set=3 on the kernel command line.
>
> It may make the extra keyboards work and will definitely explain what's
> happening in greater detail.
Right, this one is interesting - same keypresses as above, and this time the keys work, (excellent :-) ), Henkaku/Zenkaku is mapped to backtick, (as expected, as I am using a Russian keymap), and the other extra keys are not mapped to anything, (again, as to be expected).
input: PC Speaker
i8042.c: 20 -> i8042 (command) [0]
i8042.c: 47 <- i8042 (return) [0]
i8042.c: 60 -> i8042 (command) [0]
i8042.c: 16 -> i8042 (parameter) [0]
i8042.c: d3 -> i8042 (command) [1]
i8042.c: 5a -> i8042 (parameter) [1]
i8042.c: a5 <- i8042 (return) [1]
i8042.c: a9 -> i8042 (command) [1]
i8042.c: 00 <- i8042 (return) [1]
i8042.c: a7 -> i8042 (command) [1]
i8042.c: 20 -> i8042 (command) [1]
i8042.c: 36 <- i8042 (return) [1]
i8042.c: a8 -> i8042 (command) [2]
i8042.c: 20 -> i8042 (command) [2]
i8042.c: 16 <- i8042 (return) [2]
i8042.c: 60 -> i8042 (command) [2]
i8042.c: 34 -> i8042 (parameter) [2]
i8042.c: 60 -> i8042 (command) [2]
i8042.c: 14 -> i8042 (parameter) [2]
i8042.c: 60 -> i8042 (command) [3]
i8042.c: 16 -> i8042 (parameter) [3]
i8042.c: d4 -> i8042 (command) [3]
i8042.c: ed -> i8042 (parameter) [3]
i8042.c: 60 -> i8042 (command) [56]
i8042.c: 14 -> i8042 (parameter) [56]
i8042.c: fe <- i8042 (interrupt, aux, 12, timeout) [57]
serio: i8042 AUX port at 0x60,0x64 irq 12
i8042.c: 60 -> i8042 (command) [58]
i8042.c: 04 -> i8042 (parameter) [58]
i8042.c: 60 -> i8042 (command) [58]
i8042.c: 05 -> i8042 (parameter) [58]
i8042.c: ed -> i8042 (kbd-data) [58]
i8042.c: fa <- i8042 (interrupt, kbd, 1) [61]
i8042.c: 00 -> i8042 (kbd-data) [61]
i8042.c: fa <- i8042 (interrupt, kbd, 1) [63]
i8042.c: f2 -> i8042 (kbd-data) [63]
i8042.c: fa <- i8042 (interrupt, kbd, 1) [66]
i8042.c: ab <- i8042 (interrupt, kbd, 1) [67]
i8042.c: 90 <- i8042 (interrupt, kbd, 1) [68]
i8042.c: f8 -> i8042 (kbd-data) [68]
i8042.c: fa <- i8042 (interrupt, kbd, 1) [71]
i8042.c: f4 -> i8042 (kbd-data) [71]
i8042.c: fa <- i8042 (interrupt, kbd, 1) [75]
i8042.c: ea -> i8042 (kbd-data) [75]
i8042.c: fe <- i8042 (interrupt, kbd, 1) [78]
i8042.c: f0 -> i8042 (kbd-data) [78]
i8042.c: fa <- i8042 (interrupt, kbd, 1) [81]
i8042.c: 03 -> i8042 (kbd-data) [81]
i8042.c: fa <- i8042 (interrupt, kbd, 1) [83]
i8042.c: f0 -> i8042 (kbd-data) [83]
i8042.c: fa <- i8042 (interrupt, kbd, 1) [86]
i8042.c: 00 -> i8042 (kbd-data) [86]
i8042.c: fa <- i8042 (interrupt, kbd, 1) [89]
i8042.c: 03 <- i8042 (interrupt, kbd, 1) [90]
input: AT Set 3 keyboard on isa0060/serio0
serio: i8042 KBD port at 0x60,0x64 irq 1
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 1024 buckets, 8Kbytes
TCP: Hash tables configured (established 8192 bind 8192)
ip_conntrack version 2.1 (1024 buckets, 8192 max) - 292 bytes per conntrack
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 224k freed
i8042.c: 0e <- i8042 (interrupt, kbd, 1) [37041]
i8042.c: f0 <- i8042 (interrupt, kbd, 1) [37142]
i8042.c: 0e <- i8042 (interrupt, kbd, 1) [37143]
i8042.c: 85 <- i8042 (interrupt, kbd, 1) [41289]
atkbd.c: Unknown key (set 3, scancode 0x85, on isa0060/serio0) pressed.
i8042.c: f0 <- i8042 (interrupt, kbd, 1) [41382]
i8042.c: 85 <- i8042 (interrupt, kbd, 1) [41384]
atkbd.c: Unknown key (set 3, scancode 0x85, on isa0060/serio0) released.
i8042.c: 29 <- i8042 (interrupt, kbd, 1) [42385]
i8042.c: f0 <- i8042 (interrupt, kbd, 1) [42478]
i8042.c: 29 <- i8042 (interrupt, kbd, 1) [42480]
i8042.c: 86 <- i8042 (interrupt, kbd, 1) [43519]
atkbd.c: Unknown key (set 3, scancode 0x86, on isa0060/serio0) pressed.
i8042.c: f0 <- i8042 (interrupt, kbd, 1) [43596]
i8042.c: 86 <- i8042 (interrupt, kbd, 1) [43598]
atkbd.c: Unknown key (set 3, scancode 0x86, on isa0060/serio0) released.
i8042.c: 87 <- i8042 (interrupt, kbd, 1) [45273]
atkbd.c: Unknown key (set 3, scancode 0x87, on isa0060/serio0) pressed.
i8042.c: f0 <- i8042 (interrupt, kbd, 1) [45366]
i8042.c: 87 <- i8042 (interrupt, kbd, 1) [45367]
atkbd.c: Unknown key (set 3, scancode 0x87, on isa0060/serio0) released.
Interestingly, I wasn't able to reproduce the bashing multiple keys error, using i8042_direct or atkbd_set=3.
John.
next prev parent reply other threads:[~2002-10-03 12:28 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-03 6:59 2.5.40: AT keyboard input problem Tobias Ringstrom
2002-10-03 7:15 ` DevilKin
2002-10-03 8:36 ` jbradford
2002-10-03 8:48 ` Vojtech Pavlik
2002-10-03 10:14 ` jbradford
2002-10-03 10:13 ` Vojtech Pavlik
2002-10-03 11:34 ` jbradford
2002-10-03 11:31 ` Vojtech Pavlik
2002-10-03 12:42 ` jbradford [this message]
2002-10-03 12:43 ` Vojtech Pavlik
2002-10-03 13:20 ` jbradford
2002-10-03 13:17 ` Vojtech Pavlik
2002-10-03 13:40 ` Vojtech Pavlik
2002-10-03 13:44 ` Bruce Harada
2002-10-03 17:43 ` Andries Brouwer
2002-10-03 8:47 ` Vojtech Pavlik
2002-10-03 12:08 ` Tobias Ringstrom
2002-10-03 12:10 ` Vojtech Pavlik
2002-10-03 12:28 ` Tobias Ringstrom
2002-10-03 12:31 ` Vojtech Pavlik
[not found] ` <Pine.LNX.4.44.0210031442500.14559-100000@boris.prodako.se>
2002-10-07 12:31 ` Vojtech Pavlik
2002-10-03 12:48 ` Jon Portnoy
2002-10-03 12:51 ` Vojtech Pavlik
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=200210031242.g93Cg3Uh000144@darkstar.example.net \
--to=jbradford@dial.pipex.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tori@ringstrom.mine.nu \
--cc=vojtech@suse.cz \
/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