control.c

来自「游戏对外设硬件的控制 鼠标 键盘 和手柄」· C语言 代码 · 共 86 行

C
86
字号
#define SHIFT_R 0x0001
#define SHIFT_L 0x0002
#define CTRL 0x0004
#define ALT 0x0008
#define SCROLL_LOCK_ON 0x0010
#define NUM_LOCK_ON 0x0020
#define CAPS_LOCK_ON 0x0040
#define INSERT_MODE 0x0080

#define CTRL_L 0x0100
#define ALT_L 0x0200
#define CTRL_R 0x0400
#define ALT_R 0x0800
#define SCROLL_LOCK_DWN 0x1000
#define NUM_LOCK_DWN 0x2000
#define CAPS_LOCK_DWN 0x4000
#define SYS_REQ_DWN 0x8000

#include <bios.h>
#include <stdio.h>

unsigned int Get_Control_Keys(unsigned int mask)
{
return(mask&_bios_keybrd(_NKEYBRD_SHIFTSTATUS));
}

void main(void)
{
int done=0;
printf("Press a key and look at the CONTROL code it generates.");
printf("\n To exit the program press the 'CAPS_LOCK_ON' key.");

while(!done)
{
if(Get_Control_Keys(SHIFT_R))
printf("\nSHIFT_R key pressed");

if(Get_Control_Keys(SHIFT_L))
printf("\nSHIFT_L key pressed");

if(Get_Control_Keys(CTRL))
printf("\ncontrol key pressed");

if(Get_Control_Keys(ALT))
printf("\nALT key pressed");

if(Get_Control_Keys(SCROLL_LOCK_ON))
printf("\nSCROLL_LOCK_ON key pressed");

if(Get_Control_Keys(NUM_LOCK_ON))
printf("\nNUM_LOCK_ON key pressed");

if(Get_Control_Keys(INSERT_MODE))
printf("\nINSERT_MODE key pressed");

if(Get_Control_Keys(CTRL_L))
printf("\nCTRL_L key pressed");

if(Get_Control_Keys(ALT_L))
printf("\nALT_L key pressed");

if(Get_Control_Keys(CTRL_R))
printf("\nCTRL_R key pressed");

if(Get_Control_Keys(ALT_R))
printf("\nALT_R key pressed");

if(Get_Control_Keys(SCROLL_LOCK_DWN))
printf("\nSCROLL_LOCK_DWN key pressed");

if(Get_Control_Keys(NUM_LOCK_DWN))
printf("\nNUM_LOCK_DWN key pressed");

if(Get_Control_Keys(CAPS_LOCK_DWN))
printf("\nCAPS_LOCK_DWN key pressed");

if(Get_Control_Keys(SYS_REQ_DWN))
printf("\nSYS_REQ_DWN key pressed");

if(Get_Control_Keys(CAPS_LOCK_ON))
{
printf("\nCAPS_LOCK_ON key pressed");
done=1;
}
}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?