summaryrefslogtreecommitdiff
path: root/src/keyboard.c
blob: f89332ca6d68dcb823c67309bbbff8c2286a36e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "keyboard.h"

#include "stdio.h"

void keyboard_init( keyboard_t *keyboard )
{
	memset( keyboard, 0, sizeof( keyboard_t ) );
	
	port8_init( &keyboard->command_port, 0x64 );
	port8_init( &keyboard->data_port, 0x60 );
	
}

uint32_t keyboard_handle_interrupt( interrupt_handler_t *handler, uint32_t esp )
{
	keyboard_t *keyboard = (keyboard_t *)handler->driver;
	
	uint8_t key = port8_read( &keyboard->data_port );
	printf( "KBD 0x%X ", key );

	return esp;
}