Rev 1707 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1707 | Rev 1713 | ||
---|---|---|---|
Line 429... | Line 429... | ||
429 | 429 | ||
430 | ipc_register_irq(MOUSE_IRQ, &i8042_kbd); |
430 | ipc_register_irq(MOUSE_IRQ, &i8042_kbd); |
431 | } |
431 | } |
432 | /* Enable kbd */ |
432 | /* Enable kbd */ |
433 | ipc_register_irq(KBD_IRQ, &i8042_kbd); |
433 | ipc_register_irq(KBD_IRQ, &i8042_kbd); |
- | 434 | /* Register for irq restart */ |
|
- | 435 | ipc_register_irq(IPC_IRQ_KBDRESTART, NULL); |
|
434 | 436 | ||
435 | int newcontrol = i8042_KBD_IE | i8042_KBD_TRANSLATE; |
437 | int newcontrol = i8042_KBD_IE | i8042_KBD_TRANSLATE; |
436 | if (mouseenabled) |
438 | if (mouseenabled) |
437 | newcontrol |= i8042_MOUSE_IE; |
439 | newcontrol |= i8042_MOUSE_IE; |
438 | 440 | ||
Line 447... | Line 449... | ||
447 | /** Process keyboard & mouse events */ |
449 | /** Process keyboard & mouse events */ |
448 | int kbd_arch_process(keybuffer_t *keybuffer, ipc_call_t *call) |
450 | int kbd_arch_process(keybuffer_t *keybuffer, ipc_call_t *call) |
449 | { |
451 | { |
450 | int status = IPC_GET_ARG1(*call); |
452 | int status = IPC_GET_ARG1(*call); |
451 | 453 | ||
- | 454 | if (IPC_GET_METHOD(*call) == IPC_IRQ_KBDRESTART) { |
|
- | 455 | kbd_arch_init(); |
|
- | 456 | return 1; |
|
- | 457 | } |
|
- | 458 | ||
452 | if ((status & i8042_MOUSE_DATA)) |
459 | if ((status & i8042_MOUSE_DATA)) |
453 | return 0; |
460 | return 0; |
454 | 461 | ||
455 | int scan_code = IPC_GET_ARG2(*call); |
462 | int scan_code = IPC_GET_ARG2(*call); |
456 | 463 |