⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key.h

📁 一个数据结构的大作业
💻 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 + -