anchor.diff:  function TKeyboardProjectTemplate.HasTouchLayout: Boolean;
   begin
     Result := (TouchKeymanTargets+[ktAny]) * FTargets <> [];
  -end;
  -
  -function TKeyboardProjectTemplate.HasIcon: Boolean;
  -begin
  -  Result := (KMXKeymanTargets+[ktAny]) * FTargets <> [];
   end;
   
   procedure TKeyboardProjectTemplate.WriteDocumentation;
  
positive.code:     procedure WriteRepositoryMetadata;
      procedure WriteDocumentation;
      procedure WriteKeyboardInfo;
      function HasKMX: Boolean;
      function HasIcon: Boolean;
      procedure Transform(const SourceFile: string; DestFile: string = '');
      function DataPath: string;
      procedure SetKeyboardLanguages(kps: TkpsFile);
  
negative.code:   Result := GetFilename(FTouchLayoutFilename);
  end;
  
  function TKeyboardProjectTemplate.HasIcon: Boolean;
  begin
    Result := (KMXKeymanTargets+[ktAny]) * FTargets <> [];
  end;
  
  function TKeyboardProjectTemplate.HasKMX: Boolean;
  begin
    Result := (KMXKeymanTargets+[ktAny]) * FTargets <> [];
  