36 lines
779 B
Plaintext
36 lines
779 B
Plaintext
stn := @use("../../stn/src/lib.hb");
|
|
.{log, buffer, memory} := stn
|
|
keycodes := @use("keycodes.hb")
|
|
|
|
events := @use("events.hb");
|
|
.{KeyEvent, MouseEvent} := events
|
|
|
|
recieve_key_event := fn(): ?KeyEvent {
|
|
kevent := KeyEvent.(false, false, 0)
|
|
|
|
buf_id := buffer.search("PS/2 Keyboard\0")
|
|
|
|
// Read out of the Keyboard buffer here
|
|
buffer.recv(KeyEvent, buf_id, &kevent)
|
|
|
|
if kevent.just_triggered {
|
|
return kevent
|
|
}
|
|
|
|
return null
|
|
}
|
|
|
|
recieve_mouse_event := fn(): ?MouseEvent {
|
|
mevent := MouseEvent.(0, 0, false, false, false)
|
|
|
|
buf_id := buffer.search("PS/2 Mouse\0")
|
|
|
|
// Read out of the Mouse buffer here
|
|
buffer.recv(MouseEvent, buf_id, &mevent)
|
|
|
|
if mevent.x_change != 0 | mevent.y_change != 0 | mevent.left | mevent.middle | mevent.right {
|
|
return mevent
|
|
}
|
|
|
|
return null
|
|
} |