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}