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