anchor.diff:      if focus = ed then
         begin
   	focus := tg; keymap := km_tg; kvm.HideCursor;
  +      end
  +    else if focus = tg then
  +      begin
  +	focus := mb; keymap := km_mb; kvm.ShowCursor;
         end
       else
         begin
  
positive.code: procedure TMinApp.keys(km : ukm.TKeyMap);
    begin
      km_tg := ukm.TKeyMap.Create(self);
      km_tg.cmd[ ^P ] := cur.Prev;
      km_tg.cmd[ ^N ] := cur.Next;
      km_tg.cmd['p'] := cur.Prev;
      km_tg.cmd['n'] := cur.Next;
      km_tg.cmd['['] := cur.ToTop;
      km_tg.cmd[']'] := cur.ToEnd;
      km_tg.cmd[ ^C ] := self.Quit;
      km_tg.cmd[ ^I ] := self.OnToggle;
      km_tg.cmd[ ^T ] := self.ChooseType;
      km_tg.cmd[ ^O ] := self.OtherWindow;
      km_tg.cmd[ ^G ] := self.ChoosePage;
      km_tg.cmd[ ^L ] := self.Draw;
      //  clean up keyboard focus handling!!
      km_ed := km;
      ed.AddDefaultKeys( km_ed );
      km_ed.cmd[ ^C ] := self.Quit;
      km_ed.cmd[ ^L ] := self.Draw;
      km_ed.cmd[ ^O ] := self.OtherWindow;
      km_ed.cmd[ ^G ] := self.ChoosePage;
      km_ed.cmd[ ^S ] := self.SavePage;
      self.focus := ed;
    end;
  
  procedure TMinApp.step;
    begin
  
negative.code:       pageMenu : udv.TDBMenu;
        rsOutln  : udb.TRecordSet;
        focus : utv.TView;
        km_ed, km_tg, km_mb : ukm.TKeyMap;
      public
        procedure Init; override;
        procedure Step; override;
  