📄 ps2kb.h
字号:
#define PS2KB_PORT_D 0x24e
#define PS2KB_PORT_S PS2KB_PORT_D + 1
#define WAKEFLG 1
#define PCKBFLG 2
#define RELEFLG 8
#define CLRELEFLG 0xf7
#define KYATFLG 0x10
#define SCRLFLG 0x1
#define NUMLFLG 0x2
#define CAPSFLG 0x4
#define STSCRLF 0x1
#define CLSCRLF 0xFE
#define STNUMLF 0x2
#define CLNUMLF 0xFD
#define STCAPSF 0x4
#define CLCAPSF 0xFB
#define INSERT 0x52
#define STLSHFF 1 //_KB_FLAG
#define CLLSHFF 0xfe
#define STRSHFF 2 //_KB_FLAG
#define CLRSHFF 0xfd
#define STLCTRLF 4 //_KB_FLAG
#define CLLCTRLF 0xFB
#define STRCTRLF 8 //_KB_FLAG
#define CLRCTRLF 0xF7
#define STLALTF 0x10 //_KB_FLAG
#define CLLALTF 0xEF
//---------------E0, E1 标志-----------------------
#define STE0FLG 0x40 // _KB_FLAG
#define CLE0FLG 0xBF //
#define STE1FLG 0x80 // _KB_FLAG
#define CLE1FLG 0x7F
#define PAUSKEY 0x77
#define SFPADET 0xAD00
#define PADSTAR 0x6100
#define CTRLESC 0x4
#define PDENTER 0x1C
#define ALTP 0x38
#define ALTR 0xB8
#define STCTRLF STLCTRLF
#define CLCTRLF CLLCTRLF
#define CTRLP 0x1D
#define CTRLR 0x9D
#define LSHIFTP 0x2A
#define LSHIFTR 0xAA
#define RSHIFTP 0x36
#define RSHIFTR 0xB6
#define CAPSLKP 0x3A
#define CAPSLKR 0xBA
#define SCRLCKP 0x46
#define SCRLCKR 0xC6
#define NUMLCKP 0x45
#define NUMLCKR 0xC5
typedef struct {
INT16U buff[16];
INT8U len;
INT16U *WriteP;
INT16U *ReadP;
} KBBUF;
void interrupt int16(INT16U bp, INT16U di, INT16U si, INT16U ds, INT16U es, INT16U dx,
INT16U cx, INT16U bx, INT16U ax, INT16U ip, INT16U cs, INT16U psw);
int InitPs2Kb(void);
void interrupt Ps2KbInt(void);
INT8U attoxt(INT8U);
void pc101kb(INT8U);
void savekeyv(INT8U , INT8U);
void savekeyval(INT16U kv, KBBUF *kb);
void lightled(INT8U);
INT16U Readkbbuf(INT8U *err, KBBUF *kb);
void ps2sndcmd(INT16U port, INT8U v);
INT8U ps2get(INT16U port, INT32U timeo);
int sendcmd(INT8U cmd);
INT8 recvdata(char *err);
INT8U readclkdat(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -