?? scan.c
字號:
#define SCAN_ESC 1
#define SCAN_1 2
#define SCAN_2 3
#define SCAN_3 4
#define SCAN_4 5
#define SCAN_5 6
#define SCAN_6 7
#define SCAN_7 8
#define SCAN_8 9
#define SCAN_9 10
#define SCAN_0 11
#define SCAN_MINUS 12
#define SCAN_EQUALS 13
#define SCAN_BKSP 14
#define SCAN_TAB 15
#define SCAN_Q 16
#define SCAN_W 17
#define SCAN_E 18
#define SCAN_R 19
#define SCAN_T 20
#define SCAN_Y 21
#define SCAN_U 22
#define SCAN_I 23
#define SCAN_O 24
#define SCAN_P 25
#define SCAN_LFT_BRACKET 26
#define SCAN_RGT_BRACKET 27
#define SCAN_ENTER 28
#define SCAN_CTRL 29
#define SCAN_A 30
#define SCAN_S 31
#define SCAN_D 32
#define SCAN_F 33
#define SCAN_G 34
#define SCAN_H 35
#define SCAN_J 36
#define SCAN_K 37
#define SCAN_L 38
#define SCAN_SEMI 39
#define SCAN_APOS 40
#define SCAN_TILDE 41
#define SCAN_LEFT_SHIFT 42
#define SCAN_BACK_SLASH 43
#define SCAN_Z 44
#define SCAN_X 45
#define SCAN_C 46
#define SCAN_V 47
#define SCAN_B 48
#define SCAN_N 49
#define SCAN_M 50
#define SCAN_COMMA 51
#define SCAN_RERIOD 52
#define SCAN_FOWARD_SLASH 53
#define SCAN_RIGHT_SHIFT 54
#define SCAN_PRT_SCRN 55
#define SCAN_ALT 56
#define SCAN_SPACE 57
#define SCAN_CAPS_LOCK 58
#define SCAN_F1 59
#define SCAN_F2 60
#define SCAN_F3 61
#define SCAN_F4 62
#define SCAN_F5 63
#define SCAN_F6 64
#define SCAN_F7 65
#define SCAN_F8 66
#define SCAN_F9 67
#define SCAN_F10 68
#define SCAN_F11 133
#define SCAN_F12 134
#define SCAN_NUM_LOCK 69
#define SCAN_SCROLL_LOCK 70
#define SCAN_HOME 71
#define SCAN_UP 72
#define SCAN_PGUP 73
#define SCAN_NUM_MINUS 74
#define SCAN_LEFT 75
#define SCAN_CENTER 76
#define SCAN_RIGHT 77
#define SCAN_NUM_PLUS 78
#define SCAN_END 79
#define SCAN_DOWN 80
#define SCAN_PGDWN 81
#define SCAN_INS 82
#define SCAN_DEL 83
#include <bios.h>
#include <stdio.h>
unsigned char Get_Scan_Code(void)
{
asm mov ah,01h
asm int 16h
asm jz empty
asm mov ah,00h
asm int 16h
asm mov al,ah
asm xor ah,ah
asm jmp done
empty:
asm xor ax,ax
done:
}
int Test_Scan_Code(int scan)
{
if(Get_Scan_Code()==scan)
return(1);
else
return(0);
}
void main(void)
{
unsigned char key;
int done=0;
char *scan[84]={"","SCAN_ESC","SCAN_1","SCAN_2","SCAN_3","SCAN_4","SCAN_5"
,"SCAN_6","SCAN_7","SCAN_8","SCAN_9","SCAN_0","SCAN_MINUS","SCAN_EQUALS"
,"SCAN_BKSP","SCAN_TAB","SCAN_Q","SCAN_W","SCAN_E","SCAN_R","SCAN_T","SCAN_Y"
,"SCAN_U","SCAN_I","SCAN_O","SCAN_P","SCAN_LFT_BRACKET","SCAN_RGT_BRACKET"
,"SCAN_ENTER","SCAN_CTRL","SCAN_A","SCAN_S","SCAN_D","SCAN_F","SCAN_G"
,"SCAN_H","SCAN_J","SCAN_K","SCAN_L","SCAN_SEMI","SCAN_APOS","SCAN_TILDE"
,"SCAN_LEFT_SHIFT","SCAN_BACK_SLASH","SCAN_Z","SCAN_X","SCAN_C","SCAN_V","SCAN_B"
,"SCAN_N","SCAN_M","SCAN_COMMA","SCAN_RERIOD","SCAN_FOWARD_SLASH",
"SCAN_RIGHT_SHIFT","SCAN_PRT_SCRN","SCAN_ALT","SCAN_SPACE","SCAN_CAPS_LOCK"
,"SCAN_F1","SCAN_F2","SCAN_F3","SCAN_F4","SCAN_F5","SCAN_F6","SCAN_F7"
,"SCAN_F8","SCAN_F9","SCAN_F10","SCAN_NUM_LOCK","SCAN_SCROLL_LOCK"
,"SCAN_HOME","SCAN_UP","SCAN_PGUP","SCAN_NUM_MINUS","SCAN_LEFT","SCAN_CENTER"
,"SCAN_RIGHT","SCAN_NUM_PLUS","SCAN_END","SCAN_DOWN","SCAN_PGDWN","SCAN_INS"
,"SCAN_DEL"};
printf("Press a key and look at the SCAN code it generates.");
printf("\n To exit the program press the 'q' key.");
while(!done)
{
if((key=Get_Scan_Code()))
{
printf("\nScan Code=%d,key=%s",key,scan[key]);
}
if(key==SCAN_Q)
{
printf("\nQuit?(y or Y)");
while(!Test_Scan_Code(SCAN_Y));
done=1;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -