taglinefilesource code
scancode204drivers/char/keyboard.cunsigned char scancode;
scancode214drivers/char/keyboard.cscancode = inb(0x60);
scancode216drivers/char/keyboard.cif (scancode == 0xfa) {
scancode219drivers/char/keyboard.c} else if (scancode == 0xfe) {
scancode222drivers/char/keyboard.c} else if (scancode == 0) {
scancode227drivers/char/keyboard.c} else if (scancode == 0xff) {
scancode237drivers/char/keyboard.cput_queue(scancode);
scancode242drivers/char/keyboard.cif (scancode == 0xe0 || scancode == 0xe1) {
scancode243drivers/char/keyboard.cprev_scancode = scancode;
scancode250drivers/char/keyboard.cup_flag = (scancode & 0200);
scancode251drivers/char/keyboard.cscancode &= 0x7f;
scancode259drivers/char/keyboard.cif (prev_scancode == 0xe1 && scancode == 0x1d) {
scancode262drivers/char/keyboard.c} else if (prev_scancode == 0x100 && scancode == 0x45) {
scancode263drivers/char/keyboard.cscancode = E1_PAUSE;
scancode285drivers/char/keyboard.cif (scancode == 0x2a || scancode == 0x36)
scancode288drivers/char/keyboard.cif (e0_keys[scancode])
scancode289drivers/char/keyboard.cscancode = e0_keys[scancode];
scancode292drivers/char/keyboard.cprintk("keyboard: unknown scancode e0 %02x\n", scancode);
scancode297drivers/char/keyboard.c} else if (scancode >= E0_BASE && !raw_mode) {
scancode300drivers/char/keyboard.cscancode, E0_BASE - 1);
scancode314drivers/char/keyboard.cclear_bit(scancode, key_down);
scancode317drivers/char/keyboard.crep = set_bit(scancode, key_down);
scancode323drivers/char/keyboard.cput_queue(scancode + up_flag);
scancode349drivers/char/keyboard.ckey_code = key_map[shift_final][scancode];
scancode355drivers/char/keyboard.ckey_code = key_map[shift_final ^ (1<<KG_SHIFT)][scancode];