atkbd.c (890ca861f868a10617029ffc87eae7d48ea6876c) atkbd.c (5447326ff7e42ae36b85caedb2a787ff4db646f4)
1/*
2 * AT and PS/2 keyboard driver
3 *
4 * Copyright (c) 1999-2002 Vojtech Pavlik
5 */
6
7/*
8 * This program is free software; you can redistribute it and/or modify it

--- 442 unchanged lines hidden (view full) ---

451
452 code = atkbd_compat_scancode(atkbd, code);
453
454 if (atkbd->emul && --atkbd->emul)
455 goto out;
456
457 keycode = atkbd->keycode[code];
458
1/*
2 * AT and PS/2 keyboard driver
3 *
4 * Copyright (c) 1999-2002 Vojtech Pavlik
5 */
6
7/*
8 * This program is free software; you can redistribute it and/or modify it

--- 442 unchanged lines hidden (view full) ---

451
452 code = atkbd_compat_scancode(atkbd, code);
453
454 if (atkbd->emul && --atkbd->emul)
455 goto out;
456
457 keycode = atkbd->keycode[code];
458
459 if (keycode != ATKBD_KEY_NULL)
460 input_event(dev, EV_MSC, MSC_SCAN, code);
459 if (!(atkbd->release && test_bit(code, atkbd->force_release_mask)))
460 if (keycode != ATKBD_KEY_NULL)
461 input_event(dev, EV_MSC, MSC_SCAN, code);
461
462 switch (keycode) {
463 case ATKBD_KEY_NULL:
464 break;
465 case ATKBD_KEY_UNKNOWN:
466 dev_warn(&serio->dev,
467 "Unknown key %s (%s set %d, code %#x on %s).\n",
468 atkbd->release ? "released" : "pressed",

--- 37 unchanged lines hidden (view full) ---

506 atkbd->last = code;
507 atkbd->time = jiffies + msecs_to_jiffies(dev->rep[REP_DELAY]) / 2;
508 }
509
510 input_event(dev, EV_KEY, keycode, value);
511 input_sync(dev);
512
513 if (value && test_bit(code, atkbd->force_release_mask)) {
462
463 switch (keycode) {
464 case ATKBD_KEY_NULL:
465 break;
466 case ATKBD_KEY_UNKNOWN:
467 dev_warn(&serio->dev,
468 "Unknown key %s (%s set %d, code %#x on %s).\n",
469 atkbd->release ? "released" : "pressed",

--- 37 unchanged lines hidden (view full) ---

507 atkbd->last = code;
508 atkbd->time = jiffies + msecs_to_jiffies(dev->rep[REP_DELAY]) / 2;
509 }
510
511 input_event(dev, EV_KEY, keycode, value);
512 input_sync(dev);
513
514 if (value && test_bit(code, atkbd->force_release_mask)) {
515 input_event(dev, EV_MSC, MSC_SCAN, code);
514 input_report_key(dev, keycode, 0);
515 input_sync(dev);
516 }
517 }
518
519 if (atkbd->scroll) {
520 if (click != -1)
521 input_report_key(dev, BTN_MIDDLE, click);

--- 1292 unchanged lines hidden ---
516 input_report_key(dev, keycode, 0);
517 input_sync(dev);
518 }
519 }
520
521 if (atkbd->scroll) {
522 if (click != -1)
523 input_report_key(dev, BTN_MIDDLE, click);

--- 1292 unchanged lines hidden ---