From a455cd5af26bf8731e7c981a9421b16ab34dae6f Mon Sep 17 00:00:00 2001 From: Miguel Date: Mon, 1 Oct 2018 23:22:03 +0200 Subject: fukkin scheduler --- driver/mouse.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'driver/mouse.c') diff --git a/driver/mouse.c b/driver/mouse.c index d0f1591..810cb83 100644 --- a/driver/mouse.c +++ b/driver/mouse.c @@ -19,12 +19,17 @@ static ringbuffer mouse_in; bool mouse_worker() { - bool wake=false; - while(ringbuffer_has(&mouse_in)){ - mouse_handler(ringbuffer_get(&mouse_in)); - wake=true; - } - return wake; + if(ringbuffer_full(&mouse_in)) + { + klog("mouse buffer full"); + } + + bool wake=false; + while(ringbuffer_has(&mouse_in)){ + mouse_handler(ringbuffer_get(&mouse_in)); + wake=true; + } + return wake; } @@ -121,7 +126,7 @@ void mouse_action() if(mouse_byte[0]&0x80||mouse_byte[0]&0x40) { - klog("mouse overflow, skipping packet"); + // klog("mouse overflow, skipping packet"); return; //skip packet on overflow } @@ -146,6 +151,7 @@ void mouse_action() if(mouse_x<0)mouse_x=0; if(mouse_y<0)mouse_y=0; + if(mouse_x>=1920)mouse_x=1920-1; if(mouse_y>=1080)mouse_y=1080-1; @@ -164,7 +170,7 @@ void mouse_handler(uint8_t byte)//struct regs *a_r) //struct regs *a_r (not used mouse_cycle++; if(!(mouse_byte[0]&0x8)) { - klog("mouse out of sync, try resync"); + //klog("mouse out of sync, try resync"); mouse_cycle--; // kpanic("mouse packets out of sync!?"); // this bit is always 1, otherwise panic! } -- cgit v1.2.3