📄 key.h
字号:
#ifndef KEY_H
#define KEY_H
#include <bios.h>
#define KEYBD_NONE 0
#define KEYBD_CTRL 1
#define KEYBD_CHAR 2
#define KEYBD_SPECIAL 3
#define SPECIAL_KEY_CTRL 4
#define SPECIAL_KEY_ALT 5
#define SPECIAL_KEY_LSHIFT 6
#define SPECIAL_KEY_RSHIFT 7
/*
#define MODIFY_KEY_INSERT_ON 7
#define MODIFY_KEY_CAPS_ON 8
#define MODIFY_KEY_NUMLOCK_ON 9
#define MODIFY_KEY_SCROLLLOCK_ON 10
*/
#define CTRL_KEY_ESC 0x11b
#define CTRL_KEY_F1 0x3b00
#define CTRL_KEY_F2 0x3c00
#define CTRL_KEY_F3 0x3d00
#define CTRL_KEY_F4 0x3e00
#define CTRL_KEY_F5 0x3f00
#define CTRL_KEY_F6 0x4000
#define CTRL_KEY_F7 0x4100
#define CTRL_KEY_F8 0x4200
#define CTRL_KEY_F9 0x4300
#define CTRL_KEY_F10 0x4400
#define CTRL_KEY_TAB 0xf09
#define CTRL_KEY_ENTER 0x1c0d
#define CTRL_KEY_BACK 0xe08
#define CTRL_KEY_SPACE 0x3920
#define CTRL_KEY_INSERT 0x5200
#define CTRL_KEY_HOME 0x4700
#define CTRL_KEY_PAGEUP 0x4900
#define CTRL_KEY_PAGEDN 0x5100
#define CTRL_KEY_DEL 0x5300
#define CTRL_KEY_END 0x4f00
#define CTRL_KEY_UP 0x4800
#define CTRL_KEY_DOWN 0x5000
#define CTRL_KEY_LEFT 0x4b00
#define CTRL_KEY_RIGHT 0x4d00
#define CTRL_KEY_POINT 0x342e
#define CTRL_KEY_MAOH 0x273a
#define CTRL_KEY_GEN 0x2b5c
int KeyboardMessage[2]={KEYBD_NONE,0}; //[0]KeyType, [1]KeyCode,
////////////////////////////////////////////////////////////////////
int PostKeybrdMessage();
////////////////////////////////////////////////////////////////////
int PostKeybrdMessage()
{
int key,spcial,temp;
KeyboardMessage[0]=KEYBD_NONE;
KeyboardMessage[1]=0;
if(bioskey(1/*_KEYBRD_READY*/))
{
key=bioskey(0/*_KEYBRD_READ*/);
if(isalnum(key&0xff))
{
KeyboardMessage[0]=KEYBD_CHAR;
temp=key<<8;
key=temp>>8;
KeyboardMessage[1]=key;
return 1;
}
else
{
if(key==0x11b||key==0x3b00||key==0x3c00||key==0x3d00||
key==0x3e00||key==0x3f00||key==0x4000||key==0x4100||
key==0x4200||key==0x4300||key==0x4400||key==0x1c0d||
key==0xe08||key==0x3920||key==0x5200||key==0x4700||
key==0x4900||key==0x5100||key==0x5300||key==0x4f00||
key==0x4800||key==0x5000||key==0x4b00||key==0x4d00||
key==0x342e||key==0xf09||key==0x273a||key==0x2b5c) //the key is ctrl key defined
{
KeyboardMessage[0]=KEYBD_CTRL;
KeyboardMessage[1]=key;
return 1;
}
}
}
else //only allow to get one spcial key
{
spcial=bioskey(2/*_KEYBRD_SHIFTSTATUS*/);
if(spcial&0x08)
{
KeyboardMessage[0]=KEYBD_SPECIAL;
KeyboardMessage[1]=SPECIAL_KEY_ALT;
return 1;
}
if(spcial&0x04)
{
KeyboardMessage[0]=KEYBD_SPECIAL;
KeyboardMessage[1]=SPECIAL_KEY_CTRL;
return 1;
}
if(spcial&0x02)
{
KeyboardMessage[0]=KEYBD_SPECIAL;
KeyboardMessage[1]=SPECIAL_KEY_LSHIFT;
return 1;
}
if(spcial&0x01)
{
KeyboardMessage[0]=KEYBD_SPECIAL;
KeyboardMessage[1]=SPECIAL_KEY_RSHIFT;
return 1;
}
}
return 0;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -