add get input_dev events in user app, but still have some problems
This commit is contained in:
parent
2dfd195841
commit
a67f3f0d2f
8 changed files with 151 additions and 30 deletions
21
user/src/bin/inputdev_event.rs
Normal file
21
user/src/bin/inputdev_event.rs
Normal file
|
@ -0,0 +1,21 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
use user_lib::{event_get};
|
||||
|
||||
#[macro_use]
|
||||
extern crate user_lib;
|
||||
|
||||
#[no_mangle]
|
||||
pub fn main() -> i32 {
|
||||
println!("Input device event test");
|
||||
let mut event=0;
|
||||
for _ in 0..3 {
|
||||
while event==0 {
|
||||
event = event_get();
|
||||
}
|
||||
println!("event: {:?}", event);
|
||||
}
|
||||
|
||||
0
|
||||
}
|
|
@ -205,6 +205,11 @@ pub fn framebuffer_flush() -> isize {
|
|||
sys_framebuffer_flush()
|
||||
}
|
||||
|
||||
pub fn event_get() -> isize {
|
||||
sys_event_get()
|
||||
}
|
||||
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! vstore {
|
||||
($var_ref: expr, $value: expr) => {
|
||||
|
|
|
@ -27,6 +27,7 @@ const SYSCALL_CONDVAR_SIGNAL: usize = 1031;
|
|||
const SYSCALL_CONDVAR_WAIT: usize = 1032;
|
||||
const SYSCALL_FRAMEBUFFER: usize = 2000;
|
||||
const SYSCALL_FRAMEBUFFER_FLUSH: usize = 2001;
|
||||
const SYSCALL_EVENT_GET: usize = 3000;
|
||||
|
||||
fn syscall(id: usize, args: [usize; 3]) -> isize {
|
||||
let mut ret: isize;
|
||||
|
@ -164,4 +165,8 @@ pub fn sys_framebuffer() -> isize {
|
|||
|
||||
pub fn sys_framebuffer_flush() -> isize {
|
||||
syscall(SYSCALL_FRAMEBUFFER_FLUSH, [0, 0, 0])
|
||||
}
|
||||
|
||||
pub fn sys_event_get() -> isize {
|
||||
syscall(SYSCALL_EVENT_GET, [0, 0, 0])
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue