📄 keyboard.c
字号:
/*
keyboard.c file
Created by Computer-lov. Date: 2005.5.31
Last edited date:2005.5.31
Copyright (c) 2005 Computer-lov
version 1.0
All rigths reserved
欢迎访问我的blog: http://computer00.21ic.org
*/
#include "keyboard.h"
unsigned char key,key_old,key_new,key_pressed_time;
void scan_keyboard(void) //键盘扫描
{
if(key)return;
if((KEY_INPUT & KEY_PIN)==KEY_PIN) //按键释放
{
if(!key_old) //如果上次无按键按下
{
return; //返回
}
else //如果上次有按键按下
{
if(key_pressed_time>100) //按键时间超过一秒,长按键码
{
// key=key_old+0x80; //长按键码等于普通按键码加0x80
}
else if(key_pressed_time>1)
{
key=key_old; //按键值
}
key_old=0;
}
return;
}
else //按键按下
{
key_new=0;
if(FUNCTION_KEY)key_new=KEY_FUNCTION; //MENU键按下
if(DOWN_KEY)key_new=KEY_DOWN; //DOWN键按下
if(UP_KEY)key_new=KEY_UP; //UP键按下
if(key_new==key_old) //如果按键按下长于10ms
{
if(key_pressed_time>80) //如果按键按下超过1s
{
key_pressed_time-=5; //则自动按键。相当于每隔50ms按一次
key=key_new;
return;
}
else
{
key_pressed_time++; //按键按下计时加一
}
}
else
{
key_pressed_time=0; //如果本次按下跟上次按下不一样,则按键按下时间清零
}
key_old=key_new; //保存本次按键值
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -