anchor.diff:      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);
  
positive.code:   Result := GetFilename(FTouchLayoutFilename);
  end;
  
  function TKeyboardProjectTemplate.HasKMX: Boolean;
  begin
    Result := (KMXKeymanTargets+[ktAny]) * FTargets <> [];
  
negative.code: function TKeyboardProjectTemplate.HasTouchLayout: Boolean;
  begin
    Result := (TouchKeymanTargets+[ktAny]) * FTargets <> [];
  end;
  
  procedure TKeyboardProjectTemplate.WriteDocumentation;
  