📄 ps2.c
字号:
#include <config.h>
#include <serial.h>
extern uint8 Key_Char;
extern uint16 Key_Value;
extern bit Key_Flag;
extern uint8 Cc;
extern uint8 PreKey_Char;
extern bit PreKey_Flag;
/*******************************************************************************************************
** Function name: Get_KeyChar
** Descriptions: 将编码转换为按键 Key_Char
********************************************************************************************************/
void Get_KeyChar(void)
{
uint8 Char;
Char = (uint8)(Key_Value);
Key_Char = 0;
switch(Char)
{
case 0xE0: break;
case 0xF0: Key_Flag = 0; Key_Char = 0xF0; break;
case 0x70: Key_Char = '0'; break;
case 0x69: Key_Char = '1'; break;
case 0x72: Key_Char = '2'; break;
case 0x7a: Key_Char = '3'; break;
case 0x6B: Key_Char = '4'; break;
case 0x73: Key_Char = '5'; break;
case 0x74: Key_Char = '6'; break;
case 0x6c: Key_Char = '7'; break;
case 0x75: Key_Char = '8'; break;
case 0x7d: Key_Char = '9'; break;
case 0x79: Key_Char = '+'; break;
case 0x7b: Key_Char = '-'; break;
case 0x7c: Key_Char = '*'; break;
case 0x4a: Key_Char = '/'; break;
case 0x71: Key_Char = '.'; break;
case 0x66: Key_Char = 'b'; break;
case 0x77: Key_Char = 'n'; break;
case 0x5a: Key_Char = 'e'; break;
default : break;
}
}
/*******************************************************************************************************
** Function name: Ps2_SendKey
** Descriptions: 将转换后的键值发给串口
********************************************************************************************************/
void Ps2_SendKey(void)
{
if(Cc>0)
{
if((Key_Char!=0)&&(Key_Char!=0xF0)&&(PreKey_Char!=0xF0)) //add
{
UART_SendChar(Key_Char);
Key_Char = 0;
PreKey_Char = 0;
}
if((Key_Flag == 0)&&(PreKey_Flag == 1))
{
UART_SendChar('x');
}
Cc--;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -