📄 kbd.c
字号:
/*
*******************************************************************************
* file name: rtc.c
* description: rtc driver
* author: xzChen(chxzh123@163.com)
* QQ / msn: 36725175 / chxzh123@hotmail.com
*******************************************************************************
*/
#ifndef __KBD_C__
#define __KBD_C__
#include "Includes.h"
U32 KeyMask[12] =
{
0x00000001,0x00000002,0x00000004,0x00000008,
0x00000010,0x00000020,0x00000040,0x00000080,
0x00000100,0x00000200,0x00000400,0x00000800,
// 0x00001000,0x00002000,0x00004000,0x00008000,
// 0x00010000,0x00020000,0x00040000,0x00080000,
// 0x00100000,0x00200000,0x00400000,0x00800000,
// 0x01000000,0x02000000,0x04000000,0x08000000,
// 0x10000000,0x20000000,0x40000000,0x80000000,
};
void kbd_scan(void)
{
U32 i;
KeyState = 0;
for (i=0; i<KEY_NUMMBER; i++)
{
if ((rGPJDAT & KeyMask[i]) == 0x00000000)
{
if(KeyDelay[i] < KEYSCANDELAY)
KeyDelay[i]++;
else
{
KeyState |= KeyMask[i];
KeyDelay[i] = 0;
}
}
}
}
void kbd_read(void)
{
switch (KeyState)
{
case 0x00000001:
KeyData = VK_F1;
break;
case 0x00000002:
KeyData = VK_F2;
break;
case 0x00000004:
KeyData = VK_F3;
break;
case 0x00000008:
KeyData = VK_F4;
break;
case 0x00000010:
KeyData = VK_F5;
break;
case 0x00000020:
KeyData = VK_F6;
break;
case 0x00000040:
KeyData = VK_F7;
break;
case 0x00000080:
KeyData = VK_F8;
break;
case 0x00000100:
KeyData = VK_F9;
break;
case 0x00000200:
KeyData = VK_F10;
break;
case 0x00000400:
KeyData = VK_F11;
break;
case 0x00000800:
KeyData = VK_F12;
break;
default:
break;
}
}
void kbd_app(void)
{
kbd_read();
switch (KeyData)
{
case VK_F1:
UartPutStr(SHL_PRT,"VK_F1\r\n");
break;
case VK_F2:
UartPutStr(SHL_PRT,"VK_F2\r\n");
break;
case VK_F3:
UartPutStr(SHL_PRT,"VK_F3\r\n");
break;
case VK_F4:
UartPutStr(SHL_PRT,"VK_F4\r\n");
break;
case VK_F5:
UartPutStr(SHL_PRT,"VK_F5\r\n");
break;
case VK_F6:
UartPutStr(SHL_PRT,"VK_F6\r\n");
break;
case VK_F7:
UartPutStr(SHL_PRT,"VK_F7\r\n");
break;
case VK_F8:
UartPutStr(SHL_PRT,"VK_F8\r\n");
break;
case VK_F9:
UartPutStr(SHL_PRT,"VK_F9\r\n");
break;
case VK_F10:
UartPutStr(SHL_PRT,"VK_F10\r\n");
break;
case VK_F11:
UartPutStr(SHL_PRT,"VK_F11\r\n");
break;
case VK_F12:
UartPutStr(SHL_PRT,"VK_F12\r\n");
break;
default:
break;
}
KeyData = 0;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -