summaryrefslogtreecommitdiff
path: root/driver/keyboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'driver/keyboard.c')
-rw-r--r--driver/keyboard.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/driver/keyboard.c b/driver/keyboard.c
index efbcc53..757bbb8 100644
--- a/driver/keyboard.c
+++ b/driver/keyboard.c
@@ -10,7 +10,7 @@
#include "net/inet.h"
-ringbuffer kb_in;
+static ringbuffer kb_in;
static bool ctrl_l=false;
static bool shift_l=false;
@@ -41,6 +41,17 @@ uint32_t keyboard_interrupt(uint32_t esp)
return esp;
}
+bool keyboard_worker()
+{
+ bool wake=false;
+ while(ringbuffer_has(&kb_in)){
+ keyboard_handle(ringbuffer_get(&kb_in));
+ wake=true;
+ }
+ return wake;
+}
+
+
void keyboard_init(uint32_t s)
{
kb_in=ringbuffer_init(1);// 4096 bytes ringbuffer;