public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Carl Nygard <cjnygard@fast.net>
To: Andries Brouwer <aebr@win.tue.nl>
Cc: linux-kernel@vger.kernel.org
Subject: Re: PROBLEM: keyboard shift not registered under fast typing or auto-repeat
Date: 29 Aug 2003 19:56:22 -0400	[thread overview]
Message-ID: <1062201326.14320.117.camel@finland> (raw)
In-Reply-To: <20030827125056.A1854@pclin040.win.tue.nl>

On Wed, 2003-08-27 at 06:50, Andries Brouwer wrote:
> On Tue, Aug 26, 2003 at 08:38:50PM -0400, Carl Nygard wrote:
> 

Thanks for the pointers.  I was about to argue about what proper
behavior is, between what I see on my desktop 2.4.20 (RH9) and laptop
2.6.0, but then I saw what WinXP does, and some things clicked
irrelevant.  Anyway, thanks for the info...
> 
> > Kernel doesn't register shift state when typing quickly.  Example, 'ls
> > *' shows up as 'ls 8' when typed fast.  Also, holding '-' key down, once
> > it's repeating, shift key makes no difference.
> 
> So, the first part of what you say, when true, would be a bug.
> But a bug difficult to distinguish from a finger coordination error.
> The second part is correct behaviour.

I don't believe any of this is coordination errors.  Shown below is a
log of some debug I added to my kernel (2.6.0-test4).  I put debug stmt
at the very top of input.c, before any possible return; and also in all
the relevant if(...){ ...; return; } blocks in keyboard.c, as well as
one or two general info statements in keyboard.c  (if you need to see
where, I'll post my patch, but I doubt it's necessary)

Here's the log, I did 'tail -f messages' and then typed 'ls <shift>8' in
the window, so it's obvious at what point I'm typing:

Please note the bad version doesn't receive any notice of the shift-down
event, but gets the shift-up event, proving that I really did press
it;)  The good version gets shift-down and shift-up properly.

My question: Is there anywhere else I can look, perhaps the code which
calls input.c::input_event()?  Or is this potentially a hardware problem
(i.e. should I return my laptop, because this is too d*mn annoying)?

Thanks for the help
Regards,
Carl



Typing quickly: 

lAug 29 15:54:34 traveler kernel: input.c: type: 1 code: 38:0x26 value: 1
Aug 29 15:54:34 traveler kernel: keyboard.c: shift_final: 0
Aug 29 15:54:34 traveler kernel: keyboard.c: raw_mode(1) && type(11) != KT_SPEC(2) && type != KT_SHIFT(7))
Aug 29 15:54:34 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
s 8Aug 29 15:54:34 traveler kernel: input.c: type: 1 code: 31:0x1f value: 1
Aug 29 15:54:34 traveler kernel: keyboard.c: shift_final: 0
Aug 29 15:54:34 traveler kernel: keyboard.c: raw_mode(1) && type(11) != KT_SPEC(2) && type != KT_SHIFT(7))
Aug 29 15:54:34 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
Aug 29 15:54:34 traveler kernel: input.c: type: 1 code: 38:0x26 value: 0
Aug 29 15:54:34 traveler kernel: keyboard.c: shift_final: 0
Aug 29 15:54:34 traveler kernel: keyboard.c: raw_mode(1) && type(11) != KT_SPEC(2) && type != KT_SHIFT(7))
Aug 29 15:54:34 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
Aug 29 15:54:34 traveler kernel: input.c: type: 1 code: 31:0x1f value: 0
Aug 29 15:54:34 traveler kernel: keyboard.c: shift_final: 0
Aug 29 15:54:34 traveler kernel: keyboard.c: raw_mode(1) && type(11) != KT_SPEC(2) && type != KT_SHIFT(7))
Aug 29 15:54:34 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
Aug 29 15:54:34 traveler kernel: input.c: type: 1 code: 57:0x39 value: 1
Aug 29 15:54:34 traveler kernel: keyboard.c: shift_final: 0
Aug 29 15:54:34 traveler kernel: keyboard.c: raw_mode(1) && type(0) != KT_SPEC(2) && type != KT_SHIFT(7))
Aug 29 15:54:34 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
Aug 29 15:54:34 traveler kernel: input.c: type: 1 code: 57:0x39 value: 0
Aug 29 15:54:34 traveler kernel: keyboard.c: shift_final: 0
Aug 29 15:54:34 traveler kernel: keyboard.c: raw_mode(1) && type(0) != KT_SPEC(2) && type != KT_SHIFT(7))
Aug 29 15:54:34 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
Aug 29 15:54:34 traveler kernel: input.c: type: 1 code: 9:0x9 value: 1
Aug 29 15:54:34 traveler kernel: keyboard.c: shift_final: 0
Aug 29 15:54:34 traveler kernel: keyboard.c: raw_mode(1) && type(0) != KT_SPEC(2) && type != KT_SHIFT(7))
Aug 29 15:54:34 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
Aug 29 15:54:34 traveler kernel: input.c: type: 1 code: 9:0x9 value: 0
Aug 29 15:54:34 traveler kernel: keyboard.c: shift_final: 0
Aug 29 15:54:34 traveler kernel: keyboard.c: raw_mode(1) && type(0) != KT_SPEC(2) && type != KT_SHIFT(7))
Aug 29 15:54:34 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
Aug 29 15:54:34 traveler kernel: input.c: type: 1 code: 54:0x36 value: 0
     ## ^--- Shift-up event
Aug 29 15:54:34 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
Aug 29 15:54:39 traveler kernel: input.c: type: 1 code: 29:0x1d value: 1
Aug 29 15:54:39 traveler kernel: keyboard.c: shift_final: 0
                                                                                                                
typing slower, at least making sure the space <shift> are separated.

lsAug 29 15:55:07 traveler kernel: input.c: type: 1 code: 28:0x1c value: 0
Aug 29 15:55:07 traveler kernel: keyboard.c: shift_final: 0
Aug 29 15:55:07 traveler kernel: keyboard.c: handling keycode: 28 keysym 61953/1 down: 0
Aug 29 15:55:07 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
Aug 29 15:55:08 traveler kernel: input.c: type: 1 code: 38:0x26 value: 1
Aug 29 15:55:08 traveler kernel: keyboard.c: shift_final: 0
Aug 29 15:55:08 traveler kernel: keyboard.c: raw_mode(1) && type(11) != KT_SPEC(2) && type != KT_SHIFT(7))
Aug 29 15:55:08 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
Aug 29 15:55:08 traveler kernel: input.c: type: 1 code: 31:0x1f value: 1
Aug 29 15:55:08 traveler kernel: keyboard.c: shift_final: 0
Aug 29 15:55:08 traveler kernel: keyboard.c: raw_mode(1) && type(11) != KT_SPEC(2) && type != KT_SHIFT(7))
Aug 29 15:55:08 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
Aug 29 15:55:08 traveler kernel: input.c: type: 1 code: 38:0x26 value: 0
Aug 29 15:55:08 traveler kernel: keyboard.c: shift_final: 0
Aug 29 15:55:08 traveler kernel: keyboard.c: raw_mode(1) && type(11) != KT_SPEC(2) && type != KT_SHIFT(7))
Aug 29 15:55:08 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
 *Aug 29 15:55:08 traveler kernel: input.c: type: 1 code: 31:0x1f value: 0
Aug 29 15:55:08 traveler kernel: keyboard.c: shift_final: 0
Aug 29 15:55:08 traveler kernel: keyboard.c: raw_mode(1) && type(11) != KT_SPEC(2) && type != KT_SHIFT(7))
Aug 29 15:55:08 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
Aug 29 15:55:08 traveler kernel: input.c: type: 1 code: 57:0x39 value: 1
Aug 29 15:55:08 traveler kernel: keyboard.c: shift_final: 0
Aug 29 15:55:08 traveler kernel: keyboard.c: raw_mode(1) && type(0) != KT_SPEC(2) && type != KT_SHIFT(7))
Aug 29 15:55:08 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
Aug 29 15:55:08 traveler kernel: input.c: type: 1 code: 57:0x39 value: 0
Aug 29 15:55:08 traveler kernel: keyboard.c: shift_final: 0
Aug 29 15:55:08 traveler kernel: keyboard.c: raw_mode(1) && type(0) != KT_SPEC(2) && type != KT_SHIFT(7))
Aug 29 15:55:08 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
Aug 29 15:55:08 traveler kernel: input.c: type: 1 code: 54:0x36 value: 1
    ## ^---- Shift-down event
Aug 29 15:55:08 traveler kernel: keyboard.c: shift_final: 0
Aug 29 15:55:08 traveler kernel: keyboard.c: handling keycode: 54 keysym 63232/0 down: 1
Aug 29 15:55:08 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
Aug 29 15:55:09 traveler kernel: input.c: type: 1 code: 9:0x9 value: 1
Aug 29 15:55:09 traveler kernel: keyboard.c: shift_final: 1
Aug 29 15:55:09 traveler kernel: keyboard.c: raw_mode(1) && type(0) != KT_SPEC(2) && type != KT_SHIFT(7))
Aug 29 15:55:09 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
Aug 29 15:55:09 traveler kernel: input.c: type: 1 code: 9:0x9 value: 0
Aug 29 15:55:09 traveler kernel: keyboard.c: shift_final: 1
Aug 29 15:55:09 traveler kernel: keyboard.c: raw_mode(1) && type(0) != KT_SPEC(2) && type != KT_SHIFT(7))
Aug 29 15:55:09 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
Aug 29 15:55:09 traveler kernel: input.c: type: 1 code: 54:0x36 value: 0
    ## ^---- Shift-up event
Aug 29 15:55:09 traveler kernel: keyboard.c: shift_final: 1
Aug 29 15:55:09 traveler kernel: keyboard.c: handling keycode: 54 keysym 63232/0 down: 0
Aug 29 15:55:09 traveler kernel: input.c: type: 0 code: 0:0x0 value: 0
                                                                                                                

-- 
Carl Nygard <cjnygard@fast.net>


  reply	other threads:[~2003-08-30  0:14 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-27  0:38 PROBLEM: keyboard shift not registered under fast typing or auto-repeat Carl Nygard
2003-08-27 10:50 ` Andries Brouwer
2003-08-29 23:56   ` Carl Nygard [this message]
2003-08-30 20:15     ` Andries Brouwer
2003-08-31  5:03       ` Carl Nygard

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=1062201326.14320.117.camel@finland \
    --to=cjnygard@fast.net \
    --cc=aebr@win.tue.nl \
    --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