Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
I have just finished creating a proper keyboard driver for my pmode OS. However, right now I am using a rather kludgy way of putting keys into the buffer, this is the code for my keyboard interrupt handler. The handler is called from an assembly routine which calls this and then iret's:
kbd_buffer is a global variable of type char. What is a better way to implement the buffer? Then, the system call for read() from stdin would be able to remove characters from buffer and shift them around.