diff options
| author | Miguel <m.i@gmx.at> | 2018-10-04 00:53:30 +0200 |
|---|---|---|
| committer | Miguel <m.i@gmx.at> | 2018-10-04 00:53:30 +0200 |
| commit | ce16fe524c14ccaae67fb634105da5aef08ead48 (patch) | |
| tree | 03990f29389bd4c55f40b804b809c7060c24c739 /driver/keyboard.c | |
| parent | a455cd5af26bf8731e7c981a9421b16ab34dae6f (diff) | |
moving framebuffer access completely to userspace
Diffstat (limited to 'driver/keyboard.c')
| -rw-r--r-- | driver/keyboard.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/driver/keyboard.c b/driver/keyboard.c index cc060c7..2be9c12 100644 --- a/driver/keyboard.c +++ b/driver/keyboard.c @@ -17,7 +17,6 @@ static bool shift_l=false; static bool shift_r=false; static bool capslock=false; -static uint32_t kb_stream; static char num_syms[]={')','!','@','#','$','%','^','&','*','('}; int hex_to_dec(char c) @@ -30,13 +29,12 @@ int hex_to_dec(char c) extern struct netdev e1000_dev; static void put(uint8_t c) { - syscall_generic(SYSCALL_WRITE,kb_stream, (char *)&c , 1, 0); +// syscall_generic(SYSCALL_WRITE,kb_stream, (char *)&c , 1, 0); } uint32_t keyboard_interrupt(uint32_t esp) { - - ringbuffer_put(&kb_in,x86_inb(0x60)); + if(!ringbuffer_put(&kb_in,x86_inb(0x60))) kpanic("full"); return esp; } @@ -51,11 +49,10 @@ bool keyboard_worker() } -void keyboard_init(uint32_t s) +void keyboard_init() { kb_in=ringbuffer_init(1);// 4096 bytes ringbuffer; interrupt_register(INTERRUPT_KEYBOARD,&keyboard_interrupt); - kb_stream=s; } void keyboard_handle(uint8_t in) |
