From: Vojtech Pavlik <vojtech@suse.cz>
To: Jurriaan <thunder7@xs4all.nl>
Cc: linux-kernel@vger.kernel.org, vojtech@suse.cz
Subject: Re: keyboard repeat speed went nuts since 2.6.0-test5, even in 2.6.0-test6-mm4
Date: Tue, 7 Oct 2003 22:40:56 +0200 [thread overview]
Message-ID: <20031007204056.GB20844@ucw.cz> (raw)
In-Reply-To: <20031007203316.GA1719@middle.of.nowhere>
[-- Attachment #1: Type: text/plain, Size: 1071 bytes --]
On Tue, Oct 07, 2003 at 10:33:16PM +0200, Jurriaan wrote:
> I like my keyboard fast (must be from playing a lot of angband).
>
> In 2.6.0-test5, after '/sbin/kbdrate -r 30 -d 250', I get some 2000
> characters in a minute (pressing n continuously, stopwatch in hand).
> In 2.6.0-test6 and 2.6.0-test6-mm4, after '/sbin/kbdrate -r 30 -d 250',
> I get some 820 characters in a minute.
>
> 30 cps != 800/60 s, that's more like half that rate.
>
> Booting with or without atkbd_softrepeat=1 on the kernel commandline
> makes no difference at all.
It's a bug. I have a fix, it went through LKML already, but Linus
didn't merge it yet. I'll be resending it.
> It's not only the repeat-speed that has gone down, the delay before
> repeat kicks in is notably slower as well. This is perhaps even more
> frustrating, but harder to measure :-(
>
> This is on a plain Chicony KB-7903 PS/2 keyboard. It is connected via a
> Vista Rose KVM to a VIA KT400 chipset motherboard.
>
> Any patches to test are very welcome here.
Fix attached.
--
Vojtech Pavlik
SuSE Labs, SuSE CR
[-- Attachment #2: kbdrate-fix --]
[-- Type: text/plain, Size: 1933 bytes --]
You can pull this changeset from:
bk://kernel.bkbits.net/vojtech/input
===================================================================
ChangeSet@1.1386, 2003-09-29 17:00:25+02:00, vojtech@suse.cz
input: Fix AT keyboard repeat rate setting, also make rate selection
in finer steps.
atkbd.c | 19 ++++++++++---------
1 files changed, 10 insertions(+), 9 deletions(-)
===================================================================
diff -Nru a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
--- a/drivers/input/keyboard/atkbd.c Mon Sep 29 17:16:17 2003
+++ b/drivers/input/keyboard/atkbd.c Mon Sep 29 17:16:17 2003
@@ -370,10 +370,11 @@
static int atkbd_event(struct input_dev *dev, unsigned int type, unsigned int code, int value)
{
struct atkbd *atkbd = dev->private;
- struct { int p; u8 v; } period[] =
- { {30, 0x00}, {25, 0x02}, {20, 0x04}, {15, 0x08}, {10, 0x0c}, {7, 0x10}, {5, 0x14}, {0, 0x14} };
- struct { int d; u8 v; } delay[] =
- { {1000, 0x60}, {750, 0x40}, {500, 0x20}, {250, 0x00}, {0, 0x00} };
+ const short period[32] =
+ { 33, 37, 42, 46, 50, 54, 58, 63, 67, 75, 83, 92, 100, 109, 116, 125,
+ 133, 149, 167, 182, 200, 217, 232, 250, 270, 303, 333, 370, 400, 435, 470, 500 };
+ const short delay[4] =
+ { 250, 500, 750, 1000 };
char param[2];
int i, j;
@@ -407,11 +408,11 @@
if (atkbd_softrepeat) return 0;
i = j = 0;
- while (period[i].p > dev->rep[REP_PERIOD]) i++;
- while (delay[j].d > dev->rep[REP_DELAY]) j++;
- dev->rep[REP_PERIOD] = period[i].p;
- dev->rep[REP_DELAY] = delay[j].d;
- param[0] = period[i].v | delay[j].v;
+ while (i < 32 && period[i] < dev->rep[REP_PERIOD]) i++;
+ while (j < 4 && delay[j] < dev->rep[REP_DELAY]) j++;
+ dev->rep[REP_PERIOD] = period[i];
+ dev->rep[REP_DELAY] = delay[j];
+ param[0] = i | (j << 5);
atkbd_command(atkbd, param, ATKBD_CMD_SETREP);
return 0;
next prev parent reply other threads:[~2003-10-07 20:41 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-10-07 20:33 keyboard repeat speed went nuts since 2.6.0-test5, even in 2.6.0-test6-mm4 Jurriaan
2003-10-07 20:40 ` Vojtech Pavlik [this message]
2003-10-08 8:23 ` Jurriaan
2003-10-08 8:28 ` Vojtech Pavlik
2003-10-13 3:54 ` Andrew Morton
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=20031007204056.GB20844@ucw.cz \
--to=vojtech@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=thunder7@xs4all.nl \
/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.