📄 keycode.h
字号:
/*-------------------------------------------
键盘通码编码表
PS/2接口:
1(数据)--PD1
5(时钟)--PD2(INT0)
只需一个外部中断接口
2007.4.8
---------------------------------------------*/
#define uchar unsigned char
uchar Key_Up=0; //键盘被释放标志;
uchar Finish=0; //键盘编码接收完成标志
unsigned char const KeyCode[59][2] = {
0x1C, 'A',
0x32, 'B',
0x21, 'C',
0x23, 'D',
0x24, 'E',
0x2B, 'F',
0x34, 'G',
0x33, 'H',
0x43, 'I',
0x3B, 'J',
0x42, 'K',
0x4B, 'L',
0x3A, 'M',
0x31, 'N',
0x44, 'O',
0x4D, 'P',
0x15, 'Q',
0x2D, 'R',
0x1B, 'S',
0x2C, 'T',
0x3C, 'U',
0x2A, 'V',
0x1D, 'W',
0x22, 'X',
0x35, 'Y',
0x1A, 'Z',
0x45, '0',//48
0x16, '1',//49
0x1E, '2',//50
0x26, '3',//51
0x25, '4',//52
0x2E, '5',//53
0x36, '6',//54
0x3D, '7',//55
0x3E, '8',//56
0x46, '9',//57
0x0E, '~',
0x7B, 62, //'_',
0x79, 61, //'+',
0x7C, 63, //'*',
0x77, 64, //'NUM',
0x54, '{',
0x5B, '}',
0x4C, ':',
0x52, '"',
0x41, '<',
//0x49, '>',
0xE0, 60,//回车
//0x4A, '?',
0x5a, 59, //59, //定义回车开始键;
0x71, 58, //定义删除键;
0x70, '0',//48
0x69, '1',//49
0x72, '2',//50
0x7A, '3',//51
0x6B, '4',//52
0x73, '5',//53
0x74, '6',//54
0x6C, '7',//55
0x75, '8',//56
0x7D, '9',//57
};
//***************************PS/2键盘译码******************//
//参数说明:ScanCode:扫描码;返回值:按键号:0~9,Enter,Del..
uchar Decode(uchar ScanCode)
{uchar temp;
uchar i;
switch (ScanCode)
{case 0xE0:
{Key_Up = 1;i=12;break;} // 当收到0xF0,Key_UP置1表示断码开始
default: //查表显示
for(temp=0;(KeyCode[temp][0]!=ScanCode)&&(temp<59);temp++);
if (KeyCode[temp][0]==ScanCode)
i=KeyCode[temp][1]-48;
}
Finish = 0; //标识字符处理完了
return i;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -