if(key()=="?" % keydownlist()==[32],
  if(!isreal(NumTyped),NumTyped=0);
  if(NumTyped==0,
    DispStr=
     "Figure(1) Parent(2) Parapara(3) Movie(4) Surf(5)";
  );
  if(NumTyped==1,
    DispStr=
     "Shift+ Title(T) Para(P) AniF(A) Slide(S) Digest(D)";
  );
  if(NumTyped==2,
    DispStr="Shift+ Meshlab(M) KeTCindyJS(J)";
  );
  if(NumTyped==3,
    DispStr=
     "Ch : disp(0) chg(9) N(+,-) add(<) rmv(>)";
  );
  drawtext(mouse().xy,DispStr,size->24);
  NumTyped=mod(NumTyped+1,4);
,
  NumTyped=0;  
);
if(key()=="1",//Mkfigure
  Viewtex();
  kc();
);
if(key()=="2",//Mkparent
  Viewparent();
);
if(key()=="3",//Flipbook(Parapara)
  Flipbook();
);
if(key()=="4",//Texmovie
  Texmovie();
  kc();
);
if(key()=="5",//Surface
  Cheader();
  Cmain();
  kcC();
  if(ChNum>0,
    Ch=[ChNum];
  ,
    Ch=[1];
  );
  ChNum=0;
);
if(key()=="T",//Title
  Maketitle();
);
if(key()=="P",//ParaF
  Parafolder();
);
if(key()=="A",//Animatefile
  Animatefile();
);
if(key()=="S",//Slide 
  Mkslides();
);
if(key()=="D",//Digest(Summary)
  Mkslidesummary();
);
if(key()=="M",//Meshlab
  Mkviewobj(OCNAME,OBJCMD,OCOPTION);
);
if(key()=="J",//KeTCindyJS
  Mkketcindyjs();
);

if(key()=="0",
  Dispchoice();
);
if(key()=="9",
  if(length(Ch)==0,
    Ch=[ChNum];
  ,
    if(!contains(Ch,ChNum),
      Ch=append(Ch,ChNum);
      ChNum=Ch_(length(Ch)-1);
      Ch=remove(Ch,[ChNum]);
      Ch=sort(Ch);
    );
  );
  Dispchoice();
);
if(key()=="+",
  ChNum=ChNum+1;
  Dispchoice();
);
if(key()=="-",
  ChNum=ChNum-1;
  Dispchoice();
);
if(key()=="<",
  if(length(select(Ch,#==ChNum))==0,
    Ch=append(Ch,ChNum);
    Ch=sort(Ch);
    ChNum=ChNum+1;
  );
  Dispchoice();
);
if(key()=="^",
  if(length(Ch)==0,
    Ch=[ChNum];
  ,
    if(!contains(Ch,ChNum),
      Ch=Ch_(1..(length(Ch)-1));
      Ch=append(Ch,ChNum);
      Ch=sort(Ch);
    );
  );
  ChNum=ChNum+1;
  Dispchoice();
);
if(key()=="~",
  if(length(Ch)==0,
    Ch=[ChNum];
  ,
    if(!contains(Ch,ChNum),
      Ch=Ch_(1..(length(Ch)-1));
      Ch=append(Ch,ChNum);
      Ch=sort(Ch);
    );
  );
  ChNum=max(ChNum-1,1);
  Dispchoice();
);
if(key()==">",
  if(length(Ch)>0,
    ChNum=Ch_(length(Ch));
    Ch=Remove(Ch,[ChNum]);
  );
  Dispchoice();
);
