keyboard.c
来自「国内的一个小型操作系统」· C语言 代码 · 共 43 行
C
43 行
void wait_output_full()
{
char b;
do
{
b = inportb(0x64);
}while(!(b&0x01));
}
void wait_output_empty()
{
char b;
do
{
b = inportb(0x64);
}while(b&0x01);
}
int getnum() // get char from keyboard
{
int key = 0;
wait_output_full();
while(1)
{
key = (int)inportb(0x60); //得扫描码
if((key>=2)&&(key<=11))
{
key = (key-1)%10;
break;
}
}
return key;
}
void putnum(int num)
{
unsigned char asc = num+48;
short offset = get_cursor();
char *vidmem = (char *)0xb8000;
*(vidmem+offset) = (char)asc;
move_cursor(1);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?