forked from AbleOS/ableos
Remove old ps2_keyboard driver
This commit is contained in:
parent
68840571c0
commit
190f0941dc
|
@ -1,3 +0,0 @@
|
||||||
# PS/2 Driver
|
|
||||||
|
|
||||||
This program is a simple driver to read keypresses from a PS/2 Keyboard Also will contain an abstraction for the PS/2 controller in general so the Mouse code will probably also live here...maybe
|
|
|
@ -1,11 +0,0 @@
|
||||||
[package]
|
|
||||||
name = "ps2_keyboard_driver"
|
|
||||||
authors = ["Talha Qamar"]
|
|
||||||
|
|
||||||
[dependants.libraries]
|
|
||||||
|
|
||||||
[dependants.binaries]
|
|
||||||
hblang.version = "1.0.0"
|
|
||||||
|
|
||||||
[build]
|
|
||||||
command = "hblang src/main.hb"
|
|
|
@ -1,40 +0,0 @@
|
||||||
stn := @use("../../../libraries/stn/src/lib.hb");
|
|
||||||
.{memory, log, buffer} := stn
|
|
||||||
|
|
||||||
intouch := @use("../../../libraries/intouch/src/lib.hb");
|
|
||||||
.{KeyEvent} := intouch
|
|
||||||
|
|
||||||
send_byte := fn(byte: u8): u8 {
|
|
||||||
memory.outb(96, byte)
|
|
||||||
return memory.inb(96)
|
|
||||||
}
|
|
||||||
|
|
||||||
main := fn(): int {
|
|
||||||
buf := buffer.create("PS/2 Keyboard\0")
|
|
||||||
_ = send_byte(238)
|
|
||||||
log.info("PS/2 Driver Loaded\0")
|
|
||||||
|
|
||||||
if send_byte(238) == 238 {
|
|
||||||
log.info("PS/2 Keyboard Echoed\0")
|
|
||||||
}
|
|
||||||
|
|
||||||
if send_byte(244) == 250 {
|
|
||||||
log.info("Enabled scanning\0")
|
|
||||||
}
|
|
||||||
|
|
||||||
prev_input := 250
|
|
||||||
loop {
|
|
||||||
loop if (memory.inb(0x64) & 0x20) == 0x20 break
|
|
||||||
|
|
||||||
input := memory.inb(96)
|
|
||||||
|
|
||||||
if input == prev_input {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
prev_input = input
|
|
||||||
kevent := KeyEvent.(false, true, input)
|
|
||||||
|
|
||||||
buffer.write(KeyEvent, buf, &kevent)
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
Loading…
Reference in a new issue