From c8a195e1eb19d346c03c1dfa6ed66c6215caefa2 Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Mon, 2 Feb 2015 21:48:38 -0500 Subject: Refactor, begin writing a PS/2 driver --- drivers/ps2.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 drivers/ps2.c (limited to 'drivers/ps2.c') diff --git a/drivers/ps2.c b/drivers/ps2.c new file mode 100644 index 0000000..ff85091 --- /dev/null +++ b/drivers/ps2.c @@ -0,0 +1,29 @@ +#include +#include +#include "io.h" +#include "isr.h" +#include "ps2.h" + +void ps2_set_leds(uint8_t status) +{ + outb(0x60, 0xED); + outb(0x60, status); +} + +static void ps2_handler(struct regs_t regs) +{ + uint8_t scancode = inb(0x60); + /* TODO: handle scancode */ +} + +static void ps2_set_scancode_set(uint8_t set) +{ + outb(0x60, 0xF0); + outb(0x60, set); +} + +void ps2_init(void) +{ + set_interrupt_handler(IRQ(1), ps2_handler); + ps2_set_scancode_set(1); +} -- cgit v1.1