if (Event.SourceType=="TELEMETRY_EXT" && Event.Action=="KEY_RELEASED") { if (Event.GetParam("guid_pk") !="") { var slave=GetObjectParentId("TELEMETRY_CARD",Event.GetParam("parent_id"),"SLAVE"); var key=Event.GetParam("param0"); key=parseInt(key); if (key>46 && key<58) { DoReactStr("TELEMETRY_EXT",Event.SourceId,"CLEAR_DISPLAY","display<1>"); Var_var(Event.SourceId+"cam")+=key-48; DoReactStr("TELEMETRY_EXT",Event.SourceId,"PRINT_TEXT","display<1>,x<1>,y<1>,text<"+Var_var(Event.SourceId+"cam")+">,charset<>,style<>"); } switch(key){ case 1: DoReactStr("MONITOR",Itv_var(Event.SourceId+"mon"),"KEY_PRESSED","key,__slave_id<"+slave+">"); break; case 2: DoReactStr("MONITOR",Itv_var(Event.SourceId+"mon"),"KEY_PRESSED","key,__slave_id<"+slave+">"); break; case 3: DoReactStr("MONITOR",Itv_var(Event.SourceId+"mon"),"KEY_PRESSED","key,__slave_id<"+slave+">"); break; case 4: DoReactStr("MONITOR",Itv_var(Event.SourceId+"mon"),"KEY_PRESSED","key,__slave_id<"+slave+">"); break; case 5: DoReactStr("MONITOR",Itv_var(Event.SourceId+"mon"),"KEY_PRESSED","key,__slave_id<"+slave+">"); break; case 6: DoReactStr("MONITOR",Itv_var(Event.SourceId+"mon"),"KEY_PRESSED","key,__slave_id<"+slave+">"); break; case 7: DoReactStr("MONITOR",Itv_var(Event.SourceId+"mon"),"KEY_PRESSED","key,__slave_id<"+slave+">"); break; case 8: DoReactStr("MONITOR",Itv_var(Event.SourceId+"mon"),"EXPORT_FRAME","cam<"+Itv_var(Event.SourceId+"cam")+">,__slave_id<"+slave+">"); break; case 9: DoReactStr("MONITOR",Itv_var(Event.SourceId+"mon"),"KEY_PRESSED","key,__slave_id<"+slave+">"); break; case 10: DoReactStr("MACRO","2","RUN",""); break; case 11: DoReactStr("MACRO","3","RUN",""); break; case 12: DoReactStr("MONITOR",Itv_var(Event.SourceId+"mon"),"KEY_PRESSED","key,__slave_id<"+slave+">"); break; case 13: DoReactStr("MONITOR",Itv_var(Event.SourceId+"mon"),"KEY_PRESSED","key,__slave_id<"+slave+">"); break; case 14: DoReactStr("MONITOR",Itv_var(Event.SourceId+"mon"),"KEY_PRESSED","key,__slave_id<"+slave+">"); break; case 32: //Mon - set monitor id Itv_var(Event.SourceId+"mon")=Var_var(Event.SourceId+"cam"); Var_var(Event.SourceId+"cam")=""; ShowDisplay(); break; case 37: //alarm - draw menu DoReactStr("MACRO","1","RUN",""); break; case 38: //Enter - set camera id Itv_var(Event.SourceId+"cam")=Var_var(Event.SourceId+"cam"); Var_var(Event.SourceId+"cam")=""; DoReactStr("MONITOR",Itv_var(Event.SourceId+"mon"),"ACTIVATE_CAM","cam<"+Itv_var(Event.SourceId+"cam")+">,__slave_id<"+slave+">"); ShowDisplay(); break; case 39: //Shot - go_preset DoReactStr("TELEMETRY",GetPTZdevice(Itv_var(Event.SourceId+"cam")),"GO_PRESET","preset<"+Var_var(Event.SourceId+"cam")+">,tel_prior<3>"); Itv_var(Event.SourceId+"pre")=Var_var(Event.SourceId+"cam"); ShowDisplay(); Var_var(Event.SourceId+"cam")=""; break; } DebugLogString("Slave:"+slave+" Mon:"+Itv_var(Event.SourceId+"mon")+" Cam:"+Itv_var(Event.SourceId+"cam")); } } function ShowDisplay(){ DoReactStr("TELEMETRY_EXT",Event.SourceId,"PRINT_TEXT","display<1>,x<1>,y<1>,text,charset<>,style<>"); DoReactStr("TELEMETRY_EXT",Event.SourceId,"PRINT_TEXT","display<1>,x<1>,y<10>,text,charset<>,style<>"); DoReactStr("TELEMETRY_EXT",Event.SourceId,"PRINT_TEXT","display<1>,x<1>,y<20>,text,charset<>,style<>"); } function GetPTZdevice(camId){ if (Var_var("PTZ_" + camId) == ""){ var re = /id\.[0-9]+<(.+?)>/g; var sObjId = GetObjectIds("TELEMETRY"); var Id; while (Id = re.exec(sObjId)) { if (GetObjectParam("TELEMETRY",Id[1],"cam") == camId) { Lock(); Var_var("PTZ_" + camId) = Id[1]; Unlock(); return Id[1]; } } } else{ return Var_var("PTZ_" + camId); } }