Exemplo n.º 1
0
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;
		
	}
}
Exemplo n.º 2
0
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);
}
Exemplo n.º 3
0
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);
}