Project

General

Profile

Revision 61

changes

View differences:

lab3.c
56 56
                case HARDWARE: /* hardware interrupt notification */
57 57
                    if (msg.m_notify.interrupts & kbc_irq) { /* subscribed interrupt */
58 58
                        kbc_ih();
59
                        if (!(two_byte_scancode || got_error_keyboard)) { /* finished processing a scancode */
60
                            if (scancode[0] == TWO_BYTE_CODE) kbd_print_scancode(!(scancode[1] & BREAK_CODE_BIT), 2, scancode);
61
                            else                              kbd_print_scancode(!(scancode[0] & BREAK_CODE_BIT), 1, scancode);
62
                        } else { break; }
63 59
                        if(done)
64 60
                            kbd_print_scancode(!(scancode[sz-1] & BREAK_CODE_BIT), sz, scancode);
65 61
                        if (scancode[0] == ESC_BREAK_CODE) good = 0;
......
131 127
                    }
132 128
                    if (msg.m_notify.interrupts & kbc_irq) { /// subscribed interrupt
133 129
                        kbc_ih();
134

  
135
                        if (!(two_byte_scancode || got_error_keyboard)) { /// finished processing a scancode
136
                            if (scancode[0] == TWO_BYTE_CODE) kbd_print_scancode(!(scancode[1] & BREAK_CODE_BIT), 2, scancode);
137
                            else                              kbd_print_scancode(!(scancode[0] & BREAK_CODE_BIT), 1, scancode);
138 130
                        if(done) {
139 131
                            kbd_print_scancode(!(scancode[sz-1] & BREAK_CODE_BIT), sz, scancode);
140 132
                            time = 0;

Also available in: Unified diff