anchor.diff:  procedure TfmKeys.bClear1Click(Sender: TObject);
   begin
     Keys1.Clear;
  -  DoUpdate;
  +  UpdateState;
   end;
   
   procedure TfmKeys.bClear2Click(Sender: TObject);
   begin
     Keys2.Clear;
  -  DoUpdate;
  +  UpdateState;
   end;
   
   procedure TfmKeys.bSet1Click(Sender: TObject);
   begin
     Keys1.Clear;
  -  DoAddKey(Keys1);
  -  DoUpdate;
  +  AddHotkey(Keys1);
  +  UpdateState;
   end;
   
   procedure TfmKeys.bSet2Click(Sender: TObject);
   begin
     Keys2.Clear;
  -  DoAddKey(Keys2);
  -  DoUpdate;
  +  AddHotkey(Keys2);
  +  UpdateState;
   end;
   
   procedure TfmKeys.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
  
positive.code: 
  procedure TfmKeys.bAdd1Click(Sender: TObject);
  begin
    DoAddKey(Keys1);
    DoUpdate;
  end;
  
  procedure TfmKeys.bAdd2Click(Sender: TObject);
  begin
    DoAddKey(Keys2);
    DoUpdate;
  end;
  
  procedure TfmKeys.DoAddKey(var K: TATKeyArray);
  var
    newkey, index, i: integer;
  begin
  
negative.code:   private
      { private declarations }
      FKeyPressed: integer;
      procedure UpdateState;
      procedure AddHotkey(var K: TATKeyArray);
      function GetHotkey: integer;
      procedure Localize;
    public
  