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 }