diff options
Diffstat (limited to 'driver/keyboard.c')
| -rw-r--r-- | driver/keyboard.c | 13 |
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; |
