Keys.def 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. DEFINITION MODULE Keys ;
  2. (* The editor's key map, loaded from a TEXT file. This is the other half of
  3. what TINST configures: TINST patches TURBO.COM's editor command table; this
  4. port reads TP3.KEY.
  5. FILE FORMAT - one NAME=value per line, ';' comments, values decoded by
  6. TermCfg.ParseValue (\e, \r, \n, \t, \\, ^X). Each value must be exactly ONE
  7. byte. Names are case-insensitive; unknown names are ignored.
  8. QUIT=^Q
  9. PREFIX=^K
  10. WORDLEFT=^A
  11. ...
  12. A missing file leaves the defaults, which are exactly the keys the editor
  13. used before there was a key file. *)
  14. TYPE
  15. Map = RECORD
  16. quit : CHAR ;
  17. cancel : CHAR ; (* ^U *)
  18. prefix : CHAR ; (* Ctrl-K *)
  19. literal : CHAR ; (* Ctrl-P: insert the next key literally *)
  20. wordLeft : CHAR ;
  21. charLeft : CHAR ;
  22. charRight : CHAR ;
  23. wordRight : CHAR ;
  24. lineUp : CHAR ;
  25. lineDown : CHAR ;
  26. scrollUp : CHAR ;
  27. scrollDown : CHAR ;
  28. pageUp : CHAR ;
  29. pageDown : CHAR ;
  30. insertToggle: CHAR ;
  31. deleteChar : CHAR ;
  32. deleteLeft : CHAR ;
  33. deleteWord : CHAR ;
  34. insertBreak : CHAR ;
  35. deleteLine : CHAR ;
  36. repeatLast : CHAR ;
  37. autoTab : CHAR ;
  38. newLine : CHAR ;
  39. END ;
  40. PROCEDURE Default (VAR m : Map) ;
  41. PROCEDURE Load (path : ARRAY OF CHAR ; VAR m : Map ; VAR ok : BOOLEAN) ;
  42. (* Default(m), then every NAME=value in path. ok is FALSE if the file could
  43. not be opened or a value is not exactly one byte. *)
  44. END Keys.