lkml.org 
[lkml]   [2003]   [Aug]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: PROBLEM: keyboard shift not registered under fast typing or auto-repeat
On Tue, Aug 26, 2003 at 08:38:50PM -0400, Carl Nygard wrote:

> Summary: Keyboard shift state not registered under fast typing or
> autorepeat
>
> If someone can help point me where to look at the code, I've already
> looked into ./drivers/char/keyboard.c but didn't see anything obvious.
> More specific help would be appreciated.

You must look at input/input.c at occurrences of repeat_key.
(And afterwards at char/keyboard.c at kbd_event, kbd_keycode.)

You'll see that the current 2.6 code ignores a lot of what the keyboard
is telling us and synthesizes its own events.

What happens in your autorepeat case:
- Press a key, repeat_key is set to its keycode.
If you keep it pressed then the keyboard repeats are ignored,
but the kernel generates its own repeats using a timer.
- Press Shift, repeat_key is set to its keycode.
Now the timer repeat generates repeats of the Shift-down event,
but that does not generate keyboard input.

But in your autorepeat case the kernel does precisely what the
keyboard also would have done: repeat the last key that was pressed.
Also the hardware keyboard does not send anything after Press A,
Press Shift, Release Shift.

Incidentally, both add_keyboard_randomness() and add_mouse_randomness()
are called - we invent more randomness than one might have thought
at first.

Andries


> 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.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:48    [W:0.088 / U:0.416 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site