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

📄 kbd.c

📁 2440超级bios(ads1.2 rvds2.2)通用
💻 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 + -