📄 test02.c
字号:
else if(scan_code==0x10){ // WWW Search make, E0-10
mm_key0=0x21;
mm_key1=0x2;
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 0;
}
else if(scan_code==0x18){ // WWW Favorite make, E0-18
mm_key0=0x23;
mm_key1=0x2;
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 0;
}
else if(scan_code==0x3A){ // WWW Home make, E0-3A
mm_key0=0x23;
mm_key1=0x2;
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 0;
}
else if(scan_code==0x48){ // Mail reader make, E0-48
mm_key0=0x8A;
mm_key1=0x1;
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 0;
}
else if(scan_code==0x23){ // Mute make, E0-23
mm_key0=0xE0;
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 0;
}
else if(scan_code==0x21){ // Volume- make, E0-21
mm_key0=0xE8;
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 0;
}
else if(scan_code==0x32){ // Volume+ make, E0-32
mm_key0=0xE9;
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 0;
}
else if(scan_code==0x34){ // play/pause make, E0-34
mm_key0=0xCD;
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 0;
}
else if(scan_code==0x3B){ // Stop make, E0-3B
mm_key0=0xB7;
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 0;
}
else if(scan_code==0x15){ // Pre Track make, E0-15
mm_key0=0xB6;
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 0;
}
else if(scan_code==0x4D){ // Next Track make, E0-4D
mm_key0 = 0xB5;
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 0;
}
else if(scan_code==0x50){ // Media Select make, E0-50
mm_key0=0x9B;
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 0;
}
else if(scan_code==0x40){ // MyComputer make, E0-40
mm_key0=0x94;
mm_key1=0x1;
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 0;
}
else if(scan_code==0x2B){ // calculator make, E0-2B
mm_key0=0x92;
mm_key1=0x1;
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 0;
}
//=== SYSTEM KEYBOARD ===//
else if(scan_code==0x37){ // POWER make, E0-37
power_make = 1;
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 0;
}
else if(scan_code==0x3F){ // SLEEP make, E0-3F
sleep_make = 1;
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 0;
}
else if(scan_code==0x5E){ // WAKEUP make, E0-5E
wakeup_make = 1;
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 0;
}
//=============================//
else if(scan_code==0x4A){ // (/) make, E0-4A
//
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 84;
}
else if(scan_code==0x5A){ // (Enter) make, E0-5A
//
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return 88;
}
else if(scan_code<=0x69 & scan_code>=0x7D){
//
switch (scan_code){
case 0x70:{
// INS make
key=73;
break;
}
case 0x71:{
// DEL make
key=76;
break;
}
case 0x6B:{
// Left-arrow make
key=80;
}
case 0x6C:{
// Home make
key=74;
break;
}
case 0x69:{
// End make
key=77;
break;
}
case 0x75:{
// Up make
key=82;
break;
}
case 0x72:{
// Down make
key=81;
break;
}
case 0x7D:{
// Page-up make
key=75;
break;
}
case 0x7A:{
// Page-down make
key=78;
break;
}
case 0x74:{
// Right-Arrow make
key=79;
break;
}
default:{
// error
rd_kb_ptr=rx_kb_ptr;
return 0;
}
} //switch
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return key;
}
else if(scan_code==0x12){ //E0-12
//
scan_code=get_next_scan_code();
if(scan_code==0xE0){//E0-12-E0
//
scan_code=get_next_scan_code();
switch(scan_code){
case 0x7C:{ //Print make, E0-12-E0-7C
//
key=70;
break;
}
case 0x70:{ // numlock + INS make
//
key=73;
break;
}
case 0x71:{
// DEL make
key=76;
break;
}
case 0x6B:{
// Left-arrow make
key=80;
break;
}
case 0x6C:{
// Home make
key=74;
break;
}
case 0x69:{
// End make
key=77;
break;
}
case 0x75:{
// Up make
key=82;
break;
}
case 0x72:{
// Down make
key=81;
break;
}
case 0x7D:{
// Page-up make
key=75;
break;
}
case 0x7A:{
// Page-down make
key=78;
break;
}
case 0x74:{
// Right-Arrow make
key=79;
break;
}
default:{ //error
rd_kb_ptr=rx_kb_ptr;
return 0;
}
}//switch
rd_kb_ptr++;
if(rd_kb_ptr >= KB_BUF_MAX_LEN) rd_kb_ptr = 0;
return key;
} //E0
} //12
else {
//error
rd_kb_ptr=rx_kb_ptr;
return 0;
}
} //E0
else {
switch (scan_code) {
case 0x0E:{
key=53; // `
break;
}
case 0x16:{
key=30; // 1
break;
}
case 0x1E:{
key=31; // 2
break;
}
case 0x26:{
key=32; // 3
break;
}
case 0x25:{
key=33; // 4
break;
}
case 0x2E:{
key=34; // 5
break;
}
case 0x36:{
key=35; // 6
break;
}
case 0x3D:{
key=36; // 7
break;
}
case 0x3E:{
key=37; // 8
break;
}
case 0x46:{
key=38; // 9
break;
}
case 0x45:{
key=39; // 0
break;
}
case 0x4E:{
key=45; // -
break;
}
case 0x55:{
key=46; // =
break;
}
case 0x66:{
key=42; // backspace
break;
}
case 0x0D:{
key=43; // TAB
break;
}
case 0x15:{
key=20; // Q
break;
}
case 0x1D:{
key=26; // W
break;
}
case 0x24:{
key=8; // E
break;
}
case 0x2D:{
key=21; // R
break;
}
case 0x2C:{
key=23; // T
break;
}
case 0x35:{
key=28; // Y
break;
}
case 0x3C:{
key=24; // U
break;
}
case 0x43:{
key=12; // I
break;
}
case 0x44:{
key=18; // O
break;
}
case 0x4D:{
key=19; // P
break;
}
case 0x54:{
key=47; // [
break;
}
case 0x5B:{
key=48; // ]
break;
}
case 0x5D:{
key=49; // \ 101 key board only
break;
}
case 0x58:{
key=0;//key=57; // CAPS Lock
caps_make=1;
break;
}
case 0x1C:{
key=4; // A
break;
}
case 0x1B:{
key=22; // S
break;
}
case 0x23:{
key=7; // D
break;
}
case 0x2B:{
key=9; // F
break;
}
case 0x34:{
key=10; // G
break;
}
case 0x33:{
key=11; // H
break;
}
case 0x3B:{
key=13; // J
break;
}
case 0x42:{
key=14; // K
break;
}
case 0x4B:{
key=15; // L
break;
}
case 0x4C:{
key=51; // ;
break;
}
case 0x52:{
key=52; // '
break;
}
case 0x5A: {
key=40; // ENTER
break;
}
case 0x12:{
key=0;//key=0xE1; // Shift-left
left_shift_make=1;
break;
}
case 0x1A:{
key=29; // Z
break;
}
case 0x22:{
key=27; // X
break;
}
case 0x21:{
key=6; // C
break;
}
case 0x2A:{
key=25; // V
break;
}
case 0x32:{
key=5; // B
break;
}
case 0x31:{
key=17; // N
break;
}
case 0x3A:{
key=16; // M
break;
}
case 0x41:{
key=54; // ,
break;
}
case 0x49:{
key=55; // .
break;
}
case 0x4A:{
key=56; // /
break;
}
case 0x59:{
right_shift_make=1;
key=0;//key=0xE5; // Shift-right
break;
}
case 0x14:{
left_ctrl_make=1;
key=0;//key=0xE0; // CTRL-Left
break;
}
case
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -