anchor.diff:      result := '';
       c := Chr(AKey and $ff);
       case c of
  -      #13:  Result := Result + 'Enter';
  -      #127: Result := Result + 'Del';
  -      '+':  Result := Result + 'Plus'
  +      #13:  Result := Result + rsKeyEnter;
  +      #127: Result := Result + rsKeyDel;
         else
           Result := Result + c;
       end;
  
positive.code:     keyPause:         s := 'Pause';
      keySysRq:         s := 'SysRq';
      keyModeSwitch:    s := 'ModeSw';
      keyUp:            s := 'Up';
      keyDown:          s := 'Down';
      keyLeft:          s := 'Left';
      keyRight:         s := 'Right';
      keyPrior:         s := 'PgUp';
      keyNext:          s := 'PgDown';
      keyHome:          s := 'Home';
      keyEnd:           s := 'End';
      keyF0..keyF64:    s := 'F' + IntToStr(AKey - keyF0);
      keyP0..keyP9:     s := 'KP' + Chr(AKey - keyP0 + Ord('0'));
      keyPA..keyPF:     s := 'KP' + Chr(AKey - keyPA + Ord('A'));
  
negative.code: 
    { The order of these three are imprortant - don't change them }
    if ssCtrl in AShiftState then
      Result := Result + rsKeyCtrl;
    if ssAlt in AShiftState then
      Result := Result + rsKeyAlt;
    if ssShift in AShiftState then
      Result := Result + rsKeyShift;
    if ssMeta in AShiftState then
      Result := Result + rskeyMeta;
  
    if (AKey > Ord(' ')) and (AKey < 255) then
    begin
  