keyboard driver
This commit is contained in:
28
src/kernel.c
28
src/kernel.c
@@ -1,21 +1,43 @@
|
||||
#include "kernel.h"
|
||||
#include "idt.h"
|
||||
#include "keyboard.h"
|
||||
#include "vga.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
void kernel_main(void)
|
||||
void keyboard_handler(keyboard_event_t* event)
|
||||
{
|
||||
if (event->pressed)
|
||||
{
|
||||
vga_print_int(event->scan_code);
|
||||
vga_print("\n");
|
||||
}
|
||||
}
|
||||
|
||||
void kmain(void)
|
||||
{
|
||||
vga_clear();
|
||||
vga_print_success();
|
||||
vga_print(" VGA intialzied\n");
|
||||
|
||||
idt_init();
|
||||
idt_enable();
|
||||
init_idt();
|
||||
vga_print_success();
|
||||
vga_print(" IDT intialzied\n");
|
||||
|
||||
init_keyboard();
|
||||
vga_print_success();
|
||||
vga_print(" Keyboard driver intialzied\n");
|
||||
|
||||
vga_print("\nWelcome to nub OS\n");
|
||||
|
||||
register_keypress_handler(keyboard_handler);
|
||||
|
||||
while (true)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
void kpanic()
|
||||
{
|
||||
vga_print("Kernel panic!\n");
|
||||
__asm__ volatile("cli; hlt");
|
||||
}
|
||||
Reference in New Issue
Block a user