anchor.diff:  end;
   
   
  -destructor TKMKeyLibrary.Destroy;
  -begin
  -  inherited;
  -end;
  -
  -
  -// Each line in .keymap file has an index and a text. Lines without index are skipped
  +// Each line in .keymap file has an index and a key value. Lines without index are skipped
   procedure TKMKeyLibrary.LoadKeymapFile;
   var
     I: Integer;
  
positive.code:     116, 49,  50,  51,  52,  53,  54
    );
  
    KEY_FUNC_TX: array [0..KEYMAP_COUNT-1] of Word = (
      TX_KEY_FUNC_SCROLL_LEFT, TX_KEY_FUNC_SCROLL_RIGHT, TX_KEY_FUNC_SCROLL_UP, TX_KEY_FUNC_SCROLL_DOWN, TX_KEY_FUNC_MENU_BUILD,
      TX_KEY_FUNC_MENU_RATIO, TX_KEY_FUNC_MENU_STATS, TX_KEY_FUNC_MENU_MAIN, TX_KEY_FUNC_HALT, TX_KEY_FUNC_SPLIT,
  
negative.code:     procedure SetFuncs(aIndex: Word; aValue: TKMFuncInfo);
    public
      constructor Create;
      function GetKeyName(aKey: Word): string;
      function GetKeyNameById(aId: Word): string;
      function GetFunctionNameById(aId: Integer): string;
      function AllowKeySet(Area: TKMKeyArea; Key: Word): Boolean; 
      property Count: Integer read fCount;
      property Funcs[aIndex: Word]: TKMFuncInfo read GetFuncs write SetFuncs; default;
      procedure LoadKeymapFile;
      procedure ResetKeymap;
      procedure SaveKeymap;
    end;
  
  
  var
    // All Keys accessible from everywhere
    gResKeys: TKMKeyLibrary;
  
  
  