diff options
Diffstat (limited to 'drivers/input/keyboard/atkbd.c')
-rw-r--r-- | drivers/input/keyboard/atkbd.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c index ff66ed4ee2cd..48fdf1e517cf 100644 --- a/drivers/input/keyboard/atkbd.c +++ b/drivers/input/keyboard/atkbd.c | |||
@@ -54,7 +54,7 @@ static int atkbd_softraw = 1; | |||
54 | module_param_named(softraw, atkbd_softraw, bool, 0); | 54 | module_param_named(softraw, atkbd_softraw, bool, 0); |
55 | MODULE_PARM_DESC(softraw, "Use software generated rawmode"); | 55 | MODULE_PARM_DESC(softraw, "Use software generated rawmode"); |
56 | 56 | ||
57 | static int atkbd_scroll = 1; | 57 | static int atkbd_scroll = 0; |
58 | module_param_named(scroll, atkbd_scroll, bool, 0); | 58 | module_param_named(scroll, atkbd_scroll, bool, 0); |
59 | MODULE_PARM_DESC(scroll, "Enable scroll-wheel on MS Office and similar keyboards"); | 59 | MODULE_PARM_DESC(scroll, "Enable scroll-wheel on MS Office and similar keyboards"); |
60 | 60 | ||
@@ -171,9 +171,9 @@ static struct { | |||
171 | unsigned char set2; | 171 | unsigned char set2; |
172 | } atkbd_scroll_keys[] = { | 172 | } atkbd_scroll_keys[] = { |
173 | { ATKBD_SCR_1, 0xc5 }, | 173 | { ATKBD_SCR_1, 0xc5 }, |
174 | { ATKBD_SCR_2, 0xa9 }, | 174 | { ATKBD_SCR_2, 0x9d }, |
175 | { ATKBD_SCR_4, 0xb6 }, | 175 | { ATKBD_SCR_4, 0xa4 }, |
176 | { ATKBD_SCR_8, 0xa7 }, | 176 | { ATKBD_SCR_8, 0x9b }, |
177 | { ATKBD_SCR_CLICK, 0xe0 }, | 177 | { ATKBD_SCR_CLICK, 0xe0 }, |
178 | { ATKBD_SCR_LEFT, 0xcb }, | 178 | { ATKBD_SCR_LEFT, 0xcb }, |
179 | { ATKBD_SCR_RIGHT, 0xd2 }, | 179 | { ATKBD_SCR_RIGHT, 0xd2 }, |
@@ -465,8 +465,10 @@ static int atkbd_event(struct input_dev *dev, unsigned int type, unsigned int co | |||
465 | if (atkbd->softrepeat) return 0; | 465 | if (atkbd->softrepeat) return 0; |
466 | 466 | ||
467 | i = j = 0; | 467 | i = j = 0; |
468 | while (i < 32 && period[i] < dev->rep[REP_PERIOD]) i++; | 468 | while (i < 31 && period[i] < dev->rep[REP_PERIOD]) |
469 | while (j < 4 && delay[j] < dev->rep[REP_DELAY]) j++; | 469 | i++; |
470 | while (j < 3 && delay[j] < dev->rep[REP_DELAY]) | ||
471 | j++; | ||
470 | dev->rep[REP_PERIOD] = period[i]; | 472 | dev->rep[REP_PERIOD] = period[i]; |
471 | dev->rep[REP_DELAY] = delay[j]; | 473 | dev->rep[REP_DELAY] = delay[j]; |
472 | param[0] = i | (j << 5); | 474 | param[0] = i | (j << 5); |