aboutsummaryrefslogtreecommitdiff
path: root/kernel/main.c
diff options
context:
space:
mode:
authorFranklin Wei <frankhwei536@gmail.com>2015-03-01 13:05:04 -0500
committerFranklin Wei <frankhwei536@gmail.com>2015-03-01 13:05:04 -0500
commit6e86a3abee2d9b2c03452cd62997c2152a3332aa (patch)
treeef868a5a58b59fb0fbc215a4dd4367d5fcb4125e /kernel/main.c
parentd532ad93a42ea95460765d4527b3fb1e4544c154 (diff)
downloadkappa-6e86a3abee2d9b2c03452cd62997c2152a3332aa.zip
kappa-6e86a3abee2d9b2c03452cd62997c2152a3332aa.tar.gz
kappa-6e86a3abee2d9b2c03452cd62997c2152a3332aa.tar.bz2
kappa-6e86a3abee2d9b2c03452cd62997c2152a3332aa.tar.xz
lots of stuff
Diffstat (limited to 'kernel/main.c')
-rw-r--r--kernel/main.c16
1 files changed, 16 insertions, 0 deletions
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;