Rev 575 | Rev 590 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 575 | Rev 588 | ||
|---|---|---|---|
| Line 59... | Line 59... | ||
| 59 | void msim_disable(chardev_t *dev) |
59 | void msim_disable(chardev_t *dev) |
| 60 | { |
60 | { |
| 61 | cp0_mask_int(MSIM_KBD_IRQ); |
61 | cp0_mask_int(MSIM_KBD_IRQ); |
| 62 | } |
62 | } |
| 63 | 63 | ||
| - | 64 | #include <print.h> |
|
| 64 | /** Process keyboard interrupt. */ |
65 | /** Process keyboard interrupt. */ |
| 65 | static void msim_interrupt(int n, void *stack) |
66 | static void msim_interrupt(int n, void *stack) |
| 66 | { |
67 | { |
| 67 | char ch; |
68 | char ch; |
| 68 | 69 | ||
| 69 | ch = *((char *) MSIM_KBD_ADDRESS); |
70 | ch = *((char *) MSIM_KBD_ADDRESS); |
| 70 | if (ch =='\r') |
71 | if (ch =='\r') |
| 71 | ch = '\n'; |
72 | ch = '\n'; |
| - | 73 | if (ch == 0x7f) |
|
| - | 74 | ch = '\b'; |
|
| 72 | chardev_push_character(&console, ch); |
75 | chardev_push_character(&console, ch); |
| 73 | } |
76 | } |
| 74 | 77 | ||
| 75 | 78 | ||
| 76 | /* Return console object representing msim console */ |
79 | /* Return console object representing msim console */ |