📄 keyproce.cpp
字号:
//if(_disp.disp_way==1)
marker_hardkey();
break;
case 'd':
case DISPLAY: //d
// if(_disp.disp_way==1)
display_hardkey();
break;
case 'o':
case FORMAT: //o
// if(_disp.disp_way==1)
format_hardkey();
break;
case 'y':
case SYSTEM: //y
// if(_disp.disp_way==1)
system_hardkey();
break;
default: break;
}
}
//modified by lingyi
void numberkey_process(KEY key,char counts)
{
// cursor();
char msg[2];
switch(key)
{
//entry area key
//number keys
case N0: //0
case N1: //1
case N2: //2
case N3: //3
case N4: //4
case N5: //5
case N6: //6
case N7: //7
case N8: //8
case N9: //9
// numkeys_p(key);
if(index>11)
return;
msg[1]='\0';
if(digital_en)
{
if(index==0){
if(_keyid==POWER||(_keyid==SCALE&&_softkeyid==3)||
(_keyid==MARKER&&(_softkeyid==6||(_softkeyid==7&&_softkeyid1==73&&_softkeyid2==731)))||
// (_keyid==DISPLAY&&_softkeyid==3&&((_softkeyid1==33&&_softkeyid2==331)||
// (_softkeyid1==34&&_softkeyid2==341)||
// (_softkeyid1==35&&_softkeyid2==351)||(_softkeyid1==36&&_softkeyid2==362)||(_softkeyid1==36&&_softkeyid2==363)))||
(_keyid==DISPLAY&&_softkeyid==4&&(_softkeyid2==421||_softkeyid2==432||_softkeyid2==441||_softkeyid2==442||_softkeyid2==443||_softkeyid2==444||_softkeyid2==451||_softkeyid2==452||_softkeyid2==453||_softkeyid2==454||_softkeyid2==461||_softkeyid2==462))){
x_pos=120;
if(sign==0||(_keyid==DISPLAY&&_softkeyid==4&&(_softkeyid2==421||_softkeyid2==432||_softkeyid2==441||_softkeyid2==442||_softkeyid2==443||_softkeyid2==444||_softkeyid2==451||_softkeyid2==452||_softkeyid2==453||_softkeyid2==454||_softkeyid2==461||_softkeyid2==462))){
clear_rect(118,462,449,475);
clear_rect(118,462,449,475);
}
else {
clear_rect(105,462,449,475);
clear_rect(105,462,449,475);
}
}
else{
if((_keyid==SWEEP)&&(_softkeyid==1)&&(_sweep[ch_sel].flag1==0))
{
disp_menu12((char **)sweep_t,7);
}
x_pos=107;
clear_rect(105,462,449,475);
clear_rect(105,462,449,475);
}
curs_flag=0;
}
// if(key==0x0b)
// msg[0]=0;
// else
// msg[0]=key-1;
msg[0] = key - '0';
number_keys[index]=msg[0];
msg[0]+='0';
if(_keyid==POWER||(_keyid==SCALE&&_softkeyid==3)||
(_keyid==MARKER&&(_softkeyid==6||(_softkeyid==7&&_softkeyid1==73&&_softkeyid2==731)))||
// (_keyid==DISPLAY&&_softkeyid==4&&(_softkeyid1==42||
// (_softkeyid1==43&&_softkeyid2==432)||
// (_softkeyid1==44&&_softkeyid2==441)||
// (_softkeyid1==45&&_softkeyid2==451)||
// (_softkeyid1==46&&_softkeyid2==462)))||
(_keyid==DISPLAY&&_softkeyid==4&&(_softkeyid2==421||_softkeyid2==432||_softkeyid2==441||_softkeyid2==442||_softkeyid2==443||_softkeyid2==444||_softkeyid2==451||_softkeyid2==452||_softkeyid2==453||_softkeyid2==454||_softkeyid2==461||_softkeyid2==462))
){
Outchar12(118+13*index,462,msg,TEXTDIGITAL);
Outchar12(118+13*index,462,msg,TEXTDIGITAL);
}
else{
Outchar12(105+13*index,462,msg,TEXTDIGITAL);
Outchar12(105+13*index,462,msg,TEXTDIGITAL);
}
index++;
curs_forward();
}
break;
//dot key
case NDOT: //>.
// dotkey_p();
if(!digital_en)
return;
if(_keyid==AVERAGE||_keyid==STORE||_keyid==RECALL||(_keyid==SCALE&&_softkeyid==4))
return;
msg[1]='\0';
if(index>10)
return;
for(int i=0;i<index;i++)
if(number_keys[i]==NDOT)
return;
if(index==0){
if(_keyid==POWER||(_keyid==SCALE&&_softkeyid==3)||
(_keyid==MARKER&&(_softkeyid==6||(_softkeyid==7&&_softkeyid1==73&&_softkeyid2==731)))||
// (_keyid==DISPLAY&&_softkeyid==4&&(_softkeyid1==42||
// (_softkeyid1==43&&_softkeyid2==432)||
// (_softkeyid1==44&&_softkeyid2==441)||
// (_softkeyid1==45&&_softkeyid2==451)||
// (_softkeyid1==46&&_softkeyid2==462)))||
(_keyid==DISPLAY&&_softkeyid==4&&(_softkeyid2==421||_softkeyid2==432||_softkeyid2==442||_softkeyid2==443||_softkeyid2==444||_softkeyid2==452||_softkeyid2==453||_softkeyid2==454||_softkeyid2==461||_softkeyid2==462))
){
x_pos=120;
clear_rect(118,462,449,475);
clear_rect(118,462,449,475);
}
else{
x_pos=107;
clear_rect(105,462,449,475);
clear_rect(105,462,449,475);
}
curs_flag=0;
}
curs_forward();
number_keys[index]=NDOT;
msg[0]='.';
if(_keyid==POWER||(_keyid==SCALE&&_softkeyid==3)||
(_keyid==MARKER&&(_softkeyid==6||(_softkeyid==7&&_softkeyid1==73&&_softkeyid2==731)))||
(_keyid==DISPLAY&&_softkeyid==4&&(_softkeyid2==421||_softkeyid2==432||_softkeyid2==441||_softkeyid2==442||_softkeyid2==443||_softkeyid2==444||_softkeyid2==451||_softkeyid2==452||_softkeyid2==453||_softkeyid2==454||_softkeyid2==461||_softkeyid2==462))
){
Outchar12(118+13*index,462,msg,TEXTDIGITAL);
Outchar12(118+13*index,462,msg,TEXTDIGITAL);
}
else{
Outchar12(105+13*index,462,msg,TEXTDIGITAL);
Outchar12(105+13*index,462,msg,TEXTDIGITAL);
}
index++;
break;
//frequency unit keys
case HZ:
case KHZ:
case MHZ:
// freq_unitkey_p(key);
if(key==HZ){
num_unit=HZ;
}
else if(key==KHZ){
num_unit=KHZ;
}
else if(key==MHZ){
num_unit=MHZ;
}
else
return;
if(index>0&&_keyid==FREQ)
set_freq();
else if(index>0&&_keyid==MARKER)
set_marker();
else if(index>0&&_keyid==DISPLAY)
set_disp();
break;
//power unit keys
case MV:
case DBM:
// pow_unitkey_p(key);
if(index>0&&(_keyid==POWER||(_keyid==SCALE&&_softkeyid==3&&_chab[ch_sel].flag==1))){
if(key==MV){
num_unit=MV;
}
else if(key==DBM){
num_unit=DBM;
}
else
return;
if(_keyid==POWER)
set_power();
else if(_keyid==SCALE)
set_scale();
}
break;
//backspace key
case CLR: //backspace
/// clrkey_p();
if(index>0){
index--;
if(_keyid==POWER||(_keyid==SCALE&&_softkeyid==3)||
(_keyid==MARKER&&(_softkeyid==6||(_softkeyid==7&&_softkeyid1==73&&_softkeyid2==731)))||
(_keyid==DISPLAY&&_softkeyid==4&&(_softkeyid1==42||
(_softkeyid1==43&&_softkeyid2==432)||
(_softkeyid1==44&&_softkeyid2==441)||
(_softkeyid1==45&&_softkeyid2==451)||
(_softkeyid1==46&&(_softkeyid2==461||_softkeyid2==462)))) ){
clear_rect(117+13*index,462,130+13*index,475);
clear_rect(117+13*index,462,130+13*index,475);
}
else{
clear_rect(105+13*index,462,118+13*index,475);
clear_rect(105+13*index,462,118+13*index,475);
}
curs_backward();
}
break;
case MINUS:
/// minuskey_p();
if(_keyid==POWER||(_keyid==SCALE&&_softkeyid==3)||
(_keyid==MARKER&&(_softkeyid==6||(_softkeyid==7&&_softkeyid1==73&&_softkeyid2==731)))||
(_keyid==DISPLAY&&_softkeyid==4&&((_softkeyid1==44&&_softkeyid2==441)||
(_softkeyid1==45&&_softkeyid2==451)||
(_softkeyid1==46&&_softkeyid2==462))) ){
if(index==0){
clear_rect(105,462,449,475);
clear_rect(105,462,449,475);
x_pos=120;
}
if(sign==1){
sign=0;
disable();
setcolor(TEXTDIGITAL);
outtextxy(107,465,"-");
outtextxy(107,465,"-");
enable();
}
else{
sign=1;
clear_rect(105,462,118,475);
clear_rect(105,462,118,475);
}
curs_flag=0;
cursor();
}
break;
//enter key
case ENTER:
/// enterkey_p();
switch(_keyid)
{
case FREQ:
set_freq();
// init_cur_frq(_freq[ch_sel].start_freq);
break;
case POWER:
set_power();
break;
case SWEEP:
break;
case SCALE:
set_scale();
break;
case MARKER:
set_marker();
break;
case SYSTEM:
set_system();
break;
case AVERAGE:
set_avg_times();
break;
case STORE:
break;
case RECALL:
break;
case DISPLAY:
set_disp();
default:
break;
}
break;
//others key
case LR_R: //-->
case UP: //UP
// upkey_p();
// break;
case LR_L: //<--
case DOWN: //DOWN
// downkey_p(key);
updownkey_p(key,counts);
break;
case CURSOR:
curskey_p();
break;
default: break;
}
}
void softkey_process(KEY key)
{
switch(_keyid)
{
case MEASURE: //u
measure_softkey(key);
break;
case STORE: //r
store_softkey(key);
break;
case VERIFY: //v
verify_softkey(key);
break;
case AVERAGE: //g
average_softkey(key);
break;
case CHA: //a
chab_softkey(key);
break;
case CHB: //b
chab_softkey(key);
break;
case 'f':
case FREQ: //f
freq_softkey(key);
break;
case 'p':
case POWER: //p
power_softkey(key);
break;
case SWEEP: //s
sweep_softkey(key);
break;
case RECALL: //t
recall_softkey(key);
break;
case SCALE: //l
scale_softkey(key);
break;
case MARKER: //m
marker_softkey(key);
break;
case DISPLAY: //d
display_softkey(key);
break;
case FORMAT: //o
format_softkey(key);
break;
case SYSTEM: //y
system_softkey(key);
break;
default: break;
}
}
void send_ch(BYTE* p,int len)
{
assert(p != NULL && len > 50);
for(int i=0;i<len;i++)
{
while((inportb(0x2fd) & 0x40) == 0);
outportb(0x2f8,*p++);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -