头文件:bios.h
int bioskey(int cmd)
cmd=0 返回一个键盘值,如无键盘按下,一直等待。
cmd=1 查询键盘是否按下 0-无键按下,非0-有键按下
cmd=2 返回控制键状态,返回值保存在低8位中
B0 右边的shift键按下 B5 已打开Scroll Lock
B1 左边的shift键按下 B6 已打开Num Lock
B3 Ctrl键按下 B7 已打开Caps Lock
B4 Alt键按下 B8 已打开Insert
实例:
以下给出tc3.0中的关于bioskey函数的例子,读一读会有好处的:
#include <stdio.h>
#include <bios.h>
#include <ctype.h>
#define RIGHT 0x01
#define LEFT 0x02
#define CTRL 0x04
#define ALT 0x08
int main(void)
{
int key, modifiers;
/* function 1 returns 0 until a key is pressed */
while (bioskey(1) == 0);
/* function 0 returns the key that is waiting */
key = bioskey(0);
/* use function 2 to determine if shift keys were used */
modifiers = bioskey(2);
if (modifiers)
{
printf("[");
if (modifiers & RIGHT) printf("RIGHT");
if (modifiers & LEFT) printf("LEFT");
if (modifiers & CTRL) printf("CTRL");
if (modifiers & ALT) printf("ALT");
printf("]");
}
/* print out the character read */
if (isalnum(key & 0xFF))
printf("'%c'\n", key);
else
printf("%#02x\n", key);
return 0;
}