2024-09-15 11:01:29 -05:00
|
|
|
.{memory, log, string, buffer} := @use("../../../libraries/stn/src/lib.hb")
|
|
|
|
|
|
|
|
send_byte := fn(byte: u8): u8 {
|
|
|
|
memory.outb(96, byte)
|
|
|
|
return memory.inb(96)
|
|
|
|
}
|
|
|
|
|
|
|
|
main := fn(): int {
|
2024-09-16 14:15:51 -05:00
|
|
|
memory.outb(96, 238)
|
|
|
|
// memory.inb(96)
|
|
|
|
|
|
|
|
// send_byte(238)
|
|
|
|
// log.info("PS/2 Driver Loaded\0")
|
|
|
|
// if send_byte(238) == 238 {
|
|
|
|
// log.info("PS/2 Keyboard Echoed\0")
|
|
|
|
// }
|
|
|
|
// a := 0
|
|
|
|
// a += 1
|
|
|
|
// if send_byte(244) == 250 {
|
|
|
|
// log.info("Enabled scanning\0")
|
|
|
|
// }
|
|
|
|
// buf := buffer.create("XKeyboard\0")
|
|
|
|
// ptr := memory.request_page(1)
|
|
|
|
// prev_input := 250
|
|
|
|
// loop {
|
|
|
|
// input := memory.inb(96)
|
|
|
|
// if input == prev_input {
|
|
|
|
// continue
|
|
|
|
// }
|
|
|
|
// prev_input = input
|
|
|
|
// keycode_str := string.display_int(input, ptr)
|
|
|
|
// log.info(string.display_int(input, ptr))
|
|
|
|
// buffer.send_message(keycode_str, buf)
|
|
|
|
// }
|
2024-09-15 11:01:29 -05:00
|
|
|
return 0
|
|
|
|
}
|