From 6e86a3abee2d9b2c03452cd62997c2152a3332aa Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Sun, 1 Mar 2015 13:05:04 -0500 Subject: lots of stuff --- kernel/main.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'kernel/main.c') diff --git a/kernel/main.c b/kernel/main.c index cdab037..9311359 100644 --- a/kernel/main.c +++ b/kernel/main.c @@ -256,6 +256,20 @@ void run_gfx_benchmark(void) printf("Resolution: %dx%dx%d\n", *gfx_width, *gfx_height, *gfx_bpp * 8); } +static void keyhandler(const struct ps2_keyevent *ev) +{ + if(ev->ascii) + { + if(ev->special_keys->ctrl) + { + putchar('^'); + putchar(toupper(ev->ascii)); + } + else + putchar(ev->ascii); + } +} + void main(struct multiboot_info_t *hdr, uint32_t magic) { bool gfx_status = boot(hdr, magic); @@ -263,6 +277,8 @@ void main(struct multiboot_info_t *hdr, uint32_t magic) printf("Hello, world!\n"); gfx_set_foreground(GFX_WHITE); + ps2kbd_set_handler(keyhandler); + while(1)asm("hlt"); //char *ptr = 0xA00000; -- cgit v1.1