Rev 1694 | Rev 1713 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1694 | Rev 1707 | ||
|---|---|---|---|
| Line 447... | Line 447... | ||
| 447 | /** Process keyboard & mouse events */ |
447 | /** Process keyboard & mouse events */ |
| 448 | int kbd_arch_process(keybuffer_t *keybuffer, ipc_call_t *call) |
448 | int kbd_arch_process(keybuffer_t *keybuffer, ipc_call_t *call) |
| 449 | { |
449 | { |
| 450 | int status = IPC_GET_ARG1(*call); |
450 | int status = IPC_GET_ARG1(*call); |
| 451 | 451 | ||
| 452 | if ((status & i8042_MOUSE_DATA)) { |
452 | if ((status & i8042_MOUSE_DATA)) |
| 453 | ; |
453 | return 0; |
| 454 | } else { |
454 | |
| 455 | int scan_code = IPC_GET_ARG2(*call); |
455 | int scan_code = IPC_GET_ARG2(*call); |
| 456 | 456 | ||
| 457 | if (scan_code != IGNORE_CODE) { |
457 | if (scan_code != IGNORE_CODE) { |
| 458 | if (scan_code & KEY_RELEASE) |
458 | if (scan_code & KEY_RELEASE) |
| 459 | key_released(keybuffer, scan_code ^ KEY_RELEASE); |
459 | key_released(keybuffer, scan_code ^ KEY_RELEASE); |
| 460 | else |
460 | else |
| 461 | key_pressed(keybuffer, scan_code); |
461 | key_pressed(keybuffer, scan_code); |
| 462 | } |
- | |
| 463 | } |
462 | } |
| 464 | return 1; |
463 | return 1; |
| 465 | } |
464 | } |
| 466 | 465 | ||
| 467 | /** |
466 | /** |