📄 key.c
字号:
//#include "..\demo\def.h"
void key_init()
{
enable_interrupts(GLOBAL);
enable_interrupts(INT_RB);
input(key1);
input(key2);
input(key3);
input(key4);
}
//==============================================
int8 get_key()
{
key_init();
if(bit_key_prss)
{
keyval = keyval>>4;
keyval &= 0x0f;
bit_key_prss = 0;
}
else
{
keyval = 0xff;
}
return(keyval);
}
//==============================================
void Test_key()
{
bit_key_prss = 0;
puts("please press a key in board.ESC to escape\n");
key_init();
while(TRUE)
{
if(bit_key_prss)
{
keyval = keyval>>4;
keyval &= 0x0f;
switch(keyval)
{
case 0x07:
printf("key1 pressed\n");
break;
case 0x0b:
printf("key2 pressed\n");
break;
case 0x0d:
printf("key3 pressed\n");
break;
case 0x0e:
printf("key4 pressed\n");
break;
default:
break;
}
// while((input_b() & 0xf0) != 0xf0);
bit_key_prss = 0;
// enable_interrupts(int_rb);
}
if(kbhit())
{
if(getc()==ESC_KEY)
{
disable_interrupts(GLOBAL);
disable_interrupts(INT_RB);
return;
}
}
}
}
#int_rb
void service_rb()
{
if(bit_key_prss)
return;
keyval = input_b();
keyval &= 0xf0;
if(keyval == 0xf0)
return;
bit_key_prss = 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -