keyboard input not working
Posted: Fri Sep 01, 2006 7:43 pm
Hi,
I have my kernel so it can get input one char at a time, but when I use my homemade gets function, the screen displays weird colors and text. can you help?
here is the code:
char getch()
{
char ch = '\0';
do
{
ch = kbdus[inportb(0x60)];
}while (ch == '\0');
putch(ch);
if(ch == '\r')
{
return '\r';
}
else if (ch == '\n')
{
return '\r';
}
else
{
return ch;
}
}
char gets(char *inp)
{
char c[128];
int cc = 0;
do
{
c[cc] = getch();
cc++;
}while( c[cc - 1] != '\n');
inp = c;
return c[0];
}
Thanks!!
I have my kernel so it can get input one char at a time, but when I use my homemade gets function, the screen displays weird colors and text. can you help?
here is the code:
char getch()
{
char ch = '\0';
do
{
ch = kbdus[inportb(0x60)];
}while (ch == '\0');
putch(ch);
if(ch == '\r')
{
return '\r';
}
else if (ch == '\n')
{
return '\r';
}
else
{
return ch;
}
}
char gets(char *inp)
{
char c[128];
int cc = 0;
do
{
c[cc] = getch();
cc++;
}while( c[cc - 1] != '\n');
inp = c;
return c[0];
}
Thanks!!