20 lines
343 B
C
20 lines
343 B
C
#include <stdint.h>
|
|
#include "ps2kb.h"
|
|
#include "hal/hal.h"
|
|
#include "kprintf.h"
|
|
|
|
void ps2kb_write(uint8_t val) {
|
|
while (io_in8(0x64) & 2);
|
|
io_out8(0x64, val);
|
|
}
|
|
|
|
uint8_t ps2kb_read(void) {
|
|
while (!(io_in8(0x64) & 1));
|
|
return io_in8(0x60);
|
|
}
|
|
|
|
void ps2kb_intr(void) {
|
|
uint8_t scancode = ps2kb_read();
|
|
kprintf("%02x\n", scancode);
|
|
}
|