code: function(ca,max_obj){
  		var cursor = this.cursor;
  		if(ca==='shift'){ cursor.chtarget(); return;}
  
  		var piece = cursor.getobj(); /* cell or excell */
  		var target = cursor.detectTarget(piece);
  		if(target===0 || (piece.group==='cell' && piece.is51cell())){
  			if(ca==='q' && !piece.isnull){
  				if(!piece.is51cell()){ piece.set51cell();}
  				else                 { piece.remove51cell();}
  				cursor.drawaround();
  				return;
  			}
  		}
  		if(target===0){ return;}
  
  		var def = this.klass.Cell.prototype[(target===piece.RT?'qnum':'qnum2')];
  		var max = piece.getmaxnum(), val=def;
  
  		if('0'<=ca && ca<='9'){
  			var num=+ca, cur=this.getnum51(piece,target);
  			if(cur<=0 || cur*10+num>max || this.prev!==piece){ cur=0;}
  			val = cur*10+num;
  			if(val>max){ return;}
  		}
  		else if(ca==='-' || ca===' '){ val=def;}
  		else{ return;}
  
  		this.setnum51(piece,target,val);
  		this.prev = piece;
  		cursor.draw();
  	}
docs: --------------------------------------------------------------------------- kc.inputnumber51()  [＼]の数字等を入力する kc.setnum51()      モード別に数字を設定する kc.getnum51()      モード別に数字を取得する ---------------------------------------------------------------------------