Skip to main content

os/syscall/
input.rs

1//use crate::drivers::{KEYBOARD_DEVICE,MOUSE_DEVICE,INPUT_CONDVAR,read_input_event};
2use crate::drivers::{KEYBOARD_DEVICE, MOUSE_DEVICE};
3
4pub fn sys_event_get() -> isize {
5    let kb = KEYBOARD_DEVICE.clone();
6    let mouse = MOUSE_DEVICE.clone();
7    //let input=INPUT_CONDVAR.clone();
8    //read_input_event() as isize
9    if !kb.is_empty() {
10        kb.read_event() as isize
11    } else if !mouse.is_empty() {
12        mouse.read_event() as isize
13    } else {
14        0
15    }
16}
17
18use crate::drivers::chardev::UART;
19
20/// check UART's read-buffer is empty or not
21pub fn sys_key_pressed() -> isize {
22    let res = !UART.read_buffer_is_empty();
23    if res { 1 } else { 0 }
24}