summaryrefslogtreecommitdiff
path: root/kernel/drivers/keyboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/drivers/keyboard.c')
-rw-r--r--kernel/drivers/keyboard.c22
1 files changed, 3 insertions, 19 deletions
diff --git a/kernel/drivers/keyboard.c b/kernel/drivers/keyboard.c
index 24ebbb0..fe4fe16 100644
--- a/kernel/drivers/keyboard.c
+++ b/kernel/drivers/keyboard.c
@@ -155,26 +155,10 @@ void int_keyboard(reg_t *frame) {
ev.mode |= is_alt_down << 1;
ev.mode |= is_ctrl_down << 2;
fifo_object_write((u8 *)&ev, 0, sizeof(ev), keyboard_fifo);
- kb_inode->has_data = keyboard_fifo->has_data;
-}
-
-#define PS2_WAIT_RECV \
- { \
- for (;;) { \
- u8 status = inb(PS2_REG_STATUS); \
- if (status & 0x1) \
- break; \
- } \
- }
-
-#define PS2_WAIT_SEND \
- { \
- for (;;) { \
- u8 status = inb(PS2_REG_STATUS); \
- if (!(status & (0x1 << 1))) \
- break; \
- } \
+ if (kb_inode) {
+ kb_inode->has_data = keyboard_fifo->has_data;
}
+}
void install_keyboard(void) {
keyboard_fifo = create_fifo_object();