void keyboard_handler_main(void) { unsigned char status; char keycode; write_port(0x20, 0x20); status = read_port(KEYBOARD_STATUS_PORT); if (status & 0x01) { keycode = read_port(KEYBOARD_DATA_PORT); if(keycode < 0) return; if(keycode == ENTER_KEY_CODE) { kprint_newline(); kprint(input); reset(input); kprint_newline(); return; } else { input[counter] = keyboard_map[(unsigned char) keycode]; counter++; } vidptr[current_loc++] = keyboard_map[(unsigned char) keycode]; vidptr[current_loc++] = 0x07; } }
void kmain(void) { char *str = "my first kernel with keyboard support"; clear_screen(); kprint(str); kprint_newline(); kprint_newline(); idt_init(); kb_init(); while(1); }
void kmain(void) { const char *str = "This is a basic kernel, it will only echo back what you type with a limited keyboard charset."; reset(input); clear_screen(); kprint(str); kprint_newline(); idt_init(); kb_init(); while(1); }